import { Link } from "@/lib/router"; import { Menu } from "lucide-react"; import { useBreadcrumbs } from "../context/BreadcrumbContext"; import { useSidebar } from "../context/SidebarContext"; import { useCompany } from "../context/CompanyContext"; import { Button } from "@/components/ui/button"; import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "@/components/ui/breadcrumb"; import { Fragment } from "react"; import { PluginSlotOutlet } from "@/plugins/slots"; export function BreadcrumbBar() { const { breadcrumbs } = useBreadcrumbs(); const { toggleSidebar, isMobile } = useSidebar(); const { selectedCompanyId, selectedCompany } = useCompany(); if (breadcrumbs.length === 0) return null; const menuButton = isMobile && ( ); const globalToolbarSlots = ( ); // Single breadcrumb = page title (uppercase) if (breadcrumbs.length === 1) { return (
{menuButton}

{breadcrumbs[0].label}

{globalToolbarSlots}
); } // Multiple breadcrumbs = breadcrumb trail return (
{menuButton}
{breadcrumbs.map((crumb, i) => { const isLast = i === breadcrumbs.length - 1; return ( {i > 0 && } {isLast || !crumb.href ? ( {crumb.label} ) : ( {crumb.label} )} ); })}
{globalToolbarSlots}
); }