import 'dart:io'; // Pour File import '../models/card_assets.dart'; // Import de l'enum CardColorVertical class ParentData { String firstName; String lastName; String address; // Rue et numéro String postalCode; // Ajout String city; // Ajout String phone; String email; String password; // Peut-être pas nécessaire pour le récap, mais pour la création initiale si File? profilePicture; // Chemin ou objet File ParentData({ this.firstName = '', this.lastName = '', this.address = '', // Rue this.postalCode = '', // Ajout this.city = '', // Ajout this.phone = '', this.email = '', this.password = '', this.profilePicture, }); } class ChildData { String firstName; String lastName; String dob; String gender; bool photoConsent; bool multipleBirth; bool isUnbornChild; File? imageFile; CardColorVertical cardColor; ChildData({ this.firstName = '', this.lastName = '', this.dob = '', this.gender = 'F', this.photoConsent = false, this.multipleBirth = false, this.isUnbornChild = false, this.imageFile, required this.cardColor, }); } class UserRegistrationData { ParentData parent1; ParentData? parent2; // Optionnel List children; String motivationText; bool cguAccepted; UserRegistrationData({ ParentData? parent1Data, this.parent2, List? childrenData, this.motivationText = '', this.cguAccepted = false, }) : parent1 = parent1Data ?? ParentData(), children = childrenData ?? []; // Méthode pour ajouter/mettre à jour le parent 1 void updateParent1(ParentData data) { parent1 = data; } // Méthode pour ajouter/mettre à jour le parent 2 void updateParent2(ParentData? data) { parent2 = data; } // Méthode pour ajouter un enfant void addChild(ChildData child) { children.add(child); } // Méthode pour mettre à jour un enfant (si nécessaire plus tard) void updateChild(int index, ChildData child) { if (index >= 0 && index < children.length) { children[index] = child; } } // Mettre à jour la motivation void updateMotivation(String text) { motivationText = text; } // Accepter les CGU void acceptCGU() { cguAccepted = true; } }