'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 { Home, BarChart3, Menu, X, LogOut, Eye, Settings } from 'lucide-react' import { getInitials } from '@/lib/utils' import { Logo } from '@/components/shared/logo' interface ObserverNavProps { user: { name?: string | null email?: string | null } } const navigation = [ { name: 'Dashboard', href: '/observer' as const, icon: Home, }, { name: 'Reports', href: '/observer/reports' as const, icon: BarChart3, }, ] export function ObserverNav({ user }: ObserverNavProps) { const pathname = usePathname() const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false) return (
{/* Logo */} {/* Desktop Navigation */} {/* User Menu */}
{user.email} Profile Settings signOut({ callbackUrl: '/login' })} className="text-destructive focus:text-destructive" > Sign out {/* Mobile menu button */}
{/* Mobile Navigation */} {isMobileMenuOpen && (
)}
) }