<script>
document.addEventListener('DOMContentLoaded', () => {
const sidebar = document.getElementById('sidebar');
const hamburger = document.getElementById('hamburger');
const mainContent = document.getElementById('main-content');
const navLinks = document.querySelectorAll('.sidebar nav ul li a');
hamburger.addEventListener('click', () => {
sidebar.classList.toggle('active');
hamburger.classList.toggle('active');
document.body.classList.toggle('sidebar-open');
});
navLinks.forEach(link => {
link.addEventListener('click', () => {
if (window.innerWidth <= 768) { sidebar.classList.remove('active');
document.body.classList.remove('sidebar-open');
}
});
});
const sections = document.querySelectorAll('section');
const observerOptions = {
root: null,
rootMargin: "0px 0px -50% 0px", threshold: 0.3 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
navLinks.forEach(link => {
link.classList.remove('active');
});
const correspondingLink = document.querySelector(`.sidebar nav ul li a[href="#${entry.target.id}"]`);
if (correspondingLink) {
correspondingLink.classList.add('active');
}
}
});
}, observerOptions);
sections.forEach(section => {
observer.observe(section);
});
});
</script>