Accessing the Slide Editor
After generating a presentation, click Edit Slides to enter the editor. The editor is implemented infrontend/src/components/SlideEditor.jsx.
Editor Interface Overview
The editor displays:- Header: Presentation theme and export button
- Slide cards: Draggable cards for each slide
- Content fields: Title, content, and media settings
- Visual indicators: Content length warnings, media badges
Editing Slide Content
Edit slide title
Click in the Title field to edit:
- Maximum 80 characters
- Warning appears if over 60 characters
- Displays character count
- Title automatically validates on change
frontend/src/components/SlideEditor.jsx:979-1014Edit slide content
Modify the Content textarea:
- Recommended: 600 chars with media, 800 without
- Live character counter
- Color-coded status:
- Green: Content fits well
- Yellow: Nearing limit
- Red: Content too long
frontend/src/components/SlideEditor.jsx:830-845Content formatting tips:- Use bullet points with
•character - Create tables with
|separators - Keep paragraphs concise
- Break complex ideas across slides
Reordering Slides
Slides can be rearranged using drag-and-drop functionality.Identify the drag handle
Each slide card has a drag handle icon (grid dots) in the top-left corner.Drag handle:
frontend/src/components/SlideEditor.jsx:507-514Drag to reorder
- Click and hold the drag handle
- Drag the slide card up or down
- A visual indicator shows the new position
- Release to drop the slide in place
frontend/src/components/SlideEditor.jsx:779-786Managing Slide Images
Some slides include AI-selected images. You can toggle or replace them.Image Controls
Each slide with an image shows:- Image preview: Thumbnail of current image
- Include checkbox: Toggle image on/off
- Image URL field: Edit or replace image source
- Position indicator: Where image appears (left/right)
- Search keyword: What the AI searched for
Toggling Images
Locate image section
Scroll to the Image section of the slide (below content).Image section:
frontend/src/components/SlideEditor.jsx:669-755Replacing Images
Update image URL
- Copy the direct image URL
- Paste into the Image URL field
- The preview updates automatically
- Verify the image loads correctly
frontend/src/components/SlideEditor.jsx:698-714Working with Animations
Slides with animations show special controls and previews.Animation Indicators
Animated slides display:- 🎬 Animation badge in the header
- Animation description
- Optional code viewer
- Toggle to include/exclude
frontend/src/components/SlideEditor.jsx:607-665
Managing Animations
Preview the animation
The animation preview shows a live rendering of the Manim-generated content.Preview component:
frontend/src/components/SlideEditor.jsx:628-635Toggle animation inclusion
Use the Include in PPT checkbox to:
- Include: Animation appears in the slide
- Exclude: Slide becomes text-only
frontend/src/components/SlideEditor.jsx:794-808Deleting Slides
Locate delete button
Each slide has a trash icon button in the top-right corner of its header.Delete button:
frontend/src/components/SlideEditor.jsx:527-544Presentation Theme
The theme is applied to all slides and displayed in the header:- Professional: Blue/gray corporate style
- Creative: Vibrant, colorful design
- Minimal: Clean, simple aesthetic
frontend/src/components/SlideEditor.jsx:847-859
Content Guidelines
Title Best Practices
- Use clear, descriptive titles
- Keep under 60 characters
- Use sentence case
- Avoid special characters
- Be specific about slide topic
Content Best Practices
- With image: Max 600 characters
- Without image: Max 800 characters
- Use bullet points for lists
- One main idea per slide
- Break long content across multiple slides
Image Best Practices
- Use relevant, high-quality images
- Avoid text-heavy images
- Ensure proper image rights/licensing
- Test image URLs before saving
- Consider image placement (left/right)
Exporting Your Changes
After editing:- Click Export to PPT in the top-right corner
- The system generates a PowerPoint file
- Download automatically starts
- File includes all your customizations
frontend/src/components/SlideEditor.jsx:861-904
Technical Details
Slide Data Structure
Each slide contains:Drag and Drop Library
The editor usesreact-beautiful-dnd for drag-and-drop:
- Smooth animations
- Touch device support
- Keyboard accessibility
- Visual feedback
frontend/src/components/SlideEditor.jsx:907-914
State Management
Slide changes are managed through React state:- Parent component maintains slide array
- Editor updates through
setSlidescallback - Changes persist until export