// Tab functionality for homepage deals section let tabButtons = []; let tabContents = []; function handleTabClick(event) { event.preventDefault(); const clickedButton = event.currentTarget; const tabId = clickedButton.getAttribute('data-tab'); // Remove active class from all tabs and buttons tabButtons.forEach(btn => { btn.classList.remove('text-[var(--primary-color)]', 'border-b-2', 'border-[var(--primary-color)]'); btn.classList.add('text-gray-600'); }); tabContents.forEach(content => { content.style.display = 'none'; content.classList.remove('active'); }); // Add active class to clicked button clickedButton.classList.remove('text-gray-600'); clickedButton.classList.add('text-[var(--primary-color)]', 'border-b-2', 'border-[var(--primary-color)]'); // Show corresponding content const targetContent = document.getElementById(tabId); if (targetContent) { targetContent.style.display = 'block'; targetContent.classList.add('active'); } } function init() { // Initialize tab functionality tabButtons = document.querySelectorAll('.tab-btn'); tabContents = document.querySelectorAll('.tab-content'); // Add click listeners to tab buttons tabButtons.forEach(button => { button.addEventListener('click', handleTabClick); }); // Initialize mobile menu functionality if not already handled const mobileMenuToggle = document.querySelector('[data-landingsite-mobile-menu-toggle]'); const mobileMenu = document.querySelector('[data-landingsite-mobile-menu]'); if (mobileMenuToggle && mobileMenu) { mobileMenuToggle.addEventListener('click', function() { mobileMenu.classList.toggle('hidden'); }); } } function teardown() { // Remove all event listeners tabButtons.forEach(button => { button.removeEventListener('click', handleTabClick); }); const mobileMenuToggle = document.querySelector('[data-landingsite-mobile-menu-toggle]'); if (mobileMenuToggle) { // Clone and replace to remove all event listeners const newToggle = mobileMenuToggle.cloneNode(true); mobileMenuToggle.parentNode.replaceChild(newToggle, mobileMenuToggle); } // Clear arrays tabButtons = []; tabContents = []; } // Export functions for the system to use export { init, teardown };