dorfteich/apps/web
Claude Fable 5 2c571f9f5e #180: dark mode — Light/Dark/System setting with token-based dark palette
The dark palette lives as a single :root[data-theme='dark'] block in
tokens.css; theme.ts and the pre-paint public/theme-init.js (external file
because the prod CSP forbids inline scripts) always resolve the stored
ui.theme.mode to a concrete data-theme, so 'system' needs no @media
duplicate and follows live OS changes via matchMedia. color-scheme flips
per theme (native controls/scrollbars), paired theme-color metas track the
effective theme, and the new Appearance settings section offers the
three-way choice as native radios (device-local, like #170). Label chips
gain a chip-outline ring so arbitrary user colors stay separated on the
dark canvas; useEffectiveTheme() is exported for the later pond-scoped
theming stage (ADR 0018).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QRtCnB3uLdQtFmvp9HXcRX
2026-07-28 20:40:47 +02:00
..
e2e #175: Admin-Personenliste — Aktions-Icons statt Textlinks, Reihenfolge Admin/Deaktivieren/Löschen 2026-07-26 17:41:26 +02:00
public #180: dark mode — Light/Dark/System setting with token-based dark palette 2026-07-28 20:40:47 +02:00
src #180: dark mode — Light/Dark/System setting with token-based dark palette 2026-07-28 20:40:47 +02:00
Dockerfile Add the sandbox host runtime for plugin iframes (#73) 2026-07-11 09:16:30 +02:00
index.html #180: dark mode — Light/Dark/System setting with token-based dark palette 2026-07-28 20:40:47 +02:00
nginx.conf CSP: data:-Fonts erlauben (eingebettete Fonts in Excalidraw-SVGs) 2026-07-19 22:27:17 +02:00
package.json #171: A11y-Tooling — axe-Smoke-Pack in CI 2026-07-21 15:24:56 +02:00
playwright.config.ts Add CD workflow: build-push, deploy Test, smoke suite, promote Int 2026-07-04 19:57:16 +02:00
tsconfig.json Add React SPA shell with routing, layout, and API status 2026-07-04 19:19:12 +02:00
vite.config.ts Add offline editing: local persistence, PWA shell, offline resolution (#38) 2026-07-08 22:08:55 +02:00
vitest.config.ts Keep Playwright specs out of Vitest collection 2026-07-05 00:28:28 +02:00