Avatar Upload Widget
Component Detail
User Interface
low complexity
mobile
1
Dependencies
1
Dependents
0
Entities
0
Integrations
Description
Reusable widget for selecting and uploading a profile photo from camera or device gallery. Handles image source selection, crops to avatar dimensions, and delegates the actual file transfer to the shared File Upload Service used by the receipt photo upload flow. Renders a circular preview and communicates progress and error states accessibly.
avatar-upload-widget
Responsibilities
- Present image source selection sheet (camera or gallery)
- Crop and resize selected image to square avatar dimensions
- Delegate upload to shared File Upload Service and return resulting URL
- Display upload progress indicator and accessible error messages
Interfaces
selectImage(): Future<File?>
uploadAvatar(file: File): Future<String>
onUploadComplete(url: String): void
onUploadError(error: String): void