diff options
Diffstat (limited to 'public/static/js/theme.js')
-rw-r--r-- | public/static/js/theme.js | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/public/static/js/theme.js b/public/static/js/theme.js new file mode 100644 index 0000000..71fb6ae --- /dev/null +++ b/public/static/js/theme.js @@ -0,0 +1,12 @@ +var validThemes = ['dark.min', 'light.min']; +var currentTheme = localStorage.getItem('theme'); +if (!validThemes.includes(currentTheme)) { + currentTheme = window.matchMedia('(prefers-color-scheme: dark').matches ? 'dark.min' : 'light.min'; +} +addStyleSheet(currentTheme, 'theme'); + +function toggleTheme() { + currentTheme = currentTheme === 'dark.min' ? 'light.min' : 'dark.min'; + localStorage.setItem('theme', currentTheme); + addStyleSheet(currentTheme, 'theme'); +} |