Dark mode: Light/Dark/System setting with token-based dark palette #180
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#180
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The SPA is light-only today; only the no-JS public shell has a minimal dark block (#167). Add a real dark mode as the first stage of the theming roadmap (accent theming and pond accents follow as separate issues).
Scope
tokens.cssvia:root[data-theme='dark']; JS always resolves to a concretedata-theme(light/dark), so the selector contract stays simple for later theming stages.color-schemeper theme so scrollbars and native controls follow.ui.theme.modein localStorage, like the single-key-shortcut toggle from #170). New Appearance section on the settings page (fieldset with native radios, de+en).public/theme-init.jsloaded in<head>before the bundle (CSPscript-src 'self'forbids inline scripts), pluscolor-schememeta and pairedtheme-colormetas inindex.html.base.cssto new tokens first (badges, danger hover, notification badge, overdue date) - light rendering stays pixel-identical.tokens.css.Acceptance criteria
pnpm typecheck, lint,i18n:checkgreen.Shipped with PR #181 (merged fast-forward, main=77df813). CI run 454 green (453 caught the settings-nav section-count fence, fixed). CD run 455 green; verified live on Test and Int: readyz 5/5 ok, theme-init.js served (200), dark token block present in the shipped CSS bundle (index-B3JdpRej.css). ADR 0018 documents the theming model; accent/pond stages follow as separate issues.