Manage Profile Screen
manage-profile/manage_profile.dart
Overview
Form-based editor for the authenticated customer profile. Fields for first/last name, phone, photo and addresses. Submits via customerProfileServiceProvider.updatePersonInfo.
User Flow
- Reads current data from customerProfileServiceProvider.
- User edits fields; submit builds a CustomerProfileRequest with only the diff.
- updatePersonInfo throws → SnackBar with message; succeeds → pop with success snackbar.
Cases & Edge Cases
- Avatar upload is handled separately (multipart) and only persists if the user also taps Save afterwards.
- Phone field is optional — empty string is dropped from the request so backend doesn't null it out.
- Form is unmounted aggressively on submit success; ref.mounted guard in the notifier protects against this.
Code References
- lib/src/features/shared/manage-profile/manage_profile.dart
- lib/src/features/shared/manage-profile/customer_state.dart
API Calls
Empty — fill this in later. Open the manifest and add content here.
Notes
Updating seller-specific fields (métiers, working hours) is in a different screen, not here.