Commit Graph

6 Commits

Author SHA1 Message Date
posimai 2255ec55c8 fix: address review findings — icons, a11y, quiz state, SW, scores
- C-1: move saveScore() out of resultScore getter into _onAllAnswered
       to prevent repeated localStorage writes on every reactive access
- C-2: $watch('search') → createIcons() so sidebar Lucide icons are
       re-converted after x-for re-render on search filter/clear
- T-8: replace x-show Lucide <i> chevrons with inline SVG in
       .concept-chevron-wrap; Alpine x-show was orphaned after
       createIcons() replaced <i> with <svg>, causing stale display
- H-1: remove quizState={} from stepGoBack() Step3 branch so going
       back no longer silently destroys quiz answers
- H-2: add role=button tabindex=0 and Enter/Space keydown handlers to
       sidebar-item divs for keyboard navigation
- M-3: move skipWaiting() inside Promise.all in install waitUntil
- M-4: return 503 Response in SW fetch catch when cache also unavailable
- M-6: call saveScore() in nextWeakDrillUnit() so weak-drill results
       persist to localStorage the same as regular quiz
- UI:  fix .unit-cat-badge vertical misalignment in flex badge-row
       (was display:inline-block margin-bottom:6px, now inline-flex)
- SW:  bump cache version to v19 to retire old worker

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 21:36:27 +09:00
posimai 7647d8137c chore: remove unused plainText helper, bump SW cache
Made-with: Cursor
2026-04-19 16:49:20 +09:00
posimai ca658f6369 feat: finish step flow without losing quiz, clear-and-start option, scroll to comprehension
Made-with: Cursor
2026-04-19 16:40:41 +09:00
posimai 16547cf0ad chore: sanitize stored quiz exp, kp delimiter outside tags, weak drill exit label, plainText helper
Made-with: Cursor
2026-04-19 16:25:46 +09:00
posimai 0f2ae7f332 fix: render Step1 term HTML via safeHtml, step header back goes one card
Made-with: Cursor
2026-04-19 15:48:36 +09:00
posimai b5b9b2f88f refactor: split curriculum data to js/data, Alpine app to js/app.js, sanitize HTML with DOMPurify
Made-with: Cursor
2026-04-19 15:40:09 +09:00