From efa24c26b4c24cffa599f486fe600a6ac3beb73e Mon Sep 17 00:00:00 2001 From: UjjwalTomar0808 Date: Mon, 22 Sep 2025 14:11:13 +0530 Subject: [PATCH 1/2] fix(ui): Centralize theme toggle logic for consistency --- about.html | 2 ++ assets/js/about.js | 40 ++++++++++++++++++++-------------------- assets/js/theme.js | 40 ++++++++++++++++++++++++++++++++++++++++ contact.html | 25 +++---------------------- convert.html | 30 +----------------------------- customize.html | 30 ++---------------------------- faq.html | 28 +--------------------------- feedback.html | 32 +++----------------------------- index.html | 30 ++---------------------------- privacypolicy.html | 30 ++---------------------------- reportissue.html | 30 ++---------------------------- scale.html | 29 ++--------------------------- toc.html | 30 ++---------------------------- 13 files changed, 82 insertions(+), 294 deletions(-) create mode 100644 assets/js/theme.js diff --git a/about.html b/about.html index 2007cf0..522bb87 100644 --- a/about.html +++ b/about.html @@ -302,5 +302,7 @@ + + \ No newline at end of file diff --git a/assets/js/about.js b/assets/js/about.js index 6d90ae3..fb77abb 100644 --- a/assets/js/about.js +++ b/assets/js/about.js @@ -118,26 +118,26 @@ document.addEventListener("DOMContentLoaded", function () { }); // ================= Dark Mode Toggle ================= -const darkModeBtn = document.getElementById("darkModeToggle"); -const darkModeIcon = darkModeBtn.querySelector("i"); +// const darkModeBtn = document.getElementById("darkModeToggle"); +// const darkModeIcon = darkModeBtn.querySelector("i"); -// Apply saved preference on page load -if (localStorage.getItem("darkMode") === "enabled") { - document.body.classList.add("dark-mode"); - darkModeIcon.classList.remove("fa-moon"); - darkModeIcon.classList.add("fa-sun"); -} +// // Apply saved preference on page load +// if (localStorage.getItem("darkMode") === "enabled") { +// document.body.classList.add("dark-mode"); +// darkModeIcon.classList.remove("fa-moon"); +// darkModeIcon.classList.add("fa-sun"); +// } -darkModeBtn.addEventListener("click", () => { - document.body.classList.toggle("dark-mode"); +// darkModeBtn.addEventListener("click", () => { +// document.body.classList.toggle("dark-mode"); - if (document.body.classList.contains("dark-mode")) { - localStorage.setItem("darkMode", "enabled"); - darkModeIcon.classList.remove("fa-moon"); - darkModeIcon.classList.add("fa-sun"); - } else { - localStorage.setItem("darkMode", "disabled"); - darkModeIcon.classList.remove("fa-sun"); - darkModeIcon.classList.add("fa-moon"); - } -}); +// if (document.body.classList.contains("dark-mode")) { +// localStorage.setItem("darkMode", "enabled"); +// darkModeIcon.classList.remove("fa-moon"); +// darkModeIcon.classList.add("fa-sun"); +// } else { +// localStorage.setItem("darkMode", "disabled"); +// darkModeIcon.classList.remove("fa-sun"); +// darkModeIcon.classList.add("fa-moon"); +// } +// }); diff --git a/assets/js/theme.js b/assets/js/theme.js new file mode 100644 index 0000000..377dc15 --- /dev/null +++ b/assets/js/theme.js @@ -0,0 +1,40 @@ +// Centralized Dark Mode Toggle Logic +document.addEventListener('DOMContentLoaded', () => { + const darkModeToggle = document.getElementById("darkModeToggle"); + if (!darkModeToggle) return; // Exit if the button isn't on the page + + const body = document.body; + const darkModeIcon = darkModeToggle.querySelector("i"); + + // Function to apply the theme based on localStorage + const applyTheme = () => { + const currentTheme = localStorage.getItem("theme") || "light"; + if (currentTheme === "dark") { + body.classList.add("dark-mode"); + if (darkModeIcon) { + darkModeIcon.classList.remove("fa-moon"); + darkModeIcon.classList.add("fa-sun"); + } + } else { + body.classList.remove("dark-mode"); + if (darkModeIcon) { + darkModeIcon.classList.remove("fa-sun"); + darkModeIcon.classList.add("fa-moon"); + } + } + }; + + // Event listener for the toggle button + darkModeToggle.addEventListener("click", () => { + body.classList.toggle("dark-mode"); + let theme = "light"; + if (body.classList.contains("dark-mode")) { + theme = "dark"; + } + localStorage.setItem("theme", theme); + applyTheme(); // Update icon state + }); + + // Apply the theme on initial page load + applyTheme(); +}); \ No newline at end of file diff --git a/contact.html b/contact.html index eeefb87..a7a8b0a 100644 --- a/contact.html +++ b/contact.html @@ -993,29 +993,10 @@ + + +