({ items, locale }: ArrayBreadProps)
| 15 | } |
| 16 | |
| 17 | export default async function ArrayBread({ items, locale }: ArrayBreadProps) { |
| 18 | const { t } = await initTranslations(locale, ["docs"]) |
| 19 | |
| 20 | // Extract all except the last item |
| 21 | const breadcrumbs = items.slice(0, -1) |
| 22 | // Extract the last item |
| 23 | const currentPage = items[items.length - 1] |
| 24 | |
| 25 | return ( |
| 26 | <Breadcrumb className="mb-4"> |
| 27 | <BreadcrumbList> |
| 28 | <BreadcrumbItem> |
| 29 | <BreadcrumbLink href="/"> |
| 30 | {locale ? t("home") : "Home"} |
| 31 | </BreadcrumbLink> |
| 32 | </BreadcrumbItem> |
| 33 | <BreadcrumbSeparator /> |
| 34 | {breadcrumbs.map((item, index) => ( |
| 35 | <React.Fragment key={index}> |
| 36 | <BreadcrumbItem> |
| 37 | <BreadcrumbLink href={item.link}>{item.label}</BreadcrumbLink> |
| 38 | </BreadcrumbItem> |
| 39 | {index < items.length - 1 && <BreadcrumbSeparator />} |
| 40 | </React.Fragment> |
| 41 | ))} |
| 42 | {currentPage && ( |
| 43 | <BreadcrumbItem> |
| 44 | <BreadcrumbPage>{currentPage.label}</BreadcrumbPage> |
| 45 | </BreadcrumbItem> |
| 46 | )} |
| 47 | </BreadcrumbList> |
| 48 | </Breadcrumb> |
| 49 | ) |
| 50 | } |
nothing calls this directly
no test coverage detected