wacrm/src/app
Arnas Donauskas 4aa329b527
feat(theme): add light/dark mode toggle (#243)
Introduce a light/dark MODE axis orthogonal to the existing accent
themes. Neutral surface tokens now live in html[data-mode="light|dark"]
blocks; accent tokens (--primary*, --ring, --chart-1, --sidebar-primary*)
stay in html[data-theme] blocks, so any accent works in either mode.

- globals.css: split neutrals (mode) from accent (theme); add light
  palette; dark values unchanged (dark stays the default).
- lib/themes.ts: Mode type, DEFAULT_MODE=dark, MODE_STORAGE_KEY, isMode.
- use-theme.tsx: provider owns mode/setMode/toggleMode + cross-tab sync.
- layout.tsx: boot script applies persisted mode before first paint
  (no flash); colorScheme "dark light".
- mode-toggle.tsx (header sun/moon) + themed-toaster.tsx (mode-aware).
- appearance-panel.tsx: light/dark control + updated copy.
- Tokenize hardcoded neutral colors (slate/white/gray) -> semantic
  tokens across the app so every surface flips with mode. Flow canvas
  and message-bubble timestamps made mode-aware too.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 17:29:46 +03:00
..
(auth) feat(theme): add light/dark mode toggle (#243) 2026-06-16 17:29:46 +03:00
(dashboard) feat(theme): add light/dark mode toggle (#243) 2026-06-16 17:29:46 +03:00
api fix(whatsapp): allow connecting Meta test numbers without a PIN 2026-06-15 17:01:36 +03:00
join feat(theme): add light/dark mode toggle (#243) 2026-06-16 17:29:46 +03:00
globals.css feat(theme): add light/dark mode toggle (#243) 2026-06-16 17:29:46 +03:00
icon.tsx feat(theme): sweep remaining violet-* → primary across all surfaces 2026-05-22 17:00:32 +03:00
layout.tsx feat(theme): add light/dark mode toggle (#243) 2026-06-16 17:29:46 +03:00
page.tsx Revert "feat(i18n): re-attempt next-intl with hardened artifact tracing" 2026-05-31 21:05:34 +03:00