From b22888db5feeeda336ac4c9167235be90789163c Mon Sep 17 00:00:00 2001 From: Erik Tiekstra Date: Thu, 14 Nov 2024 13:18:35 +0100 Subject: [PATCH] feat(SW-200): refactored breadcrumbs fetching and added json schema to layout --- .../(public)/[contentType]/[uid]/layout.tsx | 32 +- .../(public)/[contentType]/[uid]/page.tsx | 2 - .../Fragments/Breadcrumbs/Breadcrumbs.graphql | 3 + .../Breadcrumbs/CollectionPage.graphql | 24 ++ package-lock.json | 10 + package.json | 1 + .../contentstack/breadcrumbs/output.ts | 101 ++--- .../routers/contentstack/breadcrumbs/query.ts | 359 ++++++++---------- .../routers/contentstack/breadcrumbs/utils.ts | 102 +---- types/breadcrumbs.ts | 5 - .../trpc/routers/contentstack/breadcrumbs.ts | 15 + types/trpc/routers/contentstack/metadata.ts | 6 +- utils/getJsonSchemas.ts | 37 ++ 13 files changed, 318 insertions(+), 379 deletions(-) create mode 100644 lib/graphql/Fragments/Breadcrumbs/CollectionPage.graphql delete mode 100644 types/breadcrumbs.ts create mode 100644 types/trpc/routers/contentstack/breadcrumbs.ts create mode 100644 utils/getJsonSchemas.ts diff --git a/app/[lang]/(live)/(public)/[contentType]/[uid]/layout.tsx b/app/[lang]/(live)/(public)/[contentType]/[uid]/layout.tsx index 8ffc3c82d..ec2cddb4b 100644 --- a/app/[lang]/(live)/(public)/[contentType]/[uid]/layout.tsx +++ b/app/[lang]/(live)/(public)/[contentType]/[uid]/layout.tsx @@ -1,3 +1,5 @@ +import { getBreadcrumbsListSchema } from "@/utils/getJsonSchemas" + import styles from "./layout.module.css" import { @@ -7,7 +9,9 @@ import { UIDParams, } from "@/types/params" -export default function ContentTypeLayout({ +export { generateMetadata } from "@/utils/generateMetadata" + +export default async function ContentTypeLayout({ breadcrumbs, preview, children, @@ -17,13 +21,25 @@ export default function ContentTypeLayout({ preview: React.ReactNode } >) { + const breadcrumbsListSchema = await getBreadcrumbsListSchema() + return ( -
-
- {preview} - {breadcrumbs} - {children} -
-
+ <> + {breadcrumbsListSchema ? ( +