Merged in fix/SW-1877-new-responsive-breadcrumbs (pull request #1671)

fix(SW-1877): new responsive breadcrumbs

Approved-by: Erik Tiekstra
This commit is contained in:
Christian Andolf
2025-04-01 07:11:05 +00:00
13 changed files with 374 additions and 120 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()
})
)