2.0 KiB
2.0 KiB
Phase 3: Images - Context
Gathered: 2026-01-29 Status: Ready for planning
## Phase BoundaryUsers can attach, view, and manage images on entries from any device. Supports file upload on desktop and camera capture on mobile. Images are stored on filesystem (not database). Tagging, search, and organization of images are separate phases.
## Implementation DecisionsUpload experience
- Button + drag-drop: Button for mobile, drag-drop zone for desktop
- One image at a time (no multi-select)
- Upload button in quick capture bar AND expanded entry view
- Optimistic display: Show image immediately, upload in background
Image display
- Small thumbnail visible in collapsed entry view
- Horizontal scroll for multiple images when entry is expanded
- Fullscreen lightbox when user taps/clicks an image
- Edit mode toggle to access delete options (not always-visible X buttons)
Camera capture
- Direct camera access via browser API (not just file picker)
- Separate buttons for camera and file upload — clear distinction
- Preview + confirm flow after taking photo (can retake)
- Show camera button on desktop too if webcam available
Storage & sizing
- Keep original images (no resize/compression on upload)
- No file size limit (self-hosted, user controls their storage)
- Accept any image format browsers can display
- Generate thumbnails on upload for faster list loading
Claude's Discretion
- Thumbnail dimensions and quality
- Lightbox library choice or custom implementation
- Camera API fallback behavior
- Drag-drop visual feedback design
- Error handling for failed uploads
- Optimistic UI is important — image should appear instantly, not wait for upload
- Camera experience should feel native on mobile, not like a web hack
- Edit mode for delete keeps the UI clean (no clutter of X buttons everywhere)
None — discussion stayed within phase scope
Phase: 03-images Context gathered: 2026-01-29