fix(SW-1877): new responsive breadcrumbs

This commit is contained in:
Christian Andolf
2025-03-27 17:18:51 +01:00
parent dff67ea568
commit 52b461fbb4
10 changed files with 333 additions and 99 deletions

View File

@@ -52,24 +52,26 @@ export const rawBreadcrumbsDataSchema = z.object({
system: systemSchema,
})
export const breadcrumbsSchema = rawBreadcrumbsDataSchema.transform((data) => {
const { parentsConnection, title } = data.web.breadcrumbs
const parentBreadcrumbs = parentsConnection.edges.map((breadcrumb) => {
return {
href: removeMultipleSlashes(
`/${breadcrumb.node.system.locale}/${breadcrumb.node.url}`
),
title: breadcrumb.node.web.breadcrumbs.title,
uid: breadcrumb.node.system.uid,
export const breadcrumbsSchema = rawBreadcrumbsDataSchema.transform(
(data): { title: string; href: string; uid: string }[] => {
const { parentsConnection, title } = data.web.breadcrumbs
const parentBreadcrumbs = parentsConnection.edges.map((breadcrumb) => {
return {
href: removeMultipleSlashes(
`/${breadcrumb.node.system.locale}/${breadcrumb.node.url}`
),
title: breadcrumb.node.web.breadcrumbs.title,
uid: breadcrumb.node.system.uid,
}
})
const pageBreadcrumb = {
title,
uid: data.system.uid,
href: removeMultipleSlashes(`/${data.system.locale}/${data.url}`),
}
})
const homeBreadcrumb = homeBreadcrumbs[data.system.locale]
const pageBreadcrumb = {
title,
uid: data.system.uid,
href: removeMultipleSlashes(`/${data.system.locale}/${data.url}`),
return [homeBreadcrumb, parentBreadcrumbs, pageBreadcrumb].flat()
}
const homeBreadcrumb = homeBreadcrumbs[data.system.locale]
return [homeBreadcrumb, parentBreadcrumbs, pageBreadcrumb].flat()
})
)