Skip to content

feat(web): add theme system with CSS variables and settings modal#4133

Merged
theonlyhennygod merged 1 commit intomasterfrom
feat/web-theme-system
Mar 21, 2026
Merged

feat(web): add theme system with CSS variables and settings modal#4133
theonlyhennygod merged 1 commit intomasterfrom
feat/web-theme-system

Conversation

@theonlyhennygod
Copy link
Copy Markdown
Collaborator

Summary

  • Adds ThemeContext, ThemeProvider, themeStorage, and useTheme hook for managing theme mode, accent color, UI/mono fonts and font sizes with localStorage persistence
  • Creates SettingsModal component for live preview of theme, accent, font, and size choices
  • Integrates ThemeProvider into App, adds settings button in Header
  • Updates Layout/Sidebar/ErrorBoundary/PairingDialog and all page components to use CSS custom properties instead of hardcoded colors
  • Simplifies locale/context typings

Supersedes

Integrated Scope

Attribution

  • Co-authored-by trailer added for materially incorporated contributor: Yes

Non-goals

  • No backend changes — web-only
  • No new dependencies added

Risk and Rollback

  • Risk: Low — web UI only, no backend/security impact
  • Rollback: revert commit

Test plan

  • Verify theme switching (system/dark/light/oled) applies correctly
  • Verify accent color changes reflect across all components
  • Verify font and size settings persist across page reloads
  • Verify settings modal opens/closes properly
  • Verify existing pages render correctly with new CSS variables

Co-authored-by: nanyuantingfeng nanyuantingfeng@163.com

🤖 Generated with Claude Code

- Add ThemeContext with light/dark/system theme support
- Migrate all hardcoded colors to CSS variables
- Add SettingsModal for theme customization
- Add font loader for dynamic font selection
- Add i18n support for Chinese and Turkish locales
- Fix accessibility: add aria-live to pairing error message
@theonlyhennygod theonlyhennygod merged commit bcdbce0 into master Mar 21, 2026
18 checks passed
webhive pushed a commit to webhive/zeroclaw that referenced this pull request Mar 24, 2026
…roclaw-labs#4133)

- Add ThemeContext with light/dark/system theme support
- Migrate all hardcoded colors to CSS variables
- Add SettingsModal for theme customization
- Add font loader for dynamic font selection
- Add i18n support for Chinese and Turkish locales
- Fix accessibility: add aria-live to pairing error message

Co-authored-by: nanyuantingfeng <nanyuantingfeng@163.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants