update toogle
This commit is contained in:
@@ -109,18 +109,32 @@ window.onload = function () {
|
||||
?.addEventListener("click", toggleMenu);
|
||||
|
||||
// Theme toggle logic
|
||||
function updateThemeIcons() {
|
||||
const isDark = document.documentElement.classList.contains("dark");
|
||||
const toggles = document.querySelectorAll(".theme-toggle-btn");
|
||||
toggles.forEach((btn) => {
|
||||
const lightIcon = btn.querySelector(".theme-toggle-light-icon");
|
||||
const darkIcon = btn.querySelector(".theme-toggle-dark-icon");
|
||||
if (!lightIcon || !darkIcon) return;
|
||||
if (isDark) {
|
||||
lightIcon.classList.add("hidden");
|
||||
darkIcon.classList.remove("hidden");
|
||||
} else {
|
||||
lightIcon.classList.remove("hidden");
|
||||
darkIcon.classList.add("hidden");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function setTheme(theme) {
|
||||
if (theme === "dark") {
|
||||
document.documentElement.classList.add("dark");
|
||||
localStorage.setItem("theme", "dark");
|
||||
if (document.getElementById("theme-toggle-icon")) document.getElementById("theme-toggle-icon").textContent = "🌙";
|
||||
if (document.getElementById("theme-toggle-icon-mobile")) document.getElementById("theme-toggle-icon-mobile").textContent = "🌙";
|
||||
} else {
|
||||
document.documentElement.classList.remove("dark");
|
||||
localStorage.setItem("theme", "light");
|
||||
if (document.getElementById("theme-toggle-icon")) document.getElementById("theme-toggle-icon").textContent = "☀️";
|
||||
if (document.getElementById("theme-toggle-icon-mobile")) document.getElementById("theme-toggle-icon-mobile").textContent = "☀️";
|
||||
}
|
||||
updateThemeIcons();
|
||||
}
|
||||
|
||||
// Initial theme
|
||||
@@ -133,17 +147,12 @@ window.onload = function () {
|
||||
setTheme("light");
|
||||
}
|
||||
|
||||
// Toggle event listeners
|
||||
const themeToggle = document.getElementById("theme-toggle");
|
||||
if (themeToggle) {
|
||||
themeToggle.addEventListener("click", function () {
|
||||
setTheme(document.documentElement.classList.contains("dark") ? "light" : "dark");
|
||||
// Toggle event listeners (support multiple buttons)
|
||||
const themeToggleButtons = document.querySelectorAll(".theme-toggle-btn");
|
||||
themeToggleButtons.forEach((btn) => {
|
||||
btn.addEventListener("click", function () {
|
||||
const isDark = document.documentElement.classList.contains("dark");
|
||||
setTheme(isDark ? "light" : "dark");
|
||||
});
|
||||
}
|
||||
const themeToggleMobile = document.getElementById("theme-toggle-mobile");
|
||||
if (themeToggleMobile) {
|
||||
themeToggleMobile.addEventListener("click", function () {
|
||||
setTheme(document.documentElement.classList.contains("dark") ? "light" : "dark");
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
Reference in New Issue
Block a user