import { Link, usePage } from '@inertiajs/react'; import { BookOpen, Folder, LayoutGrid, Menu, Search } from 'lucide-react'; import { AppLogo } from '@/common/AppLogo'; import { AppLogoIcon } from '@/common/AppLogoIcon'; import { Breadcrumbs } from '@/common/Breadcrumbs'; import { Icon } from '@/common/Icon'; import { UserMenuContent } from '@/common/UserMenuContent'; import { cn } from '@/common/helpers/cn'; import { useInitials } from '@/common/hooks/useInitials'; import { type BreadcrumbItem, type NavItem, type SharedData } from '@/common/types'; import { dashboard } from '@/routes'; import { Avatar, AvatarFallback, AvatarImage } from '@/shadcn/avatar'; import { Button } from '@/shadcn/button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from '@/shadcn/dropdown-menu'; import { NavigationMenu, NavigationMenuItem, NavigationMenuList, navigationMenuTriggerStyle } from '@/shadcn/navigation-menu'; import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from '@/shadcn/sheet'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/shadcn/tooltip'; const mainNavItems: NavItem[] = [ { title: 'Dashboard', href: dashboard(), icon: LayoutGrid, }, ]; const rightNavItems: NavItem[] = [ { title: 'Repository', href: 'https://github.com/laravel/react-starter-kit', icon: Folder, }, { title: 'Documentation', href: 'https://laravel.com/docs/starter-kits#react', icon: BookOpen, }, ]; const activeItemStyles = 'text-neutral-900 dark:bg-neutral-800 dark:text-neutral-100'; interface AppHeaderProps { breadcrumbs?: BreadcrumbItem[]; } export function AppHeader({ breadcrumbs = [] }: AppHeaderProps) { const page = usePage(); const { auth } = page.props; const getInitials = useInitials(); return ( <>
{/* Mobile Menu */}
Navigation Menu
{mainNavItems.map((item) => ( {item.icon && } {item.title} ))}
{rightNavItems.map((item) => ( {item.icon && } {item.title} ))}
{/* Desktop Navigation */}
{mainNavItems.map((item, index) => ( {item.icon && } {item.title} {page.url === item.href && (
)}
))}
{rightNavItems.map((item) => ( {item.title} {item.icon && }

{item.title}

))}
{breadcrumbs.length > 1 && (
)} ); }