import { ColorSchemeSwitcher } from '@/components/ColorSchemeSwitcher'; import { Avatar, AvatarFallback } from '@/components/ui/avatar'; import { Button } from '@/components/ui/button'; import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuItem, DropdownMenuPortal, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuRadioGroup, DropdownMenuRadioItem, } from '@/components/ui/dropdown-menu'; import { useUserInfo } from '@/store/user'; import { languages } from '@/utils/constants'; import { useTranslation, setLanguage } from '@i18next-toolkit/react'; import React from 'react'; import { LuMoreVertical } from 'react-icons/lu'; interface UserConfigProps { isCollapsed: boolean; } export const UserConfig: React.FC = React.memo((props) => { const userInfo = useUserInfo(); const { i18n } = useTranslation(); const avatar = ( {(userInfo?.username ?? '').substring(0, 2).toUpperCase()} ); const name =
{userInfo?.username ?? ''}
; const more = ( ); return (
{props.isCollapsed ? ( <> {avatar} ) : ( <> {avatar} {name} {more} )} Profile Settings Language {languages.map((language) => ( {language.label} ))} { e.preventDefault(); }} >
); }); UserConfig.displayName = 'UserConfig';