From 11b374743c4020028a1d7b210c7285bca9f5e030 Mon Sep 17 00:00:00 2001 From: Musselman Date: Thu, 30 Nov 2023 01:37:27 -0600 Subject: [PATCH] Take intial mode from prefers-color-scheme --- static/build/darkmode.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/static/build/darkmode.js b/static/build/darkmode.js index d8b9d93..c38c991 100644 --- a/static/build/darkmode.js +++ b/static/build/darkmode.js @@ -1,11 +1,22 @@ +let darkModeEnabled = false; // Default to false + // Check if user preference for dark mode is stored in a cookie -let darkModeEnabled = (document.cookie.indexOf('darkModeEnabled=true') !== -1); +const cookieValue = document.cookie; +if (cookieValue.indexOf('darkModeEnabled=true') !== -1) { + darkModeEnabled = true; +} else { + // Check if user preference for dark mode is set at the system level + const prefersDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches; + if (prefersDarkMode) { + darkModeEnabled = true; + } +} // Apply dark mode based on the user's preference function applyDarkMode() { const theme = darkModeEnabled ? "dark" : "light"; document.documentElement.setAttribute("data-bs-theme", theme); - + // Change the icon based on the theme const icon = darkModeEnabled ? "fa-sun" : "fa-moon"; const iconElement = document.getElementById("darkModeIcon");