- Create ImageUploadField component with file upload and URL input - Support base64 encoding for local IndexedDB storage - Add image preview, replacement, and removal functionality - Update SlideEditor to use ImageUploadField for image slots - Include file validation (5MB limit, image types only) - Add responsive design and error handling - Integrate with existing theme system and slot detection 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2.7 KiB
2.7 KiB
User Flows I want the solution to support
Flow #1 - Presentation Management
Adding, removing, and editing existing presentations
Create New Presentation
- User navigates to create new presentation
- User enters presentation details (title, description)
- User selects aspect ratio (16:9, 4:3, 16:10) for presentation
- User selects a theme from available options
- User creates presentation and is taken to editor
View All Presentations
- User can view list of all saved presentations
- User can see presentation metadata (name, description, theme, slide count)
- User can access presentations from navigation
Edit Existing Presentation
- User can open existing presentation for editing
- User can navigate between slides in editor
- User can access presentation settings and metadata
Delete Presentation
- User can delete presentation from list view
- User gets confirmation dialog before deletion
- Presentation is removed from storage
Flow #2 - Slide Management
Adding, removing, and editing individual slides within presentations
Add New Slide
- User clicks "Add Slide" from presentation editor
- User can select layout for new slide (with themed previews)
- User can add content to slide slots (text, images)
- User can add presentation notes to slide
- User can see miniature preview of slide live while editing
- User can save slide (auto-saves presentation)
- User can duplicate an existing slide copying it's layout and content.
Edit Existing Slide
- User can click on existing slide to edit
- User can modify slide content in all slots
- User cannot change slide layout once saved
- User can exit slide editing mode without saving changes in an obvious way
- User can edit presentation notes
- Changes auto-save to presentation
- User can edit slide content without preview if desired by clicking inside content slot areas
- When template has an image slot, slide editor allows user to upload an image (that will be stored based64 encoded in indexdb)
Remove Slide
- User can delete slides from presentation
- User gets confirmation before slide deletion
- Slide order adjusts automatically
Preview Slides
- User can preview individual slides
Slide Order Management
- User can reorder slides via drag-and-drop
- User can see slide order visually in editor
- Slide order automatically saves when changed
Flow #3 - Present to oudience
- User can start presentation mode from presentation editor
- User can navigate slides in presentation mode
- User can exit presentation mode
- User can see slide notes in presenter view
- User can control slide transitions and animations