diff --git a/themes/patek/assets/js/dark-mode.js b/themes/patek/assets/js/dark-mode.js index 195c5a2..43df99f 100644 --- a/themes/patek/assets/js/dark-mode.js +++ b/themes/patek/assets/js/dark-mode.js @@ -1,28 +1,30 @@ function restoreDarkmode() { - const prefersDarkMode = window.matchMedia("(prefers-color-scheme: dark)"); - const elem = document.getElementById("content"); - if(!document.cookie.includes("dark-mode=")) { - if (prefersDarkMode.matches) { - elem.classList.add("dark-mode"); - } - } - if (elem && document.cookie.includes("dark-mode=on")) { - elem.classList.add("dark-mode"); - } + const prefersDarkMode = window.matchMedia("(prefers-color-scheme: dark)"); + const elem = document.getElementById("content"); + + if (!document.cookie.includes("dark-mode=")) { + if (prefersDarkMode.matches) { + elem.classList.add("dark-mode"); + } + } + + if (elem && document.cookie.includes("dark-mode=on")) { + elem.classList.add("dark-mode"); + } } function toggleDarkmode() { - const elem = document.getElementById("content"); - if (elem) { - const state = elem.classList.toggle('dark-mode'); - if (state) { - // 31536000 = 1 year; not setting max-age would make it session bound - document.cookie = 'dark-mode=on; path=/; max-age=31536000; secure; samesite=strict'; - } else { - // We have to set the off preference as well, so it can override the OS setting - document.cookie = 'dark-mode=off; path=/; max-age=31536000; secure; samesite=strict'; - } - } + const elem = document.getElementById("content"); + if (elem) { + const state = elem.classList.toggle("dark-mode"); + if (state) { + // 31536000 = 1 year; not setting max-age would make it session bound + document.cookie = "dark-mode=on; path=/; max-age=31536000; secure; samesite=strict"; + } else { + // We have to set the off preference as well, so it can override the OS setting + document.cookie = "dark-mode=off; path=/; max-age=31536000; secure; samesite=strict"; + } + } } document.addEventListener("DOMContentLoaded", restoreDarkmode);