/** * main.js */ document.addEventListener('DOMContentLoaded', function() { const navContainer = document.getElementById('site-navigation'); if (navContainer) { const menuToggle = document.getElementById('menu-toggle'); if (menuToggle) { menuToggle.addEventListener('click', function() { navContainer.classList.toggle('toggled'); this.setAttribute('aria-expanded', navContainer.classList.contains('toggled')); }); } } const dropdownToggles = document.querySelectorAll('.main-navigation .dropdown-toggle'); dropdownToggles.forEach(function(toggle) { toggle.addEventListener('click', function(e) { e.preventDefault(); const parentLi = this.closest('.menu-item-has-children'); parentLi.classList.toggle('is-toggled'); this.setAttribute('aria-expanded', parentLi.classList.contains('is-toggled')); }); }); const sidebar = document.querySelector('#secondary.widget-area'); const siteHeader = document.querySelector('.site-header'); if (sidebar && siteHeader && window.innerWidth >= 769) { const headerHeight = siteHeader.offsetHeight; sidebar.style.top = headerHeight + 20 + 'px'; } const loadMoreBtn = document.querySelector('.load-more-button'); if (loadMoreBtn) { loadMoreBtn.addEventListener('click', function() { const button = this; let currentPage = parseInt(button.dataset.currentPage); const maxPages = parseInt(button.dataset.maxPages); const queryArgs = button.dataset.query; button.textContent = 'Loading...'; button.disabled = true; const formData = new FormData(); formData.append('action', 'load_more_posts'); formData.append('query', queryArgs); formData.append('page', currentPage); formData.append('nonce', adot_ajax_params.nonce); fetch(adot_ajax_params.ajax_url, { method: 'POST', body: formData, }) .then(response => response.json()) .then(data => { if (data.success) { document.querySelector('.post-list-container').insertAdjacentHTML('beforeend', data.data); currentPage++; button.dataset.currentPage = currentPage; if (currentPage >= maxPages) { button.remove(); } else { button.textContent = 'Load More'; button.disabled = false; } } else { button.remove(); } }); }); } });