Files
Protocol-oral-history-project/assets/js/darkmode.js
2025-04-26 14:57:47 -06:00

19 lines
746 B
JavaScript

// Set initial theme on page load
(function() {
const isDark = localStorage.theme === "dark" ||
(!("theme" in localStorage) && window.matchMedia("(prefers-color-scheme: dark)").matches);
document.documentElement.classList.toggle("dark", isDark);
// Update label on load
const label = document.getElementById("darkmode-label");
if (label) label.textContent = !isDark ? "Dark" : "Light";
})();
// Toggle dark mode and update label/localStorage
function toggleDarkMode() {
const html = document.documentElement;
const isDark = html.classList.toggle("dark");
localStorage.theme = isDark ? "dark" : "light";
const label = document.getElementById("darkmode-label");
if (label) label.textContent = !isDark ? "Dark" : "Light";
}