feat(SW-3061): Added block for all campaigns

Approved-by: Matilda Landström
This commit is contained in:
Erik Tiekstra
2025-08-14 07:07:54 +00:00
parent 985d47d7b3
commit dc483fe599
10 changed files with 276 additions and 0 deletions

View File

@@ -8,6 +8,10 @@ import {
heroSchema,
includedHotelsSchema,
} from "../campaignPage/output"
import {
allCampaignsRefsSchema,
allCampaignsSchema,
} from "../schemas/blocks/allCampaigns"
import {
carouselCardsRefsSchema,
carouselCardsSchema,
@@ -71,6 +75,14 @@ const campaignOverviewPageCarouselCards = z
})
.merge(carouselCardsSchema)
const campaignOverviewPageAllCampaigns = z
.object({
__typename: z.literal(
CampaignOverviewPageEnum.ContentStack.blocks.AllCampaigns
),
})
.merge(allCampaignsSchema)
export const campaignOverviewPageHotelListing = z
.object({
__typename: z.literal(
@@ -80,6 +92,7 @@ export const campaignOverviewPageHotelListing = z
.merge(campaignOverviewPageHotelListingSchema)
export const blocksSchema = z.discriminatedUnion("__typename", [
campaignOverviewPageAllCampaigns,
campaignOverviewPageCarouselCards,
campaignOverviewPageHotelListing,
])
@@ -134,7 +147,16 @@ const campaignOverviewPageCarouselCardsRef = z
})
.merge(carouselCardsRefsSchema)
const campaignOverviewPageAllCampaignsRef = z
.object({
__typename: z.literal(
CampaignOverviewPageEnum.ContentStack.blocks.AllCampaigns
),
})
.merge(allCampaignsRefsSchema)
const blockRefsSchema = z.discriminatedUnion("__typename", [
campaignOverviewPageAllCampaignsRef,
campaignOverviewPageCarouselCardsRef,
])

View File

@@ -45,6 +45,12 @@ export function getConnections({
})
break
}
case CampaignOverviewPageEnum.ContentStack.blocks.AllCampaigns: {
block.all_campaigns.campaignsConnection.edges.forEach(({ node }) => {
connections.push(node.system)
})
break
}
}
})
}