'use client' import { useState } from 'react' import Link from 'next/link' import type { Route } from 'next' import { usePathname } from 'next/navigation' import { signOut } from 'next-auth/react' import { cn } from '@/lib/utils' import { Button } from '@/components/ui/button' import { UserAvatar } from '@/components/shared/user-avatar' import { trpc } from '@/lib/trpc/client' import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu' import { BookOpen, Home, LogOut, Menu, Settings, User, Users, X } from 'lucide-react' import { Logo } from '@/components/shared/logo' import { NotificationBell } from '@/components/shared/notification-bell' interface MentorNavProps { user: { name?: string | null email?: string | null } } const navigation: { name: string; href: Route; icon: typeof Home }[] = [ { name: 'Dashboard', href: '/mentor' as Route, icon: Home, }, { name: 'My Mentees', href: '/mentor/projects' as Route, icon: Users, }, { name: 'Resources', href: '/mentor/resources' as Route, icon: BookOpen, }, ] export function MentorNav({ user }: MentorNavProps) { const pathname = usePathname() const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false) const { data: avatarUrl } = trpc.avatar.getUrl.useQuery() 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 && (
)}
) }