Choisir le coffre avant de payer (multi-coffres)
Contexte
Avec plusieurs coffres, le popup de paiement listait tous les portefeuilles de tous les coffres dans le sélecteur « depuis », et le flux virement depuis un contact/profil pré-authentifiait le dernier coffre ouvert sans possibilité d'en changer.
Ce que fait cette MR
Quand plusieurs coffres existent :
- « depuis » restreint au coffre actif — le sélecteur ne liste plus que les portefeuilles du coffre courant.
- Choisir le coffre à l'ouverture à froid — si aucun coffre n'est déverrouillé, le popup s'ouvre verrouillé sur « Choisir un coffre… » (aucun nom ni solde révélé) et l'authentification PIN est différée jusqu'au choix du coffre.
- Changer de coffre = bascule globale — sélectionner un autre coffre l'authentifie puis bascule l'app dessus (
switchSafe) ; annuler le PIN ne bascule rien.
Mono-coffre : aucun changement (sélecteur masqué, pré-gate PIN conservé).
Correctifs UX (remontés en test visuel)
- Hauteur du bottom sheet ajustée quand le sélecteur est présent (le bouton d'envoi ne peut plus être coupé).
- Le champ Montant devient non focusable pendant le changement de coffre : sinon le PIN tapé au clavier physique (desktop) atterrissait dans le champ Montant au lieu de la saisie PIN.
Qualité
- Logique de décision extraite en fonctions pures (
shouldDeferPaymentAuth/computeInitialSafeChosen), couverte par des tests unitaires. flutter analyzeOK ·flutter testOK (499 tests) ·dart formatconforme.- Audit pré-MR multi-agent (sécurité/PIN, non-régression, performance, clean code/i18n) : aucun point bloquant.
- i18n ajoutée en fr, en, es, it, de, eo, da (diacritiques vérifiés).
Testé visuellement sous Windows en layout mobile et desktop (changements multiples de coffre en cours de virement).