From f2ca5a4c1265bb6b133714b7be98c8e5930f6a2f Mon Sep 17 00:00:00 2001 From: "kacaii.dev" Date: Tue, 16 Jun 2026 11:06:17 -0300 Subject: [PATCH] page/email: add custom message for 401 status error --- src/client.gleam | 12 +++++++++++- src/client/page/login.gleam | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/client.gleam b/src/client.gleam index d4ad0b5..100a9e3 100644 --- a/src/client.gleam +++ b/src/client.gleam @@ -268,7 +268,17 @@ fn handle_login_step( // on the Login page and continue execution. login.ServerFailedToAuthenticate(reason:) -> { let message = case reason { - rsvp.HttpError(resp) -> resp.body + // 401 not authorized + rsvp.HttpError(response) if response.status == 401 -> + case model.lang { + lang.BrazillianPortuguese | lang.Portuguese -> + "Email ou senha inválidos" + lang.English -> "Invalid email or password" + lang.German -> "Ungültige E-Mail-Adresse oder ungültiges Passwort" + lang.Spanish -> "Correo electrónico o contraseña incorrectos" + } + + rsvp.HttpError(response) -> response.body rsvp.NetworkError -> case model.lang { diff --git a/src/client/page/login.gleam b/src/client/page/login.gleam index 8a1a109..c152875 100644 --- a/src/client/page/login.gleam +++ b/src/client/page/login.gleam @@ -94,6 +94,7 @@ pub fn view(model: Model, lang: lang.Language) -> Element(Message) { || model.email == "" || model.password == "" || !string.contains(does: model.email, contain: "@") + || !string.contains(does: model.email, contain: ".") // Wrapper let wrapper_attributes = [ -- 2.51.2