Merged in feat/SW-1001-multiple-activity-cards (pull request #1191)

Feat(SW-1001): Multiple activity cards on hotel page

* chore(SW-1001): render all activity cards

* chore(SW-1001): add sidepeek CTA text to CS

* feat(SW-1001): add slug from CS


Approved-by: Erik Tiekstra
Approved-by: Fredrik Thorsson
This commit is contained in:
Matilda Landström
2025-01-21 10:25:55 +00:00
parent d02dc51dcc
commit 554b73696d
15 changed files with 36 additions and 23 deletions

View File

@@ -41,11 +41,12 @@ export const hotelPageSchema = z.object({
.nullable()
.transform((data) => {
let spaPage: SpaPage | undefined
let activitiesCard: ActivitiesCard | undefined
let activitiesCards: ActivitiesCard[] = []
data?.map((block) => {
switch (block.typename) {
case HotelPageEnum.ContentStack.blocks.ActivitiesCard:
activitiesCard = block
activitiesCards.push(block)
break
case HotelPageEnum.ContentStack.blocks.SpaPage:
spaPage = block
@@ -54,7 +55,7 @@ export const hotelPageSchema = z.object({
break
}
})
return { spaPage, activitiesCard }
return { spaPage, activitiesCards }
}),
faq: hotelFaqSchema,
hotel_page_id: z.string(),

View File

@@ -18,8 +18,10 @@ export const activitiesCardSchema = z.object({
background_image: tempImageVaultAssetSchema,
body_text: z.string(),
cta_text: z.string(),
sidepeek_cta_text: z.string(),
heading: z.string(),
scripted_title: z.string().optional(),
sidepeek_slug: z.string(),
hotel_page_activities_content_pageConnection: z.object({
edges: z.array(
z.object({
@@ -53,6 +55,8 @@ export const activitiesCardSchema = z.object({
bodyText: data.body_text,
contentPage,
ctaText: data.cta_text,
sidepeekCtaText: data.sidepeek_cta_text,
sidepeekSlug: data.sidepeek_slug,
heading: data.heading,
scriptedTopTitle: data.scripted_title,
}