feat: Implement multi-step registration for Childminder with data validation and summary display
- Added routes for registration steps 2, 3, and 4 in app_router.dart. - Created AmRegisterStep2Screen for entering professional details including birth date, city, country, social security number, agreement number, and max children. - Implemented validation for social security number and max children fields. - Developed AmRegisterStep3Screen for entering a motivation message and accepting terms and conditions. - Created AmRegisterStep4Screen to display a summary of the registration data for review before submission. - Introduced SummaryCard widget for displaying user information in a structured format. - Enhanced DataGenerator utility to provide realistic data for testing.
This commit is contained in:
@@ -42,16 +42,37 @@ class _AmRegisterStep1ScreenState extends State<AmRegisterStep1Screen> {
|
||||
void _generateAndFillData() {
|
||||
final String genFirstName = DataGenerator.firstName();
|
||||
final String genLastName = DataGenerator.lastName();
|
||||
final String genAddress = DataGenerator.address();
|
||||
final String genPostalCode = DataGenerator.postalCode();
|
||||
final String genCity = DataGenerator.city();
|
||||
final String genPhone = DataGenerator.phone();
|
||||
final String genEmail = DataGenerator.email(genFirstName, genLastName);
|
||||
final String genPassword = DataGenerator.password();
|
||||
|
||||
_addressController.text = DataGenerator.address();
|
||||
_postalCodeController.text = DataGenerator.postalCode();
|
||||
_cityController.text = DataGenerator.city();
|
||||
_addressController.text = genAddress;
|
||||
_postalCodeController.text = genPostalCode;
|
||||
_cityController.text = genCity;
|
||||
_firstNameController.text = genFirstName;
|
||||
_lastNameController.text = genLastName;
|
||||
_phoneController.text = DataGenerator.phone();
|
||||
_emailController.text = DataGenerator.email(genFirstName, genLastName);
|
||||
_passwordController.text = DataGenerator.password();
|
||||
_confirmPasswordController.text = _passwordController.text;
|
||||
_phoneController.text = genPhone;
|
||||
_emailController.text = genEmail;
|
||||
_passwordController.text = genPassword;
|
||||
_confirmPasswordController.text = genPassword;
|
||||
|
||||
setState(() {
|
||||
_registrationData.updateIdentity(
|
||||
ChildminderId(
|
||||
firstName: genFirstName,
|
||||
lastName: genLastName,
|
||||
address: genAddress,
|
||||
postalCode: genPostalCode,
|
||||
city: genCity,
|
||||
phone: genPhone,
|
||||
email: genEmail,
|
||||
password: genPassword.trim(),
|
||||
),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -170,6 +191,10 @@ class _AmRegisterStep1ScreenState extends State<AmRegisterStep1Screen> {
|
||||
password: _passwordController.text,
|
||||
),
|
||||
);
|
||||
print('Vérification des données:');
|
||||
print('Adresse: ${_registrationData.identity.address}');
|
||||
print('Nom: ${_registrationData.identity.lastName}');
|
||||
print('Prénom: ${_registrationData.identity.firstName}');
|
||||
Navigator.pushNamed(context, '/am-register/step2',
|
||||
arguments: _registrationData);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user