Merged in feature/tier-matching-component (pull request #1175)
SAS Tier matching comparison block (SW-921) Approved-by: Joakim Jäderberg Approved-by: Matilda Landström
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
import { z } from "zod"
|
||||
|
||||
import { MembershipLevelEnum } from "@/constants/membershipLevels"
|
||||
|
||||
import { BlocksEnums } from "@/types/enums/blocks"
|
||||
|
||||
const link = z.object({
|
||||
href: z.string(),
|
||||
title: z.string(),
|
||||
})
|
||||
|
||||
export const sasTierComparisonSchema = z.object({
|
||||
typename: z
|
||||
.literal(BlocksEnums.block.SasTierComparison)
|
||||
.optional()
|
||||
.default(BlocksEnums.block.SasTierComparison),
|
||||
sas_tier_comparison: z
|
||||
.object({
|
||||
comparisonConnection: z.object({
|
||||
edges: z.array(
|
||||
z.object({
|
||||
node: z.object({
|
||||
title: z.string(),
|
||||
preamble: z.string().optional(),
|
||||
scandic_friends: z.object({
|
||||
title: z.string(),
|
||||
label: z.string(),
|
||||
tiers: z.array(
|
||||
z.object({
|
||||
tier_code: z.nativeEnum(MembershipLevelEnum),
|
||||
tier_label: z.string(),
|
||||
})
|
||||
),
|
||||
read_more_link: link.optional(),
|
||||
}),
|
||||
sas_eb: z.object({
|
||||
title: z.string(),
|
||||
label: z.string(),
|
||||
tiers: z.array(
|
||||
z.object({
|
||||
tier_code: z.enum([
|
||||
"Basic",
|
||||
"Silver",
|
||||
"Gold",
|
||||
"Diamond",
|
||||
"Pandion",
|
||||
]),
|
||||
tier_label: z.string(),
|
||||
})
|
||||
),
|
||||
read_more_link: link.optional(),
|
||||
}),
|
||||
cta: link.optional(),
|
||||
}),
|
||||
})
|
||||
),
|
||||
}),
|
||||
})
|
||||
.transform((data) => {
|
||||
return {
|
||||
sasTierComparison: data.comparisonConnection.edges.at(0)?.node ?? null,
|
||||
}
|
||||
}),
|
||||
})
|
||||
Reference in New Issue
Block a user