From 68ac206f77fa8fe54d1e78527fa85109b05bfc1b Mon Sep 17 00:00:00 2001 From: CommanderRedYT Date: Tue, 1 Dec 2020 04:14:52 +0100 Subject: [PATCH] Prevent "darkMode"-class duplication --- js/main.js | 72 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 26 deletions(-) diff --git a/js/main.js b/js/main.js index 3d01044..bd1f1c2 100644 --- a/js/main.js +++ b/js/main.js @@ -3,32 +3,41 @@ var state = false; var debug = "false"; if (getCookie("darkmode") == null) { applyDarkmode = false; - if(debug == "true") console.log('Cookie "darkmode" empty'); + if (debug == "true") console.log('Cookie "darkmode" empty'); } else { applyDarkmode = getCookie("darkmode"); - if(debug == "true") console.log("Cookie darkmode:" + applyDarkmode); + if (debug == "true") console.log("Cookie darkmode:" + applyDarkmode); } var isDark = false; function setdarkMode(state) { - if(debug == "true") console.log( - 'function "setdarkMode" was initiated with value "state" as ' + state - ); + if (debug == "true") + console.log( + 'function "setdarkMode" was initiated with value "state" as ' + state + ); var elements = document.getElementsByClassName("couldDark"); len = elements !== null ? elements.length : 0; i = 0; if (state == true) { for (i; i < len; i++) { - elements[i].classList.add("darkMode"); + if (elements[i].classList.contains("darkMode") == false) { + elements[i].classList.add("darkMode"); + } } - document.getElementById("darkModeImg").src = "https://pfostendynamics.com/img/darkmode.png"; - document.getElementById("pfostendynamics").src = "https://pfostendynamics.com/img/PfostenDynamicsDark.png"; + document.getElementById("darkModeImg").src = + "https://pfostendynamics.com/img/darkmode.png"; + document.getElementById("pfostendynamics").src = + "https://pfostendynamics.com/img/PfostenDynamicsDark.png"; } else if (state == false) { for (i; i < len; i++) { - elements[i].classList.remove("darkMode"); + if (elements[i].classList.contains("darkMode") == true) { + elements[i].classList.remove("darkMode"); + } } - document.getElementById("darkModeImg").src = "https://pfostendynamics.com/img/lightmode.png"; - document.getElementById("pfostendynamics").src = "https://pfostendynamics.com/img/PfostenDynamics.png"; + document.getElementById("darkModeImg").src = + "https://pfostendynamics.com/img/lightmode.png"; + document.getElementById("pfostendynamics").src = + "https://pfostendynamics.com/img/PfostenDynamics.png"; } state = state.toString(); setCookie("darkmode", state, 999); @@ -36,9 +45,10 @@ function setdarkMode(state) { } function setNavbar(state) { - if(debug == "true") console.log( - 'function "setNavbar" was initiated with value "state" as ' + state - ); + if (debug == "true") + console.log( + 'function "setNavbar" was initiated with value "state" as ' + state + ); if (state) { document.getElementById("navbar").classList.remove("navbar-light"); document.getElementById("navbar").classList.remove("bg-light"); @@ -55,7 +65,7 @@ function setNavbar(state) { function darkMode() { applyDarkmode = !applyDarkmode; - if(debug == "true") console.log("applyDarkmode:" + applyDarkmode); + if (debug == "true") console.log("applyDarkmode:" + applyDarkmode); setdarkMode(applyDarkmode); setNavbar(applyDarkmode); return; @@ -65,11 +75,15 @@ function checkDarkmode() { var tmp = getCookie("darkmode"); if (tmp == "false") { isDark = false; - document.getElementById("darkModeImg").src = "https://pfostendynamics.com/img/lightmode.png"; - document.getElementById("pfostendynamics").src = "https://pfostendynamics.com/img/PfostenDynamics.png"; + document.getElementById("darkModeImg").src = + "https://pfostendynamics.com/img/lightmode.png"; + document.getElementById("pfostendynamics").src = + "https://pfostendynamics.com/img/PfostenDynamics.png"; } else if (tmp == "true") { - document.getElementById("darkModeImg").src = "https://pfostendynamics.com/img/darkmode.png"; - document.getElementById("pfostendynamics").src = "https://pfostendynamics.com/img/PfostenDynamicsDark.png"; + document.getElementById("darkModeImg").src = + "https://pfostendynamics.com/img/darkmode.png"; + document.getElementById("pfostendynamics").src = + "https://pfostendynamics.com/img/PfostenDynamicsDark.png"; isDark = true; } applyDarkmode = isDark; @@ -80,14 +94,20 @@ function checkDarkmode() { i = 0; if (state == true) { for (i; i < len; i++) { - elements[i].className += " darkMode"; + if (elements[i].classList.contains("darkMode") == false) { + elements[i].className += " darkMode"; + } } - document.getElementById("darkModeImg").src = "https://pfostendynamics.com/img/darkmode.png"; + document.getElementById("darkModeImg").src = + "https://pfostendynamics.com/img/darkmode.png"; } else if (state == false) { for (i; i < len; i++) { - elements[i].classList.remove("darkMode"); + if (elements[i].classList.contains("darkMode") == true) { + elements[i].classList.remove("darkMode"); + } } - document.getElementById("darkModeImg").src = "https://pfostendynamics.com/img/lightmode.png"; + document.getElementById("darkModeImg").src = + "https://pfostendynamics.com/img/lightmode.png"; } setNavbar(isDark); return isDark; @@ -95,11 +115,11 @@ function checkDarkmode() { function load() { debug = getCookie("debug"); - if(getCookie("darkmode") == "") { + if (getCookie("darkmode") == "") { setCookie("darkmode", false, 999); } checkDarkmode(); - if(location.hostname == "localhost") givePHP(); + if (location.hostname == "localhost") givePHP(); } /*Cookie scripts*/ @@ -132,4 +152,4 @@ function setDebug(debugval) { setCookie("debug", debugval, 999); debug = getCookie("debug"); return debug; -} \ No newline at end of file +}