Profile Setup Wizard
profile_setup/presentation/profile_setup.dart + pages/*
Overview
Multi-page legacy wizard: role selection → personal info → client OR prestataire-specific → submit. The freelancer path collects diploma, specialties, mobility, working days/hours.
User Flow
- ProfileSetupScreen renders the page indicator + the active page widget.
- Pages: role_page → info_page → client_page (clients) | prestataire_page (sellers).
- Each page calls ProfileSetupController.next* / set* methods.
- Final submit dispatches to /store/customers/me + diploma upload + AuthStorage.markProfileSetupComplete.
Cases & Edge Cases
- Indicator widget is hard-coded to N pages — change with care.
- Hot reload during the wizard wipes the StateNotifier state — design choice, dev-only annoyance.
- Diploma upload uses path_provider + multipart; failure pops a snackbar but does NOT rollback the customer-profile update.
Code References
- lib/src/features/shared/profile_setup/presentation/profile_setup.dart
- lib/src/features/shared/profile_setup/presentation/pages/role_page.dart
- lib/src/features/shared/profile_setup/presentation/pages/info_page.dart
- lib/src/features/shared/profile_setup/presentation/pages/client_page.dart
- lib/src/features/shared/profile_setup/presentation/pages/prestataire_page.dart
- lib/src/features/shared/profile_setup/presentation/widgets/diploma.dart
API Calls
Empty — fill this in later. Open the manifest and add content here.
Notes
The redesigned onboarding lives in onboarding_register/ and onboarding_register_seller/ — this wizard is a fallback for users from before the redesign.