From db47543252858a7635d77ef38b85a6aeddb8cab5 Mon Sep 17 00:00:00 2001 From: JulianAlcala Date: Tue, 21 Apr 2026 20:49:13 +0200 Subject: [PATCH] fix(legacy-account): show success dialog after password change --- .../change_password/presentation/change_password_screen.dart | 5 +++-- packages/sf_localizations/assets/l10n/de.json | 1 + packages/sf_localizations/assets/l10n/en.json | 1 + packages/sf_localizations/assets/l10n/es.json | 1 + packages/sf_localizations/assets/l10n/fr.json | 1 + packages/sf_localizations/assets/l10n/it.json | 1 + packages/sf_localizations/assets/l10n/pt.json | 1 + packages/sf_localizations/lib/src/generated/i18n.dart | 1 + 8 files changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/legacy/modules/account/lib/src/features/change_password/presentation/change_password_screen.dart b/modules/legacy/modules/account/lib/src/features/change_password/presentation/change_password_screen.dart index f1acf9af..c0fef8ca 100644 --- a/modules/legacy/modules/account/lib/src/features/change_password/presentation/change_password_screen.dart +++ b/modules/legacy/modules/account/lib/src/features/change_password/presentation/change_password_screen.dart @@ -57,13 +57,14 @@ class _ChangePasswordScreenState extends ConsumerState { @override Widget build(BuildContext context) { - ref.listen(changePasswordControllerProvider, (prev, next) { + ref.listen(changePasswordControllerProvider, (prev, next) async { next.showErrorOn(context); if (prev != null && prev.isLoading && !next.isLoading && !next.hasError) { - widget.navigationContract.goBack(); + await showSuccessDialog(context, I18n.passwordChangedSuccess); + if (context.mounted) widget.navigationContract.goBack(); } }); diff --git a/packages/sf_localizations/assets/l10n/de.json b/packages/sf_localizations/assets/l10n/de.json index 23281f64..9d35a9c2 100644 --- a/packages/sf_localizations/assets/l10n/de.json +++ b/packages/sf_localizations/assets/l10n/de.json @@ -55,6 +55,7 @@ "passwordNumber": "eine Zahl", "passwordSpecial": "Ein Sonderzeichen enthalten", "passwordMatch": "Passwörter stimmen überein", + "passwordChangedSuccess": "Passwort erfolgreich aktualisiert", "accept": "Akzeptieren", "errorMessageUnequalPasswords": "Passwörter stimmen nicht überein. versuchen Sie es erneut", "errorMessagePasswordTooShort": "Das Passwort muss mindestens 8 Zeichen lang sein", diff --git a/packages/sf_localizations/assets/l10n/en.json b/packages/sf_localizations/assets/l10n/en.json index 3624ff92..a33b1a4a 100755 --- a/packages/sf_localizations/assets/l10n/en.json +++ b/packages/sf_localizations/assets/l10n/en.json @@ -55,6 +55,7 @@ "passwordNumber": "One number", "passwordSpecial": "One special character", "passwordMatch": "Passwords match", + "passwordChangedSuccess": "Password updated successfully", "accept": "Accept", "errorMessageUnequalPasswords": "Passwords don't match. Try again", "errorMessagePasswordTooShort": "Password must include at least 8 characters", diff --git a/packages/sf_localizations/assets/l10n/es.json b/packages/sf_localizations/assets/l10n/es.json index c4bbdf60..40c194b5 100644 --- a/packages/sf_localizations/assets/l10n/es.json +++ b/packages/sf_localizations/assets/l10n/es.json @@ -55,6 +55,7 @@ "passwordNumber": "Un número", "passwordSpecial": "Una carácter especial", "passwordMatch": "Las contraseñas coinciden", + "passwordChangedSuccess": "Contraseña actualizada correctamente", "accept": "Aceptar", "errorMessageUnequalPasswords": "Las contraseñas no coinciden. Inténtalo de nuevo", "errorMessagePasswordTooShort": "La contraseña debe tener al menos 8 caracteres", diff --git a/packages/sf_localizations/assets/l10n/fr.json b/packages/sf_localizations/assets/l10n/fr.json index 993516e0..7257066a 100644 --- a/packages/sf_localizations/assets/l10n/fr.json +++ b/packages/sf_localizations/assets/l10n/fr.json @@ -55,6 +55,7 @@ "passwordNumber": "un numéro", "passwordSpecial": "Un caractère particulier", "passwordMatch": "Les mots de passe correspondent", + "passwordChangedSuccess": "Mot de passe mis à jour", "accept": "Accepter", "errorMessageUnequalPasswords": "Les mots de passe ne correspondent pas. essayer à nouveau", "errorMessagePasswordTooShort": "Le mot de passe doit contenir au moins 8 caractères", diff --git a/packages/sf_localizations/assets/l10n/it.json b/packages/sf_localizations/assets/l10n/it.json index 169bf131..c33795d7 100644 --- a/packages/sf_localizations/assets/l10n/it.json +++ b/packages/sf_localizations/assets/l10n/it.json @@ -55,6 +55,7 @@ "passwordNumber": "un numero", "passwordSpecial": "Un carattere speciale", "passwordMatch": "Le password corrispondono", + "passwordChangedSuccess": "Password aggiornata correttamente", "accept": "Accettare", "errorMessageUnequalPasswords": "Le password non corrispondono. riprova", "errorMessagePasswordTooShort": "La password deve contenere almeno 8 caratteri", diff --git a/packages/sf_localizations/assets/l10n/pt.json b/packages/sf_localizations/assets/l10n/pt.json index 1c645b04..7f17605f 100644 --- a/packages/sf_localizations/assets/l10n/pt.json +++ b/packages/sf_localizations/assets/l10n/pt.json @@ -55,6 +55,7 @@ "passwordNumber": "Um número", "passwordSpecial": "Um caráter especial", "passwordMatch": "As palavras-passe coincidem", + "passwordChangedSuccess": "Palavra-passe atualizada com sucesso", "accept": "Aceitar", "errorMessageUnequalPasswords": "Las contraseñas não é coincidência.", "errorMessagePasswordTooShort": "A senha deve ter pelo menos 8 caracteres", diff --git a/packages/sf_localizations/lib/src/generated/i18n.dart b/packages/sf_localizations/lib/src/generated/i18n.dart index 456d8451..4868589f 100755 --- a/packages/sf_localizations/lib/src/generated/i18n.dart +++ b/packages/sf_localizations/lib/src/generated/i18n.dart @@ -644,6 +644,7 @@ class I18n { static const String oxygenLevel = 'oxygenLevel'; static const String password = 'password'; static const String passwordCapital = 'passwordCapital'; + static const String passwordChangedSuccess = 'passwordChangedSuccess'; static const String passwordLabel = 'passwordLabel'; static const String passwordLength = 'passwordLength'; static const String passwordMatch = 'passwordMatch';