fix: use CSS media query as authoritative dark mode source for system preference

This commit is contained in:
Ulas Kalayci
2026-04-20 10:37:24 +02:00
parent ca3da0eccd
commit 09b339e5f9
6 changed files with 120 additions and 24 deletions
+6 -4
View File
@@ -851,11 +851,13 @@ function currentTheme() {
function applyTheme(value) {
localStorage.setItem('oikos-theme', value);
if (value === 'light' || value === 'dark') {
document.documentElement.setAttribute('data-theme', value);
if (value === 'dark') {
document.documentElement.setAttribute('data-theme', 'dark');
} else if (value === 'light') {
document.documentElement.setAttribute('data-theme', 'light');
} else {
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
document.documentElement.setAttribute('data-theme', prefersDark ? 'dark' : 'light');
document.documentElement.removeAttribute('data-theme');
// tokens.css @media (prefers-color-scheme: dark) übernimmt sofort
}
}