From 790761d5768378af2b07c64513d23e4a05f23a10 Mon Sep 17 00:00:00 2001 From: Julien Martin Date: Mon, 9 Feb 2026 23:52:25 +0100 Subject: [PATCH] fix(modale): champs MDP actuel lavande, nouveau et confirmation jaune Co-authored-by: Cursor --- docs/23_LISTE-TICKETS.md | 46 +++++++++++++++++-- frontend/lib/screens/auth/login_screen.dart | 24 ++++++++++ .../widgets/auth/change_password_dialog.dart | 2 +- 3 files changed, 66 insertions(+), 6 deletions(-) diff --git a/docs/23_LISTE-TICKETS.md b/docs/23_LISTE-TICKETS.md index 15b1b7d..087a6ad 100644 --- a/docs/23_LISTE-TICKETS.md +++ b/docs/23_LISTE-TICKETS.md @@ -25,8 +25,10 @@ Correspondance entre les numéros d’issues Gitea et les tickets de ce document | 79 | Frontend - Renommer Nanny en AM | P3 | ✅ Fermé | § Ticket #79 | | 81 | Frontend - Corrections refactoring widgets | P3 | ✅ Fermé | § Ticket #81 | | 83 | Frontend - RegisterChoiceScreen mobile | P3 | ✅ Fermé | § Ticket #83 | +| 84 | Bug - Connexion admin : erreur profil et redirection | P3 | ✅ Fermé | § Ticket #84 | +| 85 | Frontend - Bug correctifs modale Changement MDP | P3 | Ouvert | § Ticket #85 | -*Les autres tickets (sans numéro Gitea dans ce tableau) sont décrits dans les sections par priorité ci‑dessous ; les numéros de section (#1 à #83) sont les références internes du document.* +*Les autres tickets (sans numéro Gitea dans ce tableau) sont décrits dans les sections par priorité ci‑dessous ; les numéros de section (#1 à #85) ; #84 et #85 ont un numéro Gitea. sont les références internes du document.* **Point API (tickets frontend)** – 27/01/2026 : 20 issues avec le label `frontend` dans Gitea (12 ouvertes, 8 fermées). Numéros concernés : 35–42, 43–51, 54, 82, 83. Les #73, #78, #79, #81 sont fermés mais sans label dans l’API. Détail : `docs/POINT_TICKETS_FRONT_API.txt`. @@ -855,6 +857,38 @@ Créer l'écran de changement de mot de passe obligatoire (première connexion g --- +### Ticket #84 : [Bug] Connexion admin – erreur récupération profil et pas de redirection +**Gitea** : [#84](https://git.ptits-pas.fr/jmartin/petitspas/issues/84) +**Statut** : ✅ Fermé + +**Description** : +Bug à la connexion admin : erreur lors de la récupération du profil et absence de redirection attendue. + +--- + +### Ticket #85 : [Frontend] Bug – Correctifs modale Changement MDP (première connexion admin) +**Gitea** : [#85](https://git.ptits-pas.fr/jmartin/petitspas/issues/85) +**Estimation** : 1h +**Labels** : `frontend`, `p3`, `bug`, `auth`, `ux` + +**Description** : +Correctifs et améliorations de la modale de changement de mot de passe obligatoire affichée à la première connexion admin (lien avec Ticket #47). + +**Périmètre** : +- Ajustements visuels / UX de la modale (`ChangePasswordDialog`) +- Cohérence charte graphique, espacements, lisibilité +- Comportement (validation, messages d'erreur, fermeture) +- Lien de test en debug sur l'écran login (« Test modale MDP ») pour faciliter les réglages + +**Tâches** : +- [ ] Revoir le design de la modale (relief, bordures, couleurs) +- [ ] Vérifier les champs (MDP actuel, nouveau, confirmation) et validations +- [ ] Ajuster les textes et messages d'erreur +- [ ] Tester sur mobile et desktop +- [ ] Retirer ou conditionner le lien « Test modale MDP » en production si besoin + +--- + ### Ticket #48 : [Frontend] Gestion Erreurs & Messages **Estimation** : 2h **Labels** : `frontend`, `p3`, `ux` @@ -1155,14 +1189,14 @@ Rédiger les documents légaux génériques (CGU et Politique de confidentialit ## 📊 Résumé final -**Total** : 61 tickets -**Estimation** : ~173h de développement +**Total** : 63 tickets +**Estimation** : ~174h de développement ### Par priorité - **P0 (Bloquant BDD)** : 7 tickets (~5h) - **P1 (Bloquant Config)** : 7 tickets (~22h) - **P2 (Backend)** : 18 tickets (~50h) -- **P3 (Frontend)** : 18 tickets (~60h) ← +1 ticket logs admin, +1 ticket refonte formulaires +- **P3 (Frontend)** : 20 tickets (~62h) ← #84 bug connexion admin, #85 correctifs modale MDP - **P4 (Tests/Doc)** : 4 tickets (~24h) - **Critiques** : 6 tickets (~13h) ← -2 email, +1 logs, +1 CDC - **Juridique** : 1 ticket (~8h) @@ -1170,7 +1204,7 @@ Rédiger les documents légaux génériques (CGU et Politique de confidentialit ### Par domaine - **BDD** : 7 tickets - **Backend** : 23 tickets ← +1 logs -- **Frontend** : 18 tickets ← +1 logs admin, +1 refonte formulaires +- **Frontend** : 20 tickets ← #84 bug connexion admin, #85 correctifs modale MDP - **Tests** : 3 tickets - **Documentation** : 5 tickets ← +1 amendement CDC - **Infra** : 2 tickets @@ -1181,6 +1215,8 @@ Rédiger les documents légaux génériques (CGU et Politique de confidentialit - ✅ **Ajouté** : Ticket #55 "Service Logging Winston" - Monitoring essentiel - ✅ **Ajouté** : Ticket #56 "Écran Logs Admin" - Optionnel Phase 1.1 - ✅ **Ajouté** : Ticket #78 "Refonte Infrastructure Formulaires" - Harmonisation UI/UX +- ✅ **Ajouté** : Ticket #84 "Bug connexion admin – erreur profil et redirection" (Gitea #84, fermé) +- ✅ **Ajouté** : Ticket #85 "Bug – Correctifs modale Changement MDP" (Gitea #85) - Design, UX, validations, lien test debug --- diff --git a/frontend/lib/screens/auth/login_screen.dart b/frontend/lib/screens/auth/login_screen.dart index 6d6cfd2..9dc2408 100644 --- a/frontend/lib/screens/auth/login_screen.dart +++ b/frontend/lib/screens/auth/login_screen.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -360,6 +361,17 @@ class _LoginPageState extends State with WidgetsBindingObserver { context.go('/privacy'); }, ), + if (kDebugMode) + _FooterLink( + text: 'Test modale MDP', + onTap: () async { + await showDialog( + context: context, + barrierDismissible: false, + builder: (context) => const ChangePasswordDialog(), + ); + }, + ), ], ), ), @@ -556,6 +568,18 @@ class _LoginPageState extends State with WidgetsBindingObserver { fontSize: 11, onTap: () => context.go('/privacy'), ), + if (kDebugMode) + _FooterLink( + text: 'Test modale MDP', + fontSize: 11, + onTap: () async { + await showDialog( + context: context, + barrierDismissible: false, + builder: (context) => const ChangePasswordDialog(), + ); + }, + ), ], ), ), diff --git a/frontend/lib/widgets/auth/change_password_dialog.dart b/frontend/lib/widgets/auth/change_password_dialog.dart index f9f50a6..bf172c6 100644 --- a/frontend/lib/widgets/auth/change_password_dialog.dart +++ b/frontend/lib/widgets/auth/change_password_dialog.dart @@ -196,7 +196,7 @@ class _ChangePasswordDialogState extends State { hintText: 'Retapez le nouveau mot de passe', obscureText: true, validator: _validateConfirmPassword, - style: CustomAppTextFieldStyle.lavande, + style: CustomAppTextFieldStyle.jaune, fieldHeight: 53, fieldWidth: double.infinity, enabled: !_isLoading,