mirror of
https://github.com/perfect-panel/ppanel-web.git
synced 2026-02-06 03:30:25 -05:00
68 lines
2.3 KiB
TypeScript
68 lines
2.3 KiB
TypeScript
'use client';
|
|
|
|
import useGlobalStore from '@/config/use-global';
|
|
import { Logout } from '@/utils/common';
|
|
import { Avatar, AvatarFallback, AvatarImage } from '@workspace/ui/components/avatar';
|
|
import { Button } from '@workspace/ui/components/button';
|
|
import {
|
|
DropdownMenu,
|
|
DropdownMenuContent,
|
|
DropdownMenuItem,
|
|
DropdownMenuLabel,
|
|
DropdownMenuSeparator,
|
|
DropdownMenuShortcut,
|
|
DropdownMenuTrigger,
|
|
} from '@workspace/ui/components/dropdown-menu';
|
|
import { useTranslations } from 'next-intl';
|
|
|
|
export function UserNav() {
|
|
const t = useTranslations('auth');
|
|
const { user } = useGlobalStore();
|
|
|
|
if (user) {
|
|
return (
|
|
<DropdownMenu>
|
|
<DropdownMenuTrigger asChild>
|
|
<Button size='icon' variant='default'>
|
|
<Avatar className='size-8'>
|
|
<AvatarImage alt={user?.avatar ?? ''} src={user?.avatar ?? ''} />
|
|
<AvatarFallback className='rounded-none bg-transparent'>
|
|
{user?.email?.[0]?.toUpperCase()}
|
|
</AvatarFallback>
|
|
</Avatar>
|
|
</Button>
|
|
</DropdownMenuTrigger>
|
|
<DropdownMenuContent forceMount align='end' className='w-56'>
|
|
<DropdownMenuLabel className='font-normal'>
|
|
<div className='flex flex-col space-y-1'>
|
|
<p className='text-sm font-medium leading-none'>{user?.email}</p>
|
|
{/* <p className='text-xs leading-none text-muted-foreground'>ID: {user?.id}</p> */}
|
|
</div>
|
|
</DropdownMenuLabel>
|
|
{/* <DropdownMenuSeparator />
|
|
<DropdownMenuGroup>
|
|
<DropdownMenuItem>
|
|
Profile
|
|
<DropdownMenuShortcut>⇧⌘P</DropdownMenuShortcut>
|
|
</DropdownMenuItem>
|
|
<DropdownMenuItem>
|
|
Billing
|
|
<DropdownMenuShortcut>⌘B</DropdownMenuShortcut>
|
|
</DropdownMenuItem>
|
|
<DropdownMenuItem>
|
|
Settings
|
|
<DropdownMenuShortcut>⌘S</DropdownMenuShortcut>
|
|
</DropdownMenuItem>
|
|
<DropdownMenuItem>New Team</DropdownMenuItem>
|
|
</DropdownMenuGroup> */}
|
|
<DropdownMenuSeparator />
|
|
<DropdownMenuItem onClick={Logout}>
|
|
{t('logout')}
|
|
<DropdownMenuShortcut>⇧⌘Q</DropdownMenuShortcut>
|
|
</DropdownMenuItem>
|
|
</DropdownMenuContent>
|
|
</DropdownMenu>
|
|
);
|
|
}
|
|
}
|