Skip to content

Implement undo/redo stack for editing operations #10

Description

@clencyc

Description

Add full undo/redo functionality so users can revert editing changes without losing progress.

Acceptance Criteria

  • Undo/Redo stack maintained in Redux or Context
  • Keyboard shortcuts: Ctrl+Z (undo), Ctrl+Y (redo)
  • Menu items for undo/redo with keyboard hints
  • Undo/Redo buttons in toolbar
  • Stack persists within session (not across page reload)
  • Max stack size: 50 operations (configurable)
  • Works for all editing operations:
    • Clips added/removed
    • Clips moved/trimmed
    • Effects added/removed
    • Audio levels changed
  • Unit tests for undo/redo operations

Implementation Details

  • Create hooks/useUndoRedo.ts custom hook
  • Each operation stored as: { action, data, timestamp }
  • undo() pops from undo stack, pushes to redo stack
  • redo() pops from redo stack, pushes to undo stack

Difficulty: Hard

Estimated time: 5-6 hours

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions