Skip to content

Add Presenter Mode and Reusable Hooks to shadcn Repository #3

@BurnedChris

Description

@BurnedChris

Description:
We should develop a robust presenter mode for our deck system and extract reusable presentation hooks that could be contributed to the shadcn component repository for wider use.

Requirements:

  • Create a presenter mode with:

    • Slide preview (current and next slide)
    • Presenter notes display
    • Timer/clock functionality
    • Audience view toggle
    • Visual progress indicator
  • Develop reusable React hooks:

    • usePresentation - Core presentation state management
    • useSlideNavigation - Navigation between slides
    • usePresenterNotes - Handle presenter notes
    • useSlideTimer - Track presentation timing
    • useKeyboardControls - Handle keyboard navigation

Implementation Notes:

  • Presenter mode should be togglable with keyboard shortcut
  • Consider using WebSockets or similar for dual-screen synchronization
  • Hooks should be abstracted enough to work with any React-based presentation system
  • Prepare documentation for potential shadcn contribution
  • Follow shadcn's component structure and style guidelines

Acceptance Criteria:

  • Fully functional presenter mode working on separate screen/window
  • Clean API for all hooks with TypeScript definitions
  • Unit tests for all hooks
  • Example implementation showing usage in our codebase
  • Contribution-ready code with proper documentation following shadcn standards

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions