hermes-agent/web/src/components
Teknium 3f6c4346ac feat: dashboard theme system with live switching
Add a theme engine for the web dashboard that mirrors the CLI skin
engine philosophy — pure data, no code changes needed for new themes.

Frontend:
- ThemeProvider context that loads active theme from backend on mount
  and applies CSS variable overrides to document.documentElement
- ThemeSwitcher dropdown component in the header (next to language
  switcher) with instant preview on click
- 6 built-in themes: Hermes Teal (default), Midnight, Ember, Mono,
  Cyberpunk, Rosé — each defines all 21 color tokens + overlay settings
- Theme types, presets, and context in web/src/themes/

Backend:
- GET /api/dashboard/themes — returns available themes + active name
- PUT /api/dashboard/theme — persists selection to config.yaml
- User custom themes discoverable from ~/.hermes/dashboard-themes/*.yaml
- Theme list endpoint added to public API paths (no auth needed)

Config:
- dashboard.theme key in DEFAULT_CONFIG (default: 'default')
- Schema override for select dropdown in config page
- Category merged into 'display' tab in config UI

i18n: theme switcher strings added for en + zh.
2026-04-16 02:44:32 -07:00
..
ui feat: react-router, sidebar layout, sticky header, dropdown component, remove emojis, rounded corners 2026-04-14 00:01:18 -04:00
AutoField.tsx feat: react-router, sidebar layout, sticky header, dropdown component, remove emojis, rounded corners 2026-04-14 00:01:18 -04:00
LanguageSwitcher.tsx feat(web): re-apply dashboard UI improvements on top of i18n 2026-04-14 10:23:43 -04:00
Markdown.tsx feat: react-router, sidebar layout, sticky header, dropdown component, remove emojis, rounded corners 2026-04-14 00:01:18 -04:00
ModelInfoCard.tsx feat(web): re-apply dashboard UI improvements on top of i18n 2026-04-14 10:23:43 -04:00
OAuthLoginModal.tsx feat: add internationalization (i18n) to web dashboard — English + Chinese (#9453) 2026-04-13 23:19:13 -07:00
OAuthProvidersCard.tsx feat(web): re-apply dashboard UI improvements on top of i18n 2026-04-14 10:23:43 -04:00
ThemeSwitcher.tsx feat: dashboard theme system with live switching 2026-04-16 02:44:32 -07:00
Toast.tsx feat: dashboard OAuth provider management 2026-04-13 11:18:18 -07:00