diff --git a/apps/scandic-web/components/Sidebar/index.tsx b/apps/scandic-web/components/Sidebar/index.tsx index bdc5d9445..de83ec5d6 100644 --- a/apps/scandic-web/components/Sidebar/index.tsx +++ b/apps/scandic-web/components/Sidebar/index.tsx @@ -44,6 +44,10 @@ export default function Sidebar({ blocks }: SidebarProps) { /> ) case SidebarEnums.blocks.ScriptedCard: + if (!block.scripted_card) { + return null + } + return ( ) case SidebarEnums.blocks.TeaserCard: + if (!block.teaser_card) { + return null + } + return ( { const link = transformPageLink(data) @@ -73,15 +58,7 @@ export const contentRefsSchema = z.object({ node: z.discriminatedUnion("__typename", [ sysAssetRefsSchema, imageContainerRefsSchema, - accountPageSchema, - collectionPageSchema, - contentPageSchema, - destinationCityPageSchema, - destinationCountryPageSchema, - destinationOverviewPageSchema, - hotelPageSchema, - loyaltyPageSchema, - startPageSchema, + ...linkRefsUnionSchema.options, ]), }) ), diff --git a/packages/trpc/lib/routers/contentstack/schemas/sidebar/scriptedCard.ts b/packages/trpc/lib/routers/contentstack/schemas/sidebar/scriptedCard.ts index 7cb5af66b..b7853fefb 100644 --- a/packages/trpc/lib/routers/contentstack/schemas/sidebar/scriptedCard.ts +++ b/packages/trpc/lib/routers/contentstack/schemas/sidebar/scriptedCard.ts @@ -25,7 +25,12 @@ export const scriptedCardsSchema = z.object({ ), }), }) + .nullish() .transform((data) => { + if (!data?.scripted_cardConnection?.edges.length) { + return null + } + return { theme: data.theme, ...transformCardBlock(data.scripted_cardConnection.edges[0].node), diff --git a/packages/trpc/lib/routers/contentstack/schemas/sidebar/teaserCard.ts b/packages/trpc/lib/routers/contentstack/schemas/sidebar/teaserCard.ts index 94816d149..ba5b48143 100644 --- a/packages/trpc/lib/routers/contentstack/schemas/sidebar/teaserCard.ts +++ b/packages/trpc/lib/routers/contentstack/schemas/sidebar/teaserCard.ts @@ -24,7 +24,12 @@ export const teaserCardsSchema = z.object({ ), }), }) + .nullish() .transform((data) => { + if (!data?.teaser_cardConnection?.edges.length) { + return null + } + return { ...transformTeaserCardBlock(data.teaser_cardConnection.edges[0].node), theme: data.theme,