1234567891011121314151617181920212223242526272829303132333435 |
- import { Link } from '@inertiajs/react';
- import { Fragment } from 'react';
- import { type BreadcrumbItem as BreadcrumbItemType } from '@/common/types';
- import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from '@/shadcn/breadcrumb';
- export function Breadcrumbs({ breadcrumbs }: { breadcrumbs: BreadcrumbItemType[] }) {
- return (
- <>
- {breadcrumbs.length > 0 && (
- <Breadcrumb>
- <BreadcrumbList>
- {breadcrumbs.map((item, index) => {
- const isLast = index === breadcrumbs.length - 1;
- return (
- <Fragment key={index}>
- <BreadcrumbItem>
- {isLast ? (
- <BreadcrumbPage>{item.title}</BreadcrumbPage>
- ) : (
- <BreadcrumbLink asChild>
- <Link href={item.href}>{item.title}</Link>
- </BreadcrumbLink>
- )}
- </BreadcrumbItem>
- {!isLast && <BreadcrumbSeparator />}
- </Fragment>
- );
- })}
- </BreadcrumbList>
- </Breadcrumb>
- )}
- </>
- );
- }
|