'use client' import { usePathname, useRouter } from 'next/navigation' import { signOut } from 'next-auth/react' import { Button } from '@/components/ui/button' import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu' import { Menu, LogOut, Settings, User as UserIcon, Monitor } from 'lucide-react' import Link from 'next/link' import { MobileNav } from './mobile-nav' import { useState } from 'react' interface Profile { fullName: string | null company: string | null role: string | null } interface AuthUser { id: string email: string name: string } interface DashboardHeaderProps { user: AuthUser profile: Profile | null } const pageTitles: Record = { '/dashboard': 'Overview', '/dashboard/machines': 'Machines', '/dashboard/connect': 'Quick Connect', '/dashboard/sessions': 'Session History', '/dashboard/settings': 'Settings', '/dashboard/admin': 'Admin', '/download': 'Download Agent', } export function DashboardHeader({ user, profile }: DashboardHeaderProps) { const pathname = usePathname() const router = useRouter() const [mobileNavOpen, setMobileNavOpen] = useState(false) const handleSignOut = async () => { await signOut({ redirect: false }) router.push('/auth/login') } const displayName = profile?.fullName || user.name || user.email?.split('@')[0] const title = pageTitles[pathname] || 'Dashboard' return ( <>

{title}

{displayName}

{user.email}

Profile Settings Sign out
setMobileNavOpen(false)} profile={profile} /> ) }