From c43d90a7a7424678964c082547471ba4e7de3aef Mon Sep 17 00:00:00 2001 From: ManmathX Date: Mon, 14 Oct 2024 01:39:11 +0530 Subject: [PATCH] Update darkmode.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Here’s an improved version of your dark mode toggle script, focusing on readability, organization, and additional features: --- darkmode.js | 51 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/darkmode.js b/darkmode.js index 4f4f997..bb8f2df 100644 --- a/darkmode.js +++ b/darkmode.js @@ -1,15 +1,38 @@ -let darkmode= localStorage.getItem('darkmode') -const themeSwitch = document.getElementById('theme-switch') -const enableDarkmode = () => { - document.body.classList.add('darkmode') - localStorage.setItem('darkmode','active') + +let darkmode = localStorage.getItem('darkmode'); +const themeSwitch = document.getElementById('theme-switch'); + + +const enableDarkMode = () => { + document.body.classList.add('darkmode'); + localStorage.setItem('darkmode', 'active'); + updateThemeSwitchText(); +}; + + +const disableDarkMode = () => { + document.body.classList.remove('darkmode'); + localStorage.setItem('darkmode', 'inactive'); + updateThemeSwitchText(); +}; + + +const updateThemeSwitchText = () => { + themeSwitch.textContent = darkmode === "active" ? "Switch to Light Mode ☀️" : "Switch to Dark Mode 🌙"; +}; + + +if (darkmode === "active") { + enableDarkMode(); +} else { + disableDarkMode(); } -const disableDarkmode = () => { - document.body.classList.remove('darkmode') - localStorage.setItem('darkmode',null) -} -if(darkmode==="active") enableDarkmode() -themeSwitch.addEventListener("click", () =>{ - darkmode=localStorage.getItem('darkmode') - darkmode!=="active" ? enableDarkmode() : disableDarkmode() -}) \ No newline at end of file + + +themeSwitch.addEventListener("click", () => { + darkmode = localStorage.getItem('darkmode'); + darkmode === "active" ? disableDarkMode() : enableDarkMode(); +}); + +// Update button text on initial load +updateThemeSwitchText();