feat: Avancée majeure parcours inscription parent et refactorisation widgets UI
Ce commit comprend plusieurs améliorations significatives :
Inscription Parent - Étape 5 (Récapitulatif) :
- Initialisation de l'écran pour l'étape 5/5 du parcours d'inscription parent.
- Mise en place de la structure de base de l'écran de récapitulatif (titre, fond, bouton de soumission initial, modale de confirmation).
- Intégration de la navigation vers l'étape 5 depuis l'étape 4, incluant le passage (actuellement factice) des données d'inscription.
- Correction des erreurs de navigation et de typage liées à l'introduction de `PlaceholderRegistrationData` pour cette nouvelle étape.
Refactorisation des Widgets UI :
- `CustomAppTextField` :
- Évolution majeure pour supporter différents styles de fond (beige, lavande, jaune) via un nouvel enum `CustomAppTextFieldStyle`.
- Les images de fond pour les styles lavande et jaune (`input_field_lavande.png`, `input_field_jaune.png`) ont été renommées et sont maintenant utilisées.
- Mise à jour de l'écran de login pour utiliser ce `CustomAppTextField` stylisé, remplaçant l'ancien widget privé `_ImageTextField`.
- Réintégration des paramètres `isRequired`, `enabled`, `readOnly`, `onTap`, et `suffixIcon` qui avaient été omis lors d'une refactorisation précédente, assurant la compatibilité avec l'étape 3.
- `ImageButton` :
- Extraction du widget privé `_ImageButton` de l'écran de login en un widget public `ImageButton` (dans `widgets/image_button.dart`) pour une réutilisation globale.
- Mise à jour de l'écran de login pour utiliser ce nouveau widget public.
- Utilisation du nouveau `ImageButton` pour le bouton "Soumettre ma demande" sur l'écran de l'étape 5.
Corrections :
- Correction d'une erreur de `RenderFlex overflowed` dans la carte enfant (`_ChildCardWidget`) de l'étape 3 de l'inscription parent, en ajustant les espacements internes.
- Résolution de diverses erreurs de compilation qui sont apparues pendant ces refactorisations.
This commit is contained in:
@@ -403,7 +403,7 @@ class _ChildCardWidget extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
const SizedBox(height: 5),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
@@ -411,30 +411,30 @@ class _ChildCardWidget extends StatelessWidget {
|
||||
Switch(value: childData.isUnbornChild, onChanged: onToggleIsUnborn, activeColor: Theme.of(context).primaryColor),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 15),
|
||||
CustomAppTextField( // Utilisation du nouveau widget
|
||||
const SizedBox(height: 8),
|
||||
CustomAppTextField(
|
||||
controller: childData.firstNameController,
|
||||
label: 'Prénom',
|
||||
hintText: childData.isUnbornChild ? 'Prénom (optionnel)' : 'Prénom de l\'enfant',
|
||||
labelText: 'Prénom',
|
||||
hintText: 'Facultatif si à naître',
|
||||
isRequired: !childData.isUnbornChild,
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
CustomAppTextField( // Utilisation du nouveau widget
|
||||
const SizedBox(height: 5),
|
||||
CustomAppTextField(
|
||||
controller: childData.lastNameController,
|
||||
label: 'Nom',
|
||||
labelText: 'Nom',
|
||||
hintText: 'Nom de l\'enfant',
|
||||
enabled: true,
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
CustomAppTextField( // Utilisation du nouveau widget
|
||||
const SizedBox(height: 8),
|
||||
CustomAppTextField(
|
||||
controller: childData.dobController,
|
||||
label: childData.isUnbornChild ? 'Date prévisionnelle de naissance' : 'Date de naissance',
|
||||
labelText: childData.isUnbornChild ? 'Date prévisionnelle de naissance' : 'Date de naissance',
|
||||
hintText: 'JJ/MM/AAAA',
|
||||
readOnly: true,
|
||||
onTap: onDateSelect,
|
||||
suffixIcon: Icons.calendar_today,
|
||||
),
|
||||
const SizedBox(height: 18),
|
||||
const SizedBox(height: 10),
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
@@ -443,7 +443,7 @@ class _ChildCardWidget extends StatelessWidget {
|
||||
value: childData.photoConsent,
|
||||
onChanged: onTogglePhotoConsent,
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
const SizedBox(height: 5),
|
||||
AppCustomCheckbox( // Utilisation du nouveau widget
|
||||
label: 'Naissance multiple',
|
||||
value: childData.multipleBirth,
|
||||
|
||||
Reference in New Issue
Block a user