arch-atlas

Manage Profile Screen

manage-profile/manage_profile.dart

presentation

Overview

Form-based editor for the authenticated customer profile. Fields for first/last name, phone, photo and addresses. Submits via customerProfileServiceProvider.updatePersonInfo.

User Flow

  1. Reads current data from customerProfileServiceProvider.
  2. User edits fields; submit builds a CustomerProfileRequest with only the diff.
  3. 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.