document.addEventListener('DOMContentLoaded', () => { // Mobile menu toggle functionality const mobileMenuButton = document.querySelector('[data-collapse-toggle="mobile-menu"]'); const mobileMenu = document.getElementById('mobile-menu'); if (mobileMenuButton && mobileMenu) { mobileMenuButton.addEventListener('click', () => { mobileMenu.classList.toggle('hidden'); }); } // Dark mode toggle functionality const darkModeToggle = document.getElementById('darkModeToggle'); const html = document.documentElement; if (darkModeToggle) { darkModeToggle.addEventListener('click', () => { html.classList.toggle('dark'); localStorage.setItem('darkMode', html.classList.contains('dark')); }); // Check for saved user preference if (localStorage.getItem('darkMode') === 'true') { html.classList.add('dark'); } else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { html.classList.add('dark'); } } // Smooth scrolling for anchor links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { e.preventDefault(); const targetId = this.getAttribute('href'); if (targetId === '#') return; const targetElement = document.querySelector(targetId); if (targetElement) { targetElement.scrollIntoView({ behavior: 'smooth' }); } }); }); });