// Initialize Lucide icons lucide.createIcons(); // Update copyright year document.getElementById('current-year').textContent = new Date().getFullYear(); // Theme toggle const themeToggle = document.querySelector('.theme-toggle'); const moonIcon = document.getElementById('moon-icon'); const sunIcon = document.getElementById('sun-icon'); // Check for saved preference if (localStorage.getItem('darkMode') === 'true') { document.body.classList.add('dark-mode'); moonIcon.style.display = 'none'; sunIcon.style.display = 'block'; } themeToggle.addEventListener('click', () => { document.body.classList.toggle('dark-mode'); const isDark = document.body.classList.contains('dark-mode'); moonIcon.style.display = isDark ? 'none' : 'block'; sunIcon.style.display = isDark ? 'block' : 'none'; localStorage.setItem('darkMode', isDark ? 'true' : 'false'); }); // Mobile menu const menuToggle = document.querySelector('.menu-toggle'); const navLinks = document.querySelector('.nav-links'); const menuIcon = document.getElementById('menu-icon'); const closeIcon = document.getElementById('close-icon'); menuToggle.addEventListener('click', () => { const isExpanded = menuToggle.getAttribute('aria-expanded') === 'true'; menuToggle.setAttribute('aria-expanded', !isExpanded); navLinks.classList.toggle('menu-open'); menuIcon.style.display = isExpanded ? 'block' : 'none'; closeIcon.style.display = isExpanded ? 'none' : 'block'; }); // Close menu when clicking outside document.addEventListener('click', (event) => { if (!event.target.closest('.menu-toggle') && !event.target.closest('.nav-links') && navLinks.classList.contains('menu-open')) { navLinks.classList.remove('menu-open'); menuToggle.setAttribute('aria-expanded', 'false'); menuIcon.style.display = 'block'; closeIcon.style.display = 'none'; } });