schmelczer-dev/src/scripts/theme-init.js
2026-05-11 21:30:57 +01:00

22 lines
661 B
JavaScript

(function () {
var key = 'theme';
var legacyKey = 'dark-mode';
var saved = null;
try {
var value = localStorage.getItem(key);
if (value === 'light' || value === 'dark') {
saved = value;
} else {
var legacyValue = localStorage.getItem(legacyKey);
if (legacyValue !== null) {
saved = JSON.parse(legacyValue) ? 'dark' : 'light';
}
}
} catch (e) {
saved = null;
}
var systemDark = matchMedia('(prefers-color-scheme: dark)').matches;
var theme = saved || (systemDark ? 'dark' : 'light');
document.documentElement.dataset.theme = theme;
document.documentElement.style.colorScheme = theme;
})();