// Operators Page JavaScript let isQuickMenuOpen = false; // Quick Menu functionality function toggleQuickMenu() { const panel = document.getElementById('quickMenuPanel'); const btn = document.getElementById('quickMenuBtn'); if (isQuickMenuOpen) { panel.classList.remove('opacity-100', 'translate-x-0', 'pointer-events-auto'); panel.classList.add('opacity-0', 'translate-x-4', 'pointer-events-none'); btn.classList.remove('rotate-45'); } else { panel.classList.remove('opacity-0', 'translate-x-4', 'pointer-events-none'); panel.classList.add('opacity-100', 'translate-x-0', 'pointer-events-auto'); btn.classList.add('rotate-45'); } isQuickMenuOpen = !isQuickMenuOpen; } function closeQuickMenu() { const panel = document.getElementById('quickMenuPanel'); const btn = document.getElementById('quickMenuBtn'); panel.classList.remove('opacity-100', 'translate-x-0', 'pointer-events-auto'); panel.classList.add('opacity-0', 'translate-x-4', 'pointer-events-none'); btn.classList.remove('rotate-45'); isQuickMenuOpen = false; } function handleQuickMenuClick() { toggleQuickMenu(); } function handleQuickMenuClose() { closeQuickMenu(); } function handleOutsideClick(event) { const panel = document.getElementById('quickMenuPanel'); const btn = document.getElementById('quickMenuBtn'); if (isQuickMenuOpen && !panel.contains(event.target) && !btn.contains(event.target)) { closeQuickMenu(); } } function init() { // Quick Menu event listeners const quickMenuBtn = document.getElementById('quickMenuBtn'); const quickMenuClose = document.getElementById('quickMenuClose'); if (quickMenuBtn) { quickMenuBtn.addEventListener('click', handleQuickMenuClick); } if (quickMenuClose) { quickMenuClose.addEventListener('click', handleQuickMenuClose); } // Close menu when clicking outside document.addEventListener('click', handleOutsideClick); // Close menu when pressing Escape key document.addEventListener('keydown', function(event) { if (event.key === 'Escape' && isQuickMenuOpen) { closeQuickMenu(); } }); } function teardown() { const quickMenuBtn = document.getElementById('quickMenuBtn'); const quickMenuClose = document.getElementById('quickMenuClose'); if (quickMenuBtn) { quickMenuBtn.removeEventListener('click', handleQuickMenuClick); } if (quickMenuClose) { quickMenuClose.removeEventListener('click', handleQuickMenuClose); } document.removeEventListener('click', handleOutsideClick); // Reset state isQuickMenuOpen = false; } export { init, teardown };