From 82f2ae984e9231353bd338c117b7060ceae70f5a Mon Sep 17 00:00:00 2001 From: onomanapeia Date: Mon, 23 Dec 2024 13:29:18 -0600 Subject: [PATCH] fix theme.js ty lucidiot ;w; --- theme.js | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/theme.js b/theme.js index c23fc12..b439359 100644 --- a/theme.js +++ b/theme.js @@ -1,17 +1,20 @@ - var DEFAULT_THEME = "peach"; - var THEMES = [DEFAULT_THEME, "moon", "sakura", "honey"]; - - function setTheme(theme) { - if (THEMES.indexOf(theme) < 0) theme = DEFAULT_THEME; - document.getElementById('switcher-id').href = '/themes/' + theme + '.css'; - localStorage.setItem('style', theme); - } - - setTheme(localStorage.getItem('style')); - - const switches = document.getElementsByClassName('switch'); - for (const el of switches) { - el.addEventListener('click', () => { +window.addEventListener('load', function() { +var prefersDarkScheme = window.matchMedia !== undefined && window.matchMedia("(prefers-color-scheme: dark)").matches; +var DEFAULT_THEME = prefersDarkScheme ? 'moon' : 'peach'; +var THEMES = ["moon", "peach", "sakura", "honey"]; + +function setTheme(theme) { + if (THEMES.indexOf(theme) < 0) theme = DEFAULT_THEME; + document.getElementById('switcher-id').href = '/themes/' + theme + '.css'; + localStorage.setItem('style', theme); +} + +setTheme(localStorage.getItem('style')); + +const switches = document.getElementsByClassName('switch'); +for (const el of switches) { + el.addEventListener('click', () => { setTheme(el.dataset.theme); }); -}; \ No newline at end of file +}; +}) \ No newline at end of file