Add light/dark theme with system-preference detection
Neues client/src/lib/theme.ts verwaltet die Wahl (system/light/dark) in localStorage. Umschalter-Button im Header (zyklisch: System -> Hell -> Dunkel), Icon zeigt den aktuellen Modus. CSS-Variablen (--bg/--card/--text/--muted/ --bor/--cyan) bekommen einen Hell-Override über [data-theme="light"] bzw. @media(prefers-color-scheme:light) ohne explizites [data-theme="dark"] - so gewinnt eine manuelle Wahl in beide Richtungen gegen die Systemeinstellung. Header/Tabs/Login bleiben bewusst immer dunkel-navy (Markenidentität), nur der Content-Bereich wechselt. Inline-Script in index.html verhindert ein kurzes Aufblitzen des falschen Farbschemas vor dem ersten Paint. Temporärer test-build-only.yml Workflow zur Verifikation ohne Registry-Push. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
3d070d4dd7
commit
c1bb51b480
@@ -7,6 +7,14 @@
|
||||
<link rel="icon" href="/icons/favicon-32.png" sizes="32x32" />
|
||||
<link rel="apple-touch-icon" href="/icons/apple-touch-icon.png" />
|
||||
<title>BergVOLT Elektrotechnik – Materialschein</title>
|
||||
<script>
|
||||
// Vor dem ersten Paint anwenden, damit bei explizit gewähltem Theme (abweichend
|
||||
// von der Systemeinstellung) kein kurzes Aufblitzen des falschen Farbschemas passiert.
|
||||
try {
|
||||
var t = localStorage.getItem('bv_theme');
|
||||
if (t === 'light' || t === 'dark') document.documentElement.setAttribute('data-theme', t);
|
||||
} catch (e) {}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
||||
Reference in New Issue
Block a user