How e1n7/stage-timer works
Stage Timer is a browser-based live-event timer. The main workflow is configuring timer sequences and messages in the dashboard, operating timers, then showing synchronized timer and message output on a second screen. Rooms organize and transfer configurations; browser storage preserves state, and browser messaging synchronizes tabs. The README documents scheduling, follow-active navigation, overtime, and PWA support; some of those implementations are in unsampled portions of the dashboard, so their internal wiring is not inferred.
Main entry points: TimerOutput.tsx Timer Display · App.tsx Dashboard UI · useTimer.ts Timer State · storage.ts JSON Storage
Components 15
Dashboard Controls
- Dashboard Route
app/page.tsx - Dashboard UI
src/App.tsx
Timer Runtime
- Timer State
src/hooks/useTimer.ts - Time Utilities
src/lib/time.ts
Stage Output
- Output Route
app/output/page.tsx - Timer Display
src/components/TimerOutput.tsx - Progress Bar
src/components/ProgressBar.tsx - Message Stage
src/components/MessageStage.tsx - PWA Metadata
public/manifest.json
Browser Data
- Room Merge
src/lib/roomStorage.ts - JSON Storage
src/lib/storage.ts - Local Settings
src/hooks/useLocalStorage.ts - Local Storage
- Tab Messaging
src/lib/sharedChannel.ts
Other components
- Operator
Connections 16
- Operator → Dashboard Route: opens dashboard
- Dashboard Route → Dashboard UI: renders
- Dashboard UI → Timer State: controls timers
- Timer State → Time Utilities: gets time
- Dashboard UI → Room Merge: merges rooms
- Dashboard UI → JSON Storage: reads settings
- Timer State → JSON Storage: persists state
- Local Settings → Local Storage: reads and writes
- JSON Storage → Local Storage: reads and writes
- Timer State → Tab Messaging: broadcasts state
- Timer Display → Tab Messaging: subscribes and replies
- Operator → Output Route: opens output
- Output Route → Timer Display: renders
- Timer Display → JSON Storage: reads saved state
- Timer Display → Progress Bar: renders progress
- Timer Display → Message Stage: renders messages