Merged in feat/SW-1430-cta-button (pull request #1290)

Feat(SW-1430): Add header button on static pages

Approved-by: Erik Tiekstra
This commit is contained in:
Matilda Landström
2025-02-11 14:10:13 +00:00
parent 3d11cfb50a
commit f43ee4a0e6
8 changed files with 177 additions and 0 deletions

View File

@@ -74,6 +74,18 @@ const navigationLinksSchema = z
}))
})
const topPrimaryButtonSchema = linkAndTitleSchema
.nullable()
.transform((data) => {
if (!data?.link) {
return null
}
return {
url: data.link.url,
title: data.title || data.link.title || null,
}
})
// Content Page Schema and types
export const collectionPageSchema = z.object({
collection_page: z.object({
@@ -83,6 +95,7 @@ export const collectionPageSchema = z.object({
header: z.object({
heading: z.string(),
preamble: z.string(),
top_primary_button: topPrimaryButtonSchema,
navigation_links: navigationLinksSchema,
}),
system: systemSchema.merge(
@@ -133,6 +146,7 @@ const collectionPageBlockRefsItem = z.discriminatedUnion("__typename", [
const collectionPageHeaderRefs = z.object({
navigation_links: z.array(linkConnectionRefs),
top_primary_button: linkConnectionRefs.nullable(),
})
export const collectionPageRefsSchema = z.object({