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:
Julien Martin
2025-05-07 17:43:07 +02:00
parent 0772f83369
commit acb602643a
10 changed files with 336 additions and 226 deletions
@@ -3,6 +3,7 @@ import 'package:google_fonts/google_fonts.dart';
import 'package:p_tits_pas/widgets/custom_decorated_text_field.dart'; // Import du nouveau widget
import 'dart:math' as math; // Pour la rotation du chevron
import 'package:p_tits_pas/widgets/app_custom_checkbox.dart'; // Import de la checkbox personnalisée
import 'package:p_tits_pas/models/placeholder_registration_data.dart';
class ParentRegisterStep4Screen extends StatefulWidget {
const ParentRegisterStep4Screen({super.key});
@@ -183,10 +184,14 @@ Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lo
? () {
print('Motivation: ${_motivationController.text}');
print('CGU acceptées: $_cguAccepted');
// TODO: Naviguer vers l'étape 5
// Navigator.pushNamed(context, '/parent-register/step5');
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('Navigation vers Étape 5 (TODO)')),
// TODO: Rassembler toutes les données des étapes précédentes
final dummyData = PlaceholderRegistrationData(parent1Name: "Parent 1 Nom (Exemple)");
Navigator.pushNamed(
context,
'/parent-register/step5',
arguments: dummyData // Passer les données (ici factices)
);
}
: null, // Désactiver si les CGU ne sont pas acceptées