navi/src
Matt c701463283 Add theme registry for custom protomaps flavor support
Introduces src/themes/registry.js with:
- getTheme(id) - lookup theme config by ID
- getThemeColors(id) - get flavor object (namedTheme for built-ins, custom colors for others)
- getThemeSprite(id) - get sprite URL with fallback for custom themes
- themeList() - list available themes for UI

Updates MapView.jsx:
- Import registry functions instead of namedTheme directly
- buildStyle() uses getThemeColors() and getThemeSprite()
- Overlay add functions use isCurrentThemeDark() helper that checks
  registry dark flag instead of string comparison

Reference files:
- dark-flavor-reference.json - full namedTheme('dark') output (73 flat keys + pois + landcover)
- light-flavor-reference.json - full namedTheme('light') output
- README.md - schema documentation for creating custom themes

This is a refactor only - light/dark themes render identically to before.
Custom themes can now be added to registry.js with full flavor objects.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-01 15:27:01 +00:00
..
components Add theme registry for custom protomaps flavor support 2026-05-01 15:27:01 +00:00
hooks feat(map): add radial context menu with reverse-geocode action 2026-04-26 05:42:48 +00:00
themes Add theme registry for custom protomaps flavor support 2026-05-01 15:27:01 +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 Fix button wrapping and add scale bar control 2026-04-28 22:06:35 +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