Merged in feat/LOY-365-promo-campaign-eligible-levels (pull request #2864)
feat(LOY-365): Add support for eligible levels for promo campaign pages * feat(LOY-365): Add support for eligible levels for promo campaign pages * fix(LOY-365): update to most recent copy * fix(LOY-365): cleanup css * fix(LOY-365): Move ineligible message to the bottom * fix(LOY-365): remove uneeded type Approved-by: Erik Tiekstra Approved-by: Matilda Landström
This commit is contained in:
@@ -25,6 +25,7 @@ query GetPromoCampaignPage($locale: String!, $uid: String!) {
|
||||
promo_code
|
||||
startdate
|
||||
enddate
|
||||
level_selection
|
||||
system {
|
||||
...System
|
||||
created_at
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { z } from "zod"
|
||||
|
||||
import { transformedImageVaultAssetSchema } from "@scandic-hotels/common/utils/imageVault"
|
||||
import { isMembershipLevel } from "@scandic-hotels/common/utils/membershipLevels"
|
||||
import { nullableStringValidator } from "@scandic-hotels/common/utils/zod/stringValidator"
|
||||
|
||||
import { systemSchema } from "../schemas/system"
|
||||
@@ -35,6 +36,13 @@ export const promoCampaignPageSchema = z
|
||||
promo_code: z.string(),
|
||||
startdate: nullableStringValidator,
|
||||
enddate: nullableStringValidator,
|
||||
level_selection: z
|
||||
.array(z.string())
|
||||
.nullish()
|
||||
.transform((data) => {
|
||||
if (!data) return []
|
||||
return data.filter(isMembershipLevel)
|
||||
}),
|
||||
system: systemSchema.merge(
|
||||
z.object({
|
||||
created_at: z.string(),
|
||||
@@ -47,13 +55,15 @@ export const promoCampaignPageSchema = z
|
||||
}),
|
||||
})
|
||||
.transform(({ promo_campaign_page, ...data }) => {
|
||||
const { page_settings, ...promoCampaignPageData } = promo_campaign_page
|
||||
const { page_settings, level_selection, ...promoCampaignPageData } =
|
||||
promo_campaign_page
|
||||
const bookingCode = page_settings?.booking_code || null
|
||||
|
||||
return {
|
||||
...data,
|
||||
promo_campaign_page: {
|
||||
bookingCode,
|
||||
eligibleLevels: level_selection,
|
||||
...promoCampaignPageData,
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user