fix: theme reverts to light on reload when system preference stored (#61)

This commit is contained in:
Ulas Kalayci
2026-04-20 10:08:07 +02:00
parent e48d249fbe
commit 30d3d6cd13
4 changed files with 15 additions and 5 deletions
+7 -2
View File
@@ -47,9 +47,14 @@
(function() {
var stored = localStorage.getItem('oikos-theme');
var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
document.documentElement.setAttribute('data-theme', stored || (prefersDark ? 'dark' : 'light'));
if (stored === 'dark' || stored === 'light') {
document.documentElement.setAttribute('data-theme', stored);
} else {
document.documentElement.setAttribute('data-theme', prefersDark ? 'dark' : 'light');
}
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', function(e) {
if (!localStorage.getItem('oikos-theme')) {
var current = localStorage.getItem('oikos-theme');
if (!current || current === 'system') {
document.documentElement.setAttribute('data-theme', e.matches ? 'dark' : 'light');
}
});