Add functioning site-wide dark mode

This commit is contained in:
2024-11-29 14:56:18 +01:00
parent 17de8b21e6
commit 44d8642e30
5 changed files with 100 additions and 9 deletions

View File

@@ -1,4 +0,0 @@
function toggleDarkMode() {
document.body.classList.toggle("dark-mode");
}

44
static/js/main.js Normal file
View File

@@ -0,0 +1,44 @@
document.addEventListener("DOMContentLoaded", function() {
setDarkMode()
})
function setCookie(cname, cvalue, exdays) {
document.cookie = cname + "=" + cvalue + ";path=/";
}
function getCookie(cname) {
let name = cname + "=";
let decodedCookie = decodeURIComponent(document.cookie);
let ca = decodedCookie.split(';');
for(let i = 0; i <ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}
function isStringTrue(val) {
return String(val).toLowerCase() === 'true'
}
function toggleDarkMode() {
let darkMode = getCookie("setDarkMode");
if(isStringTrue(darkMode))
setCookie("setDarkMode", false);
else
setCookie("setDarkMode", true);
document.body.classList.toggle("dark-mode");
}
function setDarkMode() {
let darkMode = getCookie("setDarkMode");
if(isStringTrue(darkMode))
document.body.classList.toggle("dark-mode");
}