diff --git a/client/src/client/page/login.gleam b/client/src/client/page/login.gleam index 02237b5..69e8c80 100644 --- a/client/src/client/page/login.gleam +++ b/client/src/client/page/login.gleam @@ -13,10 +13,20 @@ import shared/contract/login as contract import shared/session import shared/user/email -pub const init = Model(email: "", password: "", loading: False, message: "") +pub const init = Model( + user_email: "", + user_password: "", + loading: False, + message: "", +) pub type Model { - Model(email: String, password: String, loading: Bool, message: String) + Model( + user_email: String, + user_password: String, + loading: Bool, + message: String, + ) } pub type Msg { @@ -43,14 +53,17 @@ pub type LoginStep { pub fn update(model: Model, msg: Msg) -> LoginStep { case msg { UserTypedEmail(value:) -> - Continue(Model(..model, email: value), effect.none()) + Continue(Model(..model, user_email: value), effect.none()) UserTypedPassword(value:) -> - Continue(Model(..model, password: value), effect.none()) + Continue(Model(..model, user_password: value), effect.none()) UserClickedSubmit -> { + let email = model.user_email + let password = model.user_password + let body = - contract.RequestBody(email: model.email, password: model.password) + contract.RequestBody(email:, password:) |> contract.request_to_json let handler = @@ -84,7 +97,7 @@ fn view_form(model: Model) { card.content([], [ view_fieldset([ view_input( - value: model.email, + value: model.user_email, label: "Email", placeholder: "user@email.com", input_type: "email", @@ -92,7 +105,7 @@ fn view_form(model: Model) { ), view_input( - value: model.password, + value: model.user_password, label: "Password", placeholder: "********", input_type: "password", @@ -146,7 +159,8 @@ fn view_submit_button(model: Model) -> element.Element(Msg) { } let disabled = - email.parse(model.email) |> result.is_error() || model.password == "" + email.parse(model.user_email) |> result.is_error() + || model.user_password == "" let attributes = [ hover_style, diff --git a/client/test/client_test/page/login_test.gleam b/client/test/client_test/page/login_test.gleam index dbbdbdc..b6f78cc 100644 --- a/client/test/client_test/page/login_test.gleam +++ b/client/test/client_test/page/login_test.gleam @@ -6,23 +6,24 @@ import rsvp import shared/session pub fn login_submit_test() { - let email = "sigo@email.dev" - let password = "root" + let user_email = "sigo@email.dev" + let user_password = "root" let sequence = [ - login.UserTypedEmail(email), - login.UserTypedPassword(password), + login.UserTypedEmail(user_email), + login.UserTypedPassword(user_password), login.UserClickedSubmit, ] let #(model, _) = { use acc, msg <- list.fold(sequence, #(login.init, effect.none())) let assert login.Continue(model, _) = login.update(acc.0, msg) + #(model, effect.none()) } - assert model.email == email - assert model.password == password + assert model.user_email == user_email + assert model.user_password == user_password assert model.loading }