Fix password reset feedback and UX

- Disable reset button while awaiting server response to prevent duplicate requests
- Show CHECK_YOUR_EMAIL message on success (was previously only logged, never shown)
- Show RESET_PASSWORD_FAILED message on failure instead of incorrectly showing CHECK_YOUR_EMAIL
- Re-enable the reset button only on failure so the user can try again
- Add RESET_PASSWORD_FAILED localization key in all supported languages (fr, es, pt_BR, it)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Adrien Ufferte
2026-03-03 13:07:22 +01:00
parent 679b6fa72a
commit 153c758b04
2 changed files with 7 additions and 1 deletions
+1
View File
@@ -13,6 +13,7 @@ LOG_IN,Se connecter,Ingresar,Conexão,Accedi
INVALID_EMAIL_OR_PASSWORD,Adresse mail ou mot de passe invalide,Correo electrónico o contraseña inválida,Endereço de e-mail ou senha inválidos,Email o password non validi
RESET_PASSWORD,Réinitialiser le mot de passe,Restablecer la contraseña,Redefinir senha,Reimposta password
CHECK_YOUR_EMAIL,Veuillez vérifier votre boîte mail,"Por favor, revise su correo electrónico","Por favor, verifique seu e-mail",Controlla la tua email
RESET_PASSWORD_FAILED,"Erreur lors de la réinitialisation, réessayez plus tard","Error al restablecer la contraseña, inténtelo más tarde","Erro ao redefinir a senha, tente novamente mais tarde","Errore nel reimpostare la password, riprova più tardi"
DEVICE_NUMBER,Appareil {number},Dispositivo {number},Dispositivo {number},Dispositivo {number}
EXPORT_TO_PDF,Exporter en PDF,Exportar a PDF,Exportar para PDF,Esporta in PDF
EXPORT_STUDENT_CODES,Exporter les codes des élèves,Exportar los códigos de los estudiantes,Exportar os códigos dos alunos,Esporta i codici degli studenti
1 keys fr es pt_BR it
13 INVALID_EMAIL_OR_PASSWORD Adresse mail ou mot de passe invalide Correo electrónico o contraseña inválida Endereço de e-mail ou senha inválidos Email o password non validi
14 RESET_PASSWORD Réinitialiser le mot de passe Restablecer la contraseña Redefinir senha Reimposta password
15 CHECK_YOUR_EMAIL Veuillez vérifier votre boîte mail Por favor, revise su correo electrónico Por favor, verifique seu e-mail Controlla la tua email
16 RESET_PASSWORD_FAILED Erreur lors de la réinitialisation, réessayez plus tard Error al restablecer la contraseña, inténtelo más tarde Erro ao redefinir a senha, tente novamente mais tarde Errore nel reimpostare la password, riprova più tardi
17 DEVICE_NUMBER Appareil {number} Dispositivo {number} Dispositivo {number} Dispositivo {number}
18 EXPORT_TO_PDF Exporter en PDF Exportar a PDF Exportar para PDF Esporta in PDF
19 EXPORT_STUDENT_CODES Exporter les codes des élèves Exportar los códigos de los estudiantes Exportar os códigos dos alunos Esporta i codici degli studenti
+6 -1
View File
@@ -61,9 +61,14 @@ func _on_validate_button_pressed() -> void:
func _on_reset_password_button_pressed() -> void:
Log.info("Login: Reset password requested for email %s" % email_field.text)
reset_password_button.disabled = true
var res: Dictionary = await ServerManager.reset_password(email_field.text)
if res.code != 200:
Log.warn("Login: Reset password request failed with code %d" % res.code)
login_message.text = "CHECK_YOUR_EMAIL"
login_message.text = "RESET_PASSWORD_FAILED"
login_message.show()
reset_password_button.disabled = false
else:
Log.info("Login: Reset password request accepted by server")
login_message.text = "CHECK_YOUR_EMAIL"
login_message.show()