diff options
Diffstat (limited to 'static/js')
| -rw-r--r-- | static/js/components/themeSwitcher.js | 2 | ||||
| -rw-r--r-- | static/js/util/setThemeBeforeRender.js | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/static/js/components/themeSwitcher.js b/static/js/components/themeSwitcher.js index 5f6d927..e5497f0 100644 --- a/static/js/components/themeSwitcher.js +++ b/static/js/components/themeSwitcher.js @@ -24,4 +24,4 @@ themeSwitcher.addEventListener("click", () => setTheme(flipFlopTheme(document.documentElement.getAttribute("data-theme"))), ); -setTheme(localStorage.getItem("theme") ?? THEMES.LIGHT); +setTheme(localStorage.getItem("theme") || THEMES.LIGHT); diff --git a/static/js/util/setThemeBeforeRender.js b/static/js/util/setThemeBeforeRender.js index d826193..b8f299a 100644 --- a/static/js/util/setThemeBeforeRender.js +++ b/static/js/util/setThemeBeforeRender.js @@ -1,6 +1,8 @@ +const preferredMode = window.matchMedia("(prefers-color-scheme: dark)").matches + ? "DARK" + : "LIGHT"; +localStorage.setItem("theme", localStorage.getItem("theme") || preferredMode); + // sets theme before rendering & jquery loaded to prevent flashing of uninitialized theme // (ugly white background) -document.documentElement.setAttribute( - "data-theme", - localStorage.getItem("theme"), -); +document.documentElement.setAttribute("data-theme", preferredMode); |
