Update themes/patek/assets/js/dark-mode.js
This commit is contained in:
parent
8cc1d2e34d
commit
266d996237
@ -1,22 +1,28 @@
|
|||||||
function restoreDarkmode() {
|
function restoreDarkmode() {
|
||||||
const elem = document.getElementById("content");
|
const prefersDarkMode = window.matchMedia("(prefers-color-scheme: dark)");
|
||||||
if (elem && document.cookie.includes("dark-mode=true")) {
|
const elem = document.getElementById("content");
|
||||||
elem.classList.add("dark-mode");
|
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() {
|
function toggleDarkmode() {
|
||||||
const elem = document.getElementById("content");
|
const elem = document.getElementById("content");
|
||||||
if (elem) {
|
if (elem) {
|
||||||
const state = elem.classList.toggle("dark-mode");
|
const state = elem.classList.toggle('dark-mode');
|
||||||
if (state) {
|
if (state) {
|
||||||
// 31536000 = 1 year; not setting max-age would make it session bound
|
// 31536000 = 1 year; not setting max-age would make it session bound
|
||||||
document.cookie = "dark-mode=true; path=/; max-age=31536000; secure; samesite=strict";
|
document.cookie = 'dark-mode=on; path=/; max-age=31536000; secure; samesite=strict';
|
||||||
} else {
|
} else {
|
||||||
// Delete the cookie by immediately expiring it
|
// We have to set the off preference as well, so it can override the OS setting
|
||||||
document.cookie = "dark-mode=; path=/; max-age=0; secure; samesite=strict";
|
document.cookie = 'dark-mode=off; path=/; max-age=31536000; secure; samesite=strict';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
document.addEventListener("DOMContentLoaded", restoreDarkmode);
|
document.addEventListener("DOMContentLoaded", restoreDarkmode);
|
||||||
|
Loading…
Reference in New Issue
Block a user