Attachment Thumbnail Strip
Component Detail
Description
Read-only display component shown in the activity detail card that renders server-generated thumbnails for all attachments linked to an activity. Tapping a thumbnail opens the full file in the device viewer. Displays a placeholder skeleton while thumbnails load and an error state when a file is unavailable.
attachment-thumbnail-strip
Sources & reasoning
The implementation notes specify that image thumbnails are generated server-side and returned for display in the activity detail card. A dedicated display component is needed to own this rendering logic separately from the picker widget, following single-responsibility principles and keeping the activity detail screen composable.
No source references — this artifact was included based on reasoning alone (see above).
Responsibilities
- Fetch attachment metadata for the parent activity from the local Drift cache
- Render thumbnail images returned by the backend upload response
- Handle tap-to-open delegating to platform file viewer
- Show loading skeleton and error fallback states
Interfaces
ActivityAttachmentThumbnailStrip({required String activityId})
onThumbnailTap(AttachmentRecord attachment)
Relationships
Related Data Entities (1)
Data entities managed by this component