import DiscordIcon from '@/components/icons/DiscordIcon'; import { DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, } from '@/components/ui/dropdown-menu'; import { UserInfo } from '@/components/user-info'; import { usePrivacyMode } from '@/contexts/privacy-mode-context'; import { useMobileNavigation } from '@/hooks/use-mobile-navigation'; import { clearKey } from '@/lib/key-storage'; import { logout } from '@/routes'; import accounts from '@/routes/accounts'; import { edit as editAppearance } from '@/routes/appearance'; import { type SharedData, type User } from '@/types'; import { __ } from '@/utils/i18n'; import { Link, router, usePage } from '@inertiajs/react'; import { Eye, EyeOff, Landmark, LifeBuoy, LogOut, Map, MessageSquare, Monitor, Settings, } from 'lucide-react'; interface UserMenuContentProps { user: User; onOpenSupport: () => void; onOpenIntegrationRequests: () => void; } export function UserMenuContent({ user, onOpenSupport, onOpenIntegrationRequests, }: UserMenuContentProps) { const cleanup = useMobileNavigation(); const { isPrivacyModeEnabled, togglePrivacyMode } = usePrivacyMode(); const { version } = usePage().props; const handleLogout = () => { clearKey(); cleanup(); router.flushAll(); }; return ( <>
{ togglePrivacyMode(); cleanup(); }} > {isPrivacyModeEnabled ? ( ) : ( )} {isPrivacyModeEnabled ? __('Disable privacy mode') : __('Enable privacy mode')} {__('Appearance')} {__('Settings')} {__('Community')} {__('Feedback')} {__('Roadmap')} { onOpenIntegrationRequests(); cleanup(); }} > {__('Request integration')} { onOpenSupport(); cleanup(); }} > {__('Support')} {__('Log out')}
{__('Version:')} {version}
); }