const darkMode = { mainBg: '#1b0d1f', contentBg: '#1b0d1f', accent: '#896a95', primaryText: '#e4c2f1', primaryLink: '#b666d9', primaryLinkHover: '#f2e0f8' }; const lightMode = { mainBg: '#edf6d1', contentBg: '#edf6d1', accent: '#929a79', primaryText: '#1d2114', primaryLink: '#667937', primaryLinkHover: '#343c1f' }; const root = document.querySelector(':root'); const themeToggle = document.getElementById('theme-toggle'); const applyTheme = (theme) => { root.style.setProperty("--main-bg", theme.mainBg); root.style.setProperty("--content-bg", theme.contentBg); root.style.setProperty("--primary-text", theme.primaryText); root.style.setProperty("--accent", theme.accent); root.style.setProperty("--primary-link", theme.primaryLink); root.style.setProperty("--primary-link-hover", theme.primaryLinkHover); } const enableDarkMode = () => { applyTheme(darkMode); localStorage.setItem('theme', 'dark'); themeToggle.innerText = '☀️ Light Theme'; themeToggle.value = 'Light Mode'; } const disableDarkMode = () => { applyTheme(lightMode); localStorage.setItem('theme', 'light'); themeToggle.innerText = '🌙 Dark Theme'; themeToggle.value = 'Dark Mode'; } const detectTheme = () => { let theme = 'light'; let themeObj = lightMode; if (localStorage.getItem('theme')) { theme = localStorage.getItem('theme'); } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { theme = 'dark'; } theme === 'dark' ? enableDarkMode() : disableDarkMode(); } themeToggle.className = ""; detectTheme(); themeToggle.addEventListener('click', () => { localStorage.getItem('theme') === 'light' ? enableDarkMode() : disableDarkMode(); }); console.log('This site was generated by Hugo.');