Files
web/apps/scandic-web/components/Breadcrumbs/index.tsx
Erik Tiekstra 8a143a2916 chore: Moved Breadcrumbs to design system and added stories
Approved-by: Bianca Widstam
2026-01-21 07:19:19 +00:00

40 lines
948 B
TypeScript

import {
Breadcrumbs as BreadcrumbsComponent,
type BreadcrumbsProps,
} from "@scandic-hotels/design-system/Breadcrumbs"
import { serverClient } from "@/lib/trpc/server"
import { generateBreadcrumbsSchema } from "@/utils/jsonSchemas"
export async function Breadcrumbs({
subpageTitle,
...props
}: Omit<BreadcrumbsProps, "breadcrumbs"> & {
subpageTitle?: string
}) {
const caller = await serverClient()
const breadcrumbs = await caller.contentstack.breadcrumbs.get()
if (!breadcrumbs?.length) {
return null
}
if (subpageTitle) {
breadcrumbs.push({ title: subpageTitle, uid: subpageTitle, href: "" })
}
const jsonSchema = generateBreadcrumbsSchema(breadcrumbs)
return (
<>
<script
type={jsonSchema.type}
dangerouslySetInnerHTML={{
__html: JSON.stringify(jsonSchema.jsonLd),
}}
/>
<BreadcrumbsComponent breadcrumbs={breadcrumbs} {...props} />
</>
)
}