'use client' import { useState } from 'react' import Link from 'next/link' import { usePathname } from 'next/navigation' import { signOut } from 'next-auth/react' import { cn } from '@/lib/utils' import { Button } from '@/components/ui/button' import { Avatar, AvatarFallback } from '@/components/ui/avatar' import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu' import type { Route } from 'next' import { BookOpen, ClipboardList, Home, LogOut, Menu, Settings, User, X } from 'lucide-react' import { getInitials } from '@/lib/utils' import { Logo } from '@/components/shared/logo' interface JuryNavProps { user: { name?: string | null email?: string | null } } const navigation = [ { name: 'Dashboard', href: '/jury' as const, icon: Home, }, { name: 'My Assignments', href: '/jury/assignments' as const, icon: ClipboardList, }, { name: 'Learning Hub', href: '/jury/learning' as const, icon: BookOpen, }, ] export function JuryNav({ user }: JuryNavProps) { const pathname = usePathname() const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false) return ( <> {/* Desktop header */}
{/* Logo */} {/* Desktop nav */} {/* User menu & mobile toggle */}
{user.email} Profile Settings signOut({ callbackUrl: '/login' })} className="text-destructive focus:text-destructive" > Sign out
{/* Mobile menu */} {isMobileMenuOpen && (
)}
) }