User Interface medium complexity mobile
0
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Full-screen modal that presents the user with options to capture a photo via camera, pick from gallery, or select a file from the device. Handles permission requests, file size validation (max 10 MB), and upload progress display before handing the validated file to the Document Storage Service.

Feature: Document Attachment to Activities

file-upload-screen

Responsibilities

  • Present source selection options: camera, gallery, file picker
  • Request and handle platform permissions for camera and storage
  • Validate selected file size against the 10 MB limit before upload
  • Display real-time upload progress and success or failure feedback
  • Return uploaded document metadata to the calling widget on success

Interfaces

openCameraCapture()
openGalleryPicker()
openFilePicker()
validateFileSize(file: File): bool
showUploadProgress(progress: double)
onUploadSuccess(document: ActivityDocument)
onUploadFailure(error: String)
dismiss()