How abhijit2244/let-the-wheel-decide works
Let the Wheel Decide is a browser-based decision wheel. A user edits choices or selects a saved wheel, then spins the animated wheel or manually selects a segment; the app displays the result and can record it in per-wheel history. Saved wheels, active-wheel selection, and optional history persist in browser LocalStorage. The README also documents wheel search, pagination, demo/default choices, confetti, and optional sound. Those capabilities are represented at their documented app or manager components; unsampled implementation details and some prop wiring are not inferred.
Main entry points: App.tsx Decision app · useSavedWheels.ts Saved-wheel state · WheelManager.tsx Wheel manager · useSpinHistory.ts History state
Components 12
Decision experience
- Decision app
src/App.tsx - Interactive wheel
src/components/wheel/Wheel.tsx - Wheel segment
src/components/wheel/WheelSegment.tsx - Confetti effect
Saved wheels
- Wheel manager
src/components/saved-wheels/WheelManager.tsx - Saved-wheel state
src/hooks/useSavedWheels.ts
Spin history
- History view
src/components/history/SpinHistory.tsx - History state
src/hooks/useSpinHistory.ts
Local persistence
- Browser LocalStorage
Domain types
- Wheel data types
src/components/types/wheel.ts - History data types
src/components/types/history.ts
Other components
- Decision maker
Connections 15
- Decision maker → Decision app: uses
README.md - Decision app → Interactive wheel: renders
src/App.tsx - Interactive wheel → Wheel segment: renders
src/components/wheel/Wheel.tsx - Decision app → Wheel manager: renders
src/App.tsx - Decision app → Saved-wheel state: uses
src/App.tsx - Wheel manager → Saved-wheel state: manages
- Decision app → History view: renders
src/App.tsx - Decision app → History state: uses
src/App.tsx - Decision app → Confetti effect: triggers
src/App.tsx - Saved-wheel state → Browser LocalStorage: reads/writes
src/hooks/useSavedWheels.ts - History state → Browser LocalStorage: reads/writes
src/hooks/useSpinHistory.ts - Saved-wheel state → Wheel data types: uses
src/hooks/useSavedWheels.ts - Wheel manager → Wheel data types: uses
src/components/saved-wheels/WheelManager.tsx - History state → History data types: uses
src/hooks/useSpinHistory.ts - History view → History data types: uses
src/components/history/SpinHistory.tsx