// Toggle the navigation menu and theme document.addEventListener("DOMContentLoaded", function () { var menuToggle = document.getElementById("menu-toggle"); var mainNav = document.getElementById("main-nav"); var themeToggle = document.getElementById("theme-toggle"); var body = document.body; // Menu toggle functionality menuToggle.addEventListener("click", function () { mainNav.classList.toggle("open"); }); // Theme toggle functionality themeToggle.addEventListener("click", function () { // Toggle between 'light' and 'dark' themes var currentTheme = body.getAttribute("data-theme") || "light"; var newTheme = currentTheme === "dark" ? "light" : "dark"; body.setAttribute("data-theme", newTheme); localStorage.setItem("theme", newTheme); }); // On page load, set the theme from localStorage or system preference var storedTheme = localStorage.getItem("theme"); if (storedTheme) { body.setAttribute("data-theme", storedTheme); } else { // Detect system preference var prefersDarkScheme = window.matchMedia("(prefers-color-scheme: dark)").matches; var defaultTheme = prefersDarkScheme ? "dark" : "light"; body.setAttribute("data-theme", defaultTheme); } // Listen for changes in the system color scheme window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", function (e) { var storedTheme = localStorage.getItem("theme"); if (!storedTheme) { var newColorScheme = e.matches ? "dark" : "light"; body.setAttribute("data-theme", newColorScheme); } }); });