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, onSchedule, onScheduleManager, onBranding, onSettings, onUsers, onGroupManager, features = {}, currentPage = 'chat', isMobile = false }) { const { user } = useAuth(); const drawerRef = useRef(null); const isAdmin = user?.role === 'admin'; const userGroupIds = features.userGroupMemberships || []; const canAccessTools = isAdmin || (features.teamToolManagers || []).some(gid => userGroupIds.includes(gid)); useEffect(() => { if (!open) return; const h = e => { if (drawerRef.current && !drawerRef.current.contains(e.target)) onClose(); }; document.addEventListener('mousedown', h); return () => document.removeEventListener('mousedown', h); }, [open, onClose]); useEffect(() => { if (!open) return; const h = e => { if (e.key === 'Escape') onClose(); }; window.addEventListener('keydown', h); return () => window.removeEventListener('keydown', h); }, [open, onClose]); const item = (icon, label, onClick, opts = {}) => { const { active, disabled, badge } = opts; return ( ); }; return ( <>