document.addEventListener('DOMContentLoaded', function() { const siteDataElement = document.getElementById('site-data'); if (!siteDataElement) return; let siteData = []; try { siteData = JSON.parse(siteDataElement.textContent); } catch (e) { console.error("Failed to parse site data", e); } const contentArea = document.getElementById('content-area'); const navLinks = document.querySelectorAll('.nav-link'); const backToTopBtn = document.getElementById('backToTop'); const sidebarMenu = document.getElementById('sidebarMenu'); // Handle Content Switching navLinks.forEach(link => { link.addEventListener('click', function(e) { e.preventDefault(); // Update Active Link navLinks.forEach(l => l.classList.remove('active')); this.classList.add('active'); const sectionKey = this.getAttribute('data-section'); const data = siteData.find(item => item.section_key === sectionKey); if (data) { renderContent(data); // On mobile, scroll to content after selection and close sidebar if (window.innerWidth < 768) { contentArea.scrollIntoView({ behavior: 'smooth' }); // Close bootstrap collapse if open const bsCollapse = bootstrap.Collapse.getInstance(sidebarMenu); if (bsCollapse) { bsCollapse.hide(); } } } }); }); function renderContent(data) { // We use innerHTML directly because content is pre-formatted in setup_db.php contentArea.innerHTML = `