import { useCallback } from 'react'; import { useMatch, useNavigate, useResolvedPath } from 'react-router-dom'; import { useAuth } from '@/auth/hooks/useAuth'; import { AppPath } from '@/types/AppPath'; import { IconAt, IconCalendarEvent, IconColorSwatch, IconHierarchy2, IconLogout, IconMail, IconRobot, IconSettings, IconUserCircle, IconUsers, } from '@/ui/display/icon'; import { NavigationDrawerItem } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerItem'; import { NavigationDrawerItemGroup } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerItemGroup'; import { NavigationDrawerSection } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerSection'; import { NavigationDrawerSectionTitle } from '@/ui/navigation/navigation-drawer/components/NavigationDrawerSectionTitle'; import { useIsFeatureEnabled } from '@/workspace/hooks/useIsFeatureEnabled'; export const SettingsNavigationDrawerItems = () => { const navigate = useNavigate(); const { signOut } = useAuth(); const handleLogout = useCallback(() => { signOut(); navigate(AppPath.SignIn); }, [signOut, navigate]); const isMessagingEnabled = useIsFeatureEnabled('IS_MESSAGING_ENABLED'); const isAccountsItemActive = !!useMatch({ path: useResolvedPath('/settings/accounts').pathname, end: true, }); const isAccountsEmailsItemActive = !!useMatch({ path: useResolvedPath('/settings/accounts/emails').pathname, end: true, }); return ( <> {isMessagingEnabled && ( )} ); };