import { useEffect, useRef } from 'react'; import { useAuth } from '../contexts/AuthContext.jsx'; import './NavDrawer.css'; const NAV_ICON = { messages: , schedules: , users: , groups: , branding: , settings: , }; export default function NavDrawer({ open, onClose, onMessages, onGroupManager, onBranding, onSettings, onUsers, features = {} }) { const { user } = useAuth(); const drawerRef = useRef(null); const isAdmin = user?.role === 'admin'; // Close on outside click useEffect(() => { if (!open) return; const handler = (e) => { if (drawerRef.current && !drawerRef.current.contains(e.target)) onClose(); }; document.addEventListener('mousedown', handler); return () => document.removeEventListener('mousedown', handler); }, [open, onClose]); // Close on Escape useEffect(() => { if (!open) return; const handler = (e) => { if (e.key === 'Escape') onClose(); }; window.addEventListener('keydown', handler); return () => window.removeEventListener('keydown', handler); }, [open, onClose]); const item = (icon, label, onClick, disabled = false) => ( ); return ( <> {/* Backdrop */}
{/* Drawer */}