Profile Edit Screen
Component Detail
User Interface
high complexity
mobile
2
Dependencies
0
Dependents
1
Entities
0
Integrations
Description
Form screen for editing personal profile data including name, contact details, profile photo, and language preferences. State is managed by ProfileEditNotifier (Riverpod, no codegen) tracking dirty state and validating before submission. Persists via PATCH /api/v1/users/{id} with optimistic local update and automatic rollback on failure.
profile-edit-screen
Responsibilities
- Render editable form fields for all mutable profile attributes with adequate touch targets
- Track form dirty state via ProfileEditNotifier and disable Save when unchanged
- Validate fields (required, format, length) and announce errors via live region for screen-reader compatibility
- Apply optimistic update to local Drift users table and enqueue PATCH mutation in offline outbox when offline
- Trigger profile photo selection, cropping, and upload through Profile Service
Interfaces
build(context): Widget
onSave(): Future<void>
onCancel(): void
onPhotoTap(): Future<void>
onFieldChanged(field: String, value: dynamic): void
Relationships
Dependencies (2)
Components this component depends on