import { useState } from 'react'; import { msg } from '@lingui/core/macro'; import { useLingui } from '@lingui/react'; import { Trans } from '@lingui/react/macro'; import { ChevronsUpDown, Plus } from 'lucide-react'; import { Link } from 'react-router'; import { authClient } from '@documenso/auth/client'; import { useSession } from '@documenso/lib/client-only/providers/session'; import { formatAvatarUrl } from '@documenso/lib/utils/avatars'; import { isAdmin } from '@documenso/lib/utils/is-admin'; import { extractInitials } from '@documenso/lib/utils/recipient-formatter'; import { LanguageSwitcherDialog } from '@documenso/ui/components/common/language-switcher-dialog'; import { cn } from '@documenso/ui/lib/utils'; import { AvatarWithText } from '@documenso/ui/primitives/avatar'; import { Button } from '@documenso/ui/primitives/button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@documenso/ui/primitives/dropdown-menu'; export const MenuSwitcher = () => { const { _ } = useLingui(); const { user } = useSession(); const [languageSwitcherOpen, setLanguageSwitcherOpen] = useState(false); const isUserAdmin = isAdmin(user); const formatAvatarFallback = (name?: string) => { if (name !== undefined) { return name.slice(0, 1).toUpperCase(); } return user.name ? extractInitials(user.name) : user.email.slice(0, 1).toUpperCase(); }; return ( Create Organisation {isUserAdmin && ( Admin panel )} Personal Inbox User settings setLanguageSwitcherOpen(true)} > Language authClient.signOut()} > Sign Out ); };