navi/src
Matt a7fd4e4e8c feat(themes): add theme picker with swatch previews and per-theme fonts
PART 1: Add missing CSS variables to all ui objects
- Add --bg-inset, --bg-muted for component backgrounds
- Add --success, --warning as aliases for --status-success/warning
- Add --warning-muted for warning background states
- Each theme now has 32 CSS variables

PART 2: Per-theme font support
- Move --font-sans and --font-mono from :root to ui objects
- Add fontImports array to theme config (for future custom fonts)
- applyThemeUI() now manages <link> tags for font imports
- Existing themes use empty fontImports (system fonts already loaded)

PART 3: Swatch preview colors
- Add swatch array (3 hex colors) to each theme for visual preview
- light: warm tan, sage green, khaki
- dark: dark brown, sage green, tan
- clean: light gray, Google blue, Google green
- themeList() now returns swatch in result shape

PART 4: Theme picker UI
- New ThemePicker component replaces icon toggle in header
- Palette icon trigger opens popover below
- Shows all themes as circular swatches (conic gradient)
- Active theme has accent ring indicator
- Click swatch to apply theme, closes popover
- Click outside or Escape closes popover
- Styled with current theme CSS variables

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-01 17:42:51 +00:00
..
components feat(themes): add theme picker with swatch previews and per-theme fonts 2026-05-01 17:42:51 +00:00
hooks feat(themes): consolidate UI CSS properties into theme registry 2026-05-01 16:17:26 +00:00
themes feat(themes): add theme picker with swatch previews and per-theme fonts 2026-05-01 17:42:51 +00:00
utils style(radial): match Navi color palette in light and dark themes 2026-04-26 06:17:48 +00:00
api.js fix: final cleanup — disable radial menu, document auth pattern 2026-04-27 04:11:34 +00:00
App.jsx feat: add auth-state awareness and graceful degradation 2026-04-27 01:32:00 +00:00
config.js Add BLM roads/trails layer 2026-04-30 20:40:44 +00:00
index.css feat(themes): add theme picker with swatch previews and per-theme fonts 2026-05-01 17:42:51 +00:00
main.jsx feat(navi): config-driven tile source, defaults, and feature flags 2026-04-20 23:36:02 +00:00
store.js fix(map): call updateBoundary directly, remove useEffect 2026-04-29 23:23:11 +00:00