{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "app-header", "dependencies": [ "@inertiajs/react", "lucide-react" ], "registryDependencies": [ "button", "navigation-menu", "sheet", "dropdown-menu", "avatar", "tooltip", "@craft/app-logo", "@craft/app-logo-icon", "@craft/breadcrumbs", "@craft/user-menu-content", "@craft/use-initials", "@craft/use-current-url" ], "files": [ { "path": "registry/new-york-v4/components/app-header.tsx", "content": "import { Link, usePage } from \"@inertiajs/react\";\nimport { BookOpen, Folder, LayoutGrid, Menu, Search } from \"lucide-react\";\nimport AppLogo from \"@/components/app-logo\";\nimport AppLogoIcon from \"@/components/app-logo-icon\";\nimport { Breadcrumbs } from \"@/components/breadcrumbs\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"@/components/ui/avatar\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuTrigger,\n} from \"@/components/ui/dropdown-menu\";\nimport {\n NavigationMenu,\n NavigationMenuItem,\n NavigationMenuList,\n navigationMenuTriggerStyle,\n} from \"@/components/ui/navigation-menu\";\nimport { Sheet, SheetContent, SheetHeader, SheetTitle, SheetTrigger } from \"@/components/ui/sheet\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"@/components/ui/tooltip\";\nimport { UserMenuContent } from \"@/components/user-menu-content\";\nimport { useCurrentUrl } from \"@/hooks/use-current-url\";\nimport { useInitials } from \"@/hooks/use-initials\";\nimport { cn, toUrl } from \"@/lib/utils\";\nimport type { Auth, BreadcrumbItem, NavItem } from \"@/lib/types\";\n\ntype Props = {\n breadcrumbs?: BreadcrumbItem[];\n};\n\nconst mainNavItems: NavItem[] = [\n {\n title: \"Dashboard\",\n href: \"/\",\n icon: LayoutGrid,\n },\n];\n\nconst rightNavItems: NavItem[] = [\n {\n title: \"Repository\",\n href: \"https://github.com/laravel/react-starter-kit\",\n icon: Folder,\n },\n {\n title: \"Documentation\",\n href: \"https://laravel.com/docs/starter-kits#react\",\n icon: BookOpen,\n },\n];\n\nconst activeItemStyles = \"text-neutral-900 dark:bg-neutral-800 dark:text-neutral-100\";\n\nexport function AppHeader({ breadcrumbs = [] }: Props) {\n const page = usePage<{ auth?: Auth }>();\n const { auth } = page.props;\n const user = auth?.user;\n const getInitials = useInitials();\n const { isCurrentUrl, whenCurrentUrl } = useCurrentUrl();\n\n return (\n <>\n
{item.title}
\n