- Favorites: star toggle on course rows, the course page, and a new
dashboard card; rebased on rename/move, backed up/restored, and
caught by stale-reference cleanup (also fixed a pre-existing gap
where favorites.json wasn't in the backup file list).
- Storage Usage: click a folder row to drill into its contents one
level at a time, with a Back button.
- Lesson player: added ,/. (speed step), [/] (prev/next lesson), and
F (fullscreen) keyboard shortcuts.
- Settings: a CHANGELOG.md-backed "What's New" list, since VERSION
alone only ever shows the current build.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Add a shared Jinja icon macro (templates/_icons.html) with 27 Feather-style
stroke SVGs and import it across every live template - tab bars, buttons,
lesson-type/status icons, folder/course icons, and the lesson player's
footer brand mark all now use currentColor SVGs instead of emoji, matching
the app's vector logo instead of rendering inconsistently per platform.
A few icons built dynamically in JS (thumbnail-load fallbacks, toggled
button states) get a small ICON_SVGS constant per file, since JS template
literals can't call the Jinja macro.
Left pure directional glyphs (expand/collapse chevrons, move up/down
arrows, keyboard-shortcut arrows) as plain Unicode - they already render
as monochrome text, matching the existing collapsible-header chevron
pattern rather than the colorful pictographic emoji this was aimed at.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>