import { Icon } from '@/components/icon'; import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; import { Button } from '@/components/ui/button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; import { NavigationMenu, NavigationMenuItem, NavigationMenuList, navigationMenuTriggerStyle } from '@/components/ui/navigation-menu'; import { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from '@/components/ui/sheet'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; import { UserMenuContent } from '@/components/user-menu-content'; import { useInitials } from '@/hooks/use-initials'; import { cn } from '@/lib/utils'; import { type NavItem, type SharedData } from '@/types'; import { Link, usePage } from '@inertiajs/react'; import { BookOpen, CogIcon, Folder, Menu, Search, ServerIcon, SlashIcon } from 'lucide-react'; import AppLogo from './app-logo'; import AppLogoIcon from './app-logo-icon'; import { ProjectSwitch } from '@/components/project-switch'; import { ServerSwitch } from '@/components/server-switch'; import { Breadcrumb, BreadcrumbItem, BreadcrumbList, BreadcrumbSeparator } from '@/components/ui/breadcrumb'; const mainNavItems: NavItem[] = [ { title: 'Servers', href: '/servers', activePath: '/servers', icon: ServerIcon, }, { title: 'Settings', href: '/settings/profile', activePath: '/settings', icon: CogIcon, }, ]; const rightNavItems: NavItem[] = [ { title: 'Repository', href: 'https://github.com/vitodeploy/vito', icon: Folder, }, { title: 'Documentation', href: 'https://vitodeploy.com', icon: BookOpen, }, ]; const activeItemStyles = ''; export function AppHeader() { 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 */}
{rightNavItems.map((item) => ( {item.title} {item.icon && }

{item.title}

))}
{/* Desktop Navigation */}
{mainNavItems.map((item, index) => ( {item.icon && } {item.title} {item.activePath && page.url.startsWith(item.activePath) && (
)}
))}
{/*{breadcrumbs.length > 1 && (*/} {/*
*/} {/* */} {/* */} {/*
*/} {/* */} {/*)}*/} ); }