document.addEventListener('DOMContentLoaded', function() { // Sidebar toggle const sidebar = document.getElementById('sidebar'); const sidebarToggle = document.getElementById('sidebarToggle'); const sidebarOverlay = document.getElementById('sidebarOverlay'); if (sidebarToggle) { sidebarToggle.addEventListener('click', function() { sidebar.classList.toggle('sidebar--open'); sidebarOverlay.classList.toggle('active'); document.body.classList.toggle('sidebar-open'); }); } if (sidebarOverlay) { sidebarOverlay.addEventListener('click', function() { sidebar.classList.remove('sidebar--open'); sidebarOverlay.classList.remove('active'); document.body.classList.remove('sidebar-open'); }); } // Confirm delete actions document.querySelectorAll('[data-confirm]').forEach(function(el) { el.addEventListener('click', function(e) { if (!confirm(this.dataset.confirm)) { e.preventDefault(); } }); }); // Auto-dismiss alerts after 5 seconds document.querySelectorAll('.alert--dismissible').forEach(function(alert) { setTimeout(function() { alert.style.opacity = '0'; alert.style.transform = 'translateY(-10px)'; setTimeout(function() { alert.remove(); }, 300); }, 5000); }); // Table search filter var searchInput = document.getElementById('tableSearch'); if (searchInput) { searchInput.addEventListener('input', function() { var query = this.value.toLowerCase(); var table = document.querySelector('.admin-table'); if (!table) return; var rows = table.querySelectorAll('tbody tr'); rows.forEach(function(row) { var text = row.textContent.toLowerCase(); row.style.display = text.includes(query) ? '' : 'none'; }); }); } });