// Buy Local Lowveld — Phase 1 JS // Small, dependency-free. Keep it that way. (function () { 'use strict'; // --- Mobile nav toggle ------------------------------------ const toggle = document.querySelector('.nav-toggle'); const nav = document.querySelector('.main-nav'); if (toggle && nav) { toggle.addEventListener('click', function () { nav.classList.toggle('open'); const expanded = nav.classList.contains('open'); toggle.setAttribute('aria-expanded', expanded ? 'true' : 'false'); }); } // --- Auto-dismiss success alerts after 6s ----------------- document.querySelectorAll('.alert-success[data-autohide]').forEach(function (el) { setTimeout(function () { el.style.transition = 'opacity .4s'; el.style.opacity = '0'; setTimeout(function () { el.remove(); }, 400); }, 6000); }); // --- Directory search: live-filter on the directory page -- const directorySearch = document.getElementById('directory-search'); if (directorySearch) { directorySearch.addEventListener('input', function (e) { const q = e.target.value.trim().toLowerCase(); document.querySelectorAll('[data-listing]').forEach(function (card) { const hay = card.getAttribute('data-listing').toLowerCase(); card.style.display = (q === '' || hay.indexOf(q) !== -1) ? '' : 'none'; }); }); } })();