mirror of
https://github.com/nicotsx/ironmount.git
synced 2025-12-10 12:10:51 +01:00
* refactor: unify backend and frontend servers * refactor: correct paths for openapi & drizzle * refactor: move api-client to client * fix: drizzle paths * chore: fix linting issues * fix: form reset issue
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { Link } from "react-router";
|
|
import {
|
|
Breadcrumb,
|
|
BreadcrumbItem,
|
|
BreadcrumbLink,
|
|
BreadcrumbList,
|
|
BreadcrumbPage,
|
|
BreadcrumbSeparator,
|
|
} from "~/client/components/ui/breadcrumb";
|
|
import { useBreadcrumbs } from "~/client/lib/breadcrumbs";
|
|
|
|
export function AppBreadcrumb() {
|
|
const breadcrumbs = useBreadcrumbs();
|
|
|
|
return (
|
|
<Breadcrumb>
|
|
<BreadcrumbLink asChild></BreadcrumbLink>
|
|
<BreadcrumbList>
|
|
{breadcrumbs.map((breadcrumb, index) => {
|
|
const isLast = index === breadcrumbs.length - 1;
|
|
|
|
return (
|
|
<div key={`${breadcrumb.label}-${index}`} className="contents">
|
|
<BreadcrumbItem>
|
|
{isLast || breadcrumb.isCurrentPage ? (
|
|
<BreadcrumbPage>{breadcrumb.label}</BreadcrumbPage>
|
|
) : breadcrumb.href ? (
|
|
<BreadcrumbLink asChild>
|
|
<Link to={breadcrumb.href}>{breadcrumb.label}</Link>
|
|
</BreadcrumbLink>
|
|
) : (
|
|
<BreadcrumbPage>{breadcrumb.label}</BreadcrumbPage>
|
|
)}
|
|
</BreadcrumbItem>
|
|
{!isLast && <BreadcrumbSeparator />}
|
|
</div>
|
|
);
|
|
})}
|
|
</BreadcrumbList>
|
|
</Breadcrumb>
|
|
);
|
|
}
|