Skip to content

Commit 768be7e

Browse files
feat(web): rewrite flashcard/quiz engine as Alpine.js components
Phase 2 of the sidebar consolidation. Replaces the 863-line vanilla JS app.js with declarative Alpine components: - reviewApp(defaultMode) factory: course grid, session config, card player (flashcard flip + quiz ABCD), session summary with retry - Alpine.store('settings'): voice toggle, theme, dyslexic font — shared across all views, persisted to localStorage - Both Flashcards and Quizzes sidebar tabs get independent reviewApp instances with x-show sub-navigation (courses → config → study → summary) - Keyboard shortcuts via @keydown.window scoped to active tab - Pomodoro timer preserved as global functions (Phase 3 Alpine-ifies) - Service worker cache bumped to v6, removes session.html + app.js app.js is now unused dead code (Phase 3 will delete it). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 472824e commit 768be7e

5 files changed

Lines changed: 1112 additions & 24 deletions

File tree

0 commit comments

Comments
 (0)