···105105) -> session.Session {
106106 case route {
107107 route.Login | route.Home ->
108108- session.Pending(on_success: route.Home, on_error: route)
108108+ session.Pending(on_success: route.Dashboard, on_failure: route)
109109110110 route if is_protected ->
111111- session.Pending(on_success: route, on_error: route.Login)
111111+ session.Pending(on_success: route, on_failure: route.Login)
112112113113 _ -> session.Guest
114114 }
···165165 //
166166 // If the Server successfully authenticated the User,
167167 // initialize its Session, and redirect them to the correct route.
168168- Model(session: session.Pending(on_success:, on_error: _), ..),
168168+ Model(session: session.Pending(on_success:, on_failure: _), ..),
169169 UserRestoredSession(Ok(session))
170170 -> #(
171171 Model(..model, session:, route: on_success, page: page.init(on_success)),
···174174175175 // If it fails, start the Session as a Guest and redirect
176176 // the User accordingly, usually to the Login Page.
177177- Model(session: session.Pending(on_success: _, on_error:), ..),
177177+ Model(session: session.Pending(on_success: _, on_failure:), ..),
178178 UserRestoredSession(Error(_))
179179 -> #(
180180 Model(
181181 ..model,
182182- route: on_error,
183183- page: page.init(on_error),
182182+ route: on_failure,
183183+ page: page.init(on_failure),
184184 session: session.Guest,
185185 ),
186186- modem.push(route.to_path(on_error), option.None, option.None),
186186+ modem.push(route.to_path(on_failure), option.None, option.None),
187187 )
188188189189 // User ended their Session and token has been removed.
+3-3
src/client/session.gleam
···88 Authenticated(token.Token)
99 /// ๏ User is waiting for the Server to validate their credentials
1010 /// and will be redirected on success / failure.
1111- Pending(on_success: route.Route, on_error: route.Route)
1111+ Pending(on_success: route.Route, on_failure: route.Route)
12121313 /// ๏ User is not authenticated and can only access public routes
1414 Guest
···25252626 "pending" -> {
2727 use on_success <- decode.field("on_success", route.decoder())
2828- use on_error <- decode.field("on_error", route.decoder())
2929- decode.success(Pending(on_success:, on_error:))
2828+ use on_failure <- decode.field("on_failure", route.decoder())
2929+ decode.success(Pending(on_success:, on_failure:))
3030 }
31313232 "guest" -> decode.success(Guest)
+5-5
test/client_test/session_test.gleam
···6677pub fn session_restored_success_test() -> Nil {
88 let on_success = route.Dashboard
99- let on_error = route.Login
1010- let pending_session = session.Pending(on_success:, on_error:)
99+ let on_failure = route.Login
1010+ let pending_session = session.Pending(on_success:, on_failure:)
11111212 let model = dummy.model(pending_session, route.Home)
1313 let session = dummy.session()
···23232424pub fn session_restored_failure_test() -> Nil {
2525 let on_success = route.Dashboard
2626- let on_error = route.Login
2727- let pending_session = session.Pending(on_success:, on_error:)
2626+ let on_failure = route.Login
2727+ let pending_session = session.Pending(on_success:, on_failure:)
28282929 let model = dummy.model(pending_session, route.Home)
3030 let msg = client.UserRestoredSession(Error(rsvp.NetworkError))
···3232 let #(model, _) = client.update(model, msg)
33333434 assert model.session == session.Guest as "user is now a guest"
3535- assert model.route == on_error as "user redirected"
3535+ assert model.route == on_failure as "user redirected"
36363737 Nil
3838}