Attach Multiple Documents to a Single Activity
Complex activities — such as group workshops or public events — often require multiple forms of evidence: a posted invitation, a signup list photo, and a post-event summary screenshot. The attachment picker must support multi-select from the device file library or sequential captures via the camera. Each selected file is shown as a thumbnail before upload, and the peer mentor can add or remove items before submitting the batch. Uploads proceed in parallel for efficiency, with individual progress indicators per file. A reasonable limit (e.g., 10 attachments per activity) should be enforced with a clear, accessible message if exceeded.
User Story
Acceptance Criteria
- Given the attachment picker is open, when I select multiple files from my photo library, then all selected files appear as thumbnails in a pending upload queue
- Given the pending upload queue has 3 files, when I tap 'Upload', then all three files upload in parallel and I see individual progress indicators for each
- Given all uploads have succeeded, when the upload session ends, then all thumbnails appear in the activity's attachment thumbnail grid
- Given one file in a batch fails to upload, when the batch completes, then the failed file is highlighted with a retry option while successfully uploaded files are confirmed
- Given I attempt to add an 11th attachment to an activity that already has 10, when I confirm the selection, then a plain-language message explains the 10-attachment limit
- Given the multi-select attachment session is in progress, when a screen reader is active, then each pending thumbnail announces its filename and upload status on focus
Business Value
NHF requires multiple proof documents per activity for Bufdir auditing — a single attachment is rarely sufficient for events with participants. Supporting multi-file attachment in a single session directly reduces the time burden on peer mentors, removes friction that causes incomplete records, and ensures that activities submitted for Bufdir reporting have all the required documentation in one place.
Components
- Attachment Picker UI ui
- Attachment Thumbnail Grid ui
- Attachment Upload Service service
- Activity Attachment Repository data
- Supabase Storage Adapter infrastructure
- Live Region Announcer ui
- Plain Language Error Display ui