petitspas/frontend/lib/screens/auth/am_register_step1_screen.dart
Julien Martin df87abbb85 feat(auth): Renommer "Nanny" en "Assistante Maternelle" (AM)
- Création du modèle am_registration_data.dart
- Création des 4 écrans d'inscription AM (steps 1-4)
- Mise à jour du bouton "Assistante Maternelle" dans register_choice
- Conformité CDC : pas de champs mot de passe dans les formulaires
- Préremplissage des données de test pour faciliter le développement

Ref: Ticket #XX - Renommage workflow inscription AM
2026-01-28 16:43:16 +01:00

66 lines
2.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:go_router/go_router.dart';
import '../../models/am_registration_data.dart';
import '../../utils/data_generator.dart';
import '../../widgets/personal_info_form_screen.dart';
import '../../models/card_assets.dart';
class AmRegisterStep1Screen extends StatelessWidget {
const AmRegisterStep1Screen({super.key});
@override
Widget build(BuildContext context) {
final registrationData = Provider.of<AmRegistrationData>(context, listen: false);
// Générer des données de test si vide
PersonalInfoData initialData;
if (registrationData.firstName.isEmpty) {
final genFirstName = DataGenerator.firstName();
final genLastName = DataGenerator.lastName();
initialData = PersonalInfoData(
firstName: genFirstName,
lastName: genLastName,
phone: DataGenerator.phone(),
email: DataGenerator.email(genFirstName, genLastName),
address: DataGenerator.address(),
postalCode: DataGenerator.postalCode(),
city: DataGenerator.city(),
);
} else {
initialData = PersonalInfoData(
firstName: registrationData.firstName,
lastName: registrationData.lastName,
phone: registrationData.phone,
email: registrationData.email,
address: registrationData.streetAddress,
postalCode: registrationData.postalCode,
city: registrationData.city,
);
}
return PersonalInfoFormScreen(
stepText: 'Étape 1/4',
title: 'Vos informations personnelles',
cardColor: CardColorHorizontal.blue,
initialData: initialData,
previousRoute: '/register-choice',
onSubmit: (data, {hasSecondPerson, sameAddress}) {
registrationData.updatePersonalInfo(
firstName: data.firstName,
lastName: data.lastName,
phone: data.phone,
email: data.email,
streetAddress: data.address,
postalCode: data.postalCode,
city: data.city,
password: '',
photoConsent: false,
);
context.go('/am-register-step2');
},
);
}
}