| document.addEventListener('DOMContentLoaded', () => { | |
| // Initialize animations | |
| const animateElements = document.querySelectorAll('.fade-in'); | |
| const observer = new IntersectionObserver((entries) => { | |
| entries.forEach(entry => { | |
| if (entry.isIntersecting) { | |
| entry.target.classList.add('animate-fadeIn'); | |
| } | |
| }); | |
| }, { threshold: 0.1 }); | |
| animateElements.forEach(el => observer.observe(el)); | |
| // Color scheme toggle | |
| const colorSchemeToggle = document.getElementById('colorSchemeToggle'); | |
| if (colorSchemeToggle) { | |
| colorSchemeToggle.addEventListener('click', () => { | |
| document.documentElement.classList.toggle('dark'); | |
| }); | |
| } | |
| }); |