- Ordre de focus explicite (NumericFocusOrder) pour l’inscription AM étape 2 : chaîne des champs jusqu’aux chevrons, Pays → NIR, places → Suivant (10) puis Précédent (11).
- FocusTraversalGroup avec OrderedTraversalPolicy sur le Scaffold pour respecter cet ordre (desktop / web).
- Champ pays : TextInputAction.next, onFieldSubmitted et onEditingComplete vers le NIR ; CustomAppTextField expose onEditingComplete.
- NirTextField : focusNode et focusTraversalOrder optionnels.
Made-with: Cursor
- POST /auth/register/am : places_disponibles, enregistrement place_disponible, contrôle ≤ capacité
- Formulaire pro AM : places sur la ligne capacité, mobile un champ par ligne, carte desktop plus compacte (espacements, polices, labelFieldSpacing)
- Capacité et places validées jusqu’à 4 dans l’app (kAmCapaciteAccueilMax) ; hint NIR « 13 chiffres + clé »
- Scripts d’inscription AM (Node + smoke shell) : places_disponibles
Made-with: Cursor
- Onglet « À valider » (AM + familles), pending-families et détail dossier par numéro.
- Wizards validation AM et famille, modale commune, chargement via GET /dossiers/:num.
- UI : cartes enfants, photo AM (cadre uniforme, ratio), NIR affiché formaté (espaces autour du tiret).
- Backend : DTO / routes parents pending ; scripts de test et mise à jour issue Gitea.
Tickets #107, #119.
Made-with: Cursor
- Support des modes Desktop/Mobile et Édition/Lecture seule
- Refactoring des widgets de formulaire (PersonalInfo, ProfessionalInfo, Presentation, ChildCard)
- Mise à jour des écrans de récapitulatif (ParentStep5, AmStep4)
- Ajout de navigation (Précédent/Soumettre) sur mobile
Closes#78
Co-authored-by: Cursor <cursoragent@cursor.com>
Nouveau widget professional_info_form_screen.dart :
- Formulaire complet d'infos professionnelles pour AM
- Gestion de la photo avec sélection et consentement
- Champs : ville/pays/date de naissance, NIR, agrément, capacité
- Validations intégrées (NIR 13 chiffres, capacité > 0, etc.)
AM Step 2 refactorisé :
- Utilise le nouveau ProfessionalInfoFormScreen
- Code réduit de ~280 lignes à ~75 lignes
- Logique de génération de données de test préservée
- Préparé pour réutilisation dans les récapitulatifs
Impact : -205 lignes de code