Collapse the 10 theme cards into 5 pairs (light swatches top row, dark bottom row)
Dark mode toggle in settings and topbar (sun/moon inline SVG matching the gear style)
Selecting a pair applies the variant matching the current dark state; toggling dark mode flips to the other variant of the selected pair
Persist pair id in localStorage palette-theme, dark flag in palette-dark; server default via PALETTE_DEFAULT_DARK (unset = dark on; false/0/off = light)
Precedence: URL ?theme= (base or variant id) > stored pair+dark > server default
Settings gear highlights like selected nav tabs on /settings
Server-side ResolvePreset/SetDefaultDark helpers with tests
Rendered verification done: /settings shows 5 cards x 10 swatches (2 rows), toggles flip data-preset and sync aria-pressed, /admin shows the topbar toggle, screenshots of both modes taken.
Fixes #127
- Collapse the 10 theme cards into 5 pairs (light swatches top row, dark bottom row)
- Dark mode toggle in settings and topbar (sun/moon inline SVG matching the gear style)
- Selecting a pair applies the variant matching the current dark state; toggling dark mode flips to the other variant of the selected pair
- Persist pair id in localStorage palette-theme, dark flag in palette-dark; server default via PALETTE_DEFAULT_DARK (unset = dark on; false/0/off = light)
- Precedence: URL ?theme= (base or variant id) > stored pair+dark > server default
- Settings gear highlights like selected nav tabs on /settings
- Server-side ResolvePreset/SetDefaultDark helpers with tests
Rendered verification done: /settings shows 5 cards x 10 swatches (2 rows), toggles flip data-preset and sync aria-pressed, /admin shows the topbar toggle, screenshots of both modes taken.
- Collapse the 10 theme cards into 5 pairs: light swatches top row, dark bottom row
- Dark mode toggle in settings and topbar (sun/moon inline SVG)
- Toggling dark mode switches to the other variant of the selected pair
- Persist pair id in localStorage palette-theme, dark flag in palette-dark
- Head script resolves base+dark to variant; URL ?theme= accepts both ids and wins
- Settings gear highlights like nav tabs on /settings
- PALETTE_DEFAULT_DARK env var sets server default dark state (default on)
- Server-side resolution helpers + tests
fen
merged commit 19cb8d1d45 into dev2026-09-10 03:25:36 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fixes #127
Rendered verification done: /settings shows 5 cards x 10 swatches (2 rows), toggles flip data-preset and sync aria-pressed, /admin shows the topbar toggle, screenshots of both modes taken.