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 analyze OK · flutter test OK (499 tests) · dart format conforme.
  • 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).

🤖 Généré avec Claude Code

Merge request reports

Loading