'use client'; import Link from 'next/link'; import NavThemeToggle from './NavThemeToggle'; import NavSearch from './NavSearch'; import LocaleSwitcher from './LocaleSwitcher'; import UserAvatar from './UserAvatar'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { UserIcon, ArrowRightStartOnRectangleIcon, ShieldCheckIcon, } from '@heroicons/react/24/outline'; import { signout } from '@/app/(authenticated)/lib/actions'; import { useTranslations } from 'next-intl'; import { User } from '@/prisma/generated/client'; import type { AvailableUpdate } from '@/app/(authenticated)/lib/version'; import UpdateAvailableMenuItem, { UpdateBadge } from './UpdateAvailableMenuItem'; interface NavHeaderProps { user: User; update?: AvailableUpdate | null; } export default function NavHeader({ user, update }: NavHeaderProps) { const t = useTranslations('Navigation'); const tRole = useTranslations('Roles'); if (!user) { return null; } return (
{t('myAccount')} {t('profile')} {user?.role === 'admin' && ( {t('administration')} )} {update && ( <> )} signout()} className="flex items-center text-destructive focus:text-destructive cursor-pointer" > {t('logout')}
); }