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_column_title: z.string(), sas_column_title: z.string(), tier_matches: z.array( z.object({ scandic_friends_tier_name: z.string(), sas_eb_tier_name: z.string(), title: z.string(), content: z.object({ json: z.any(), // json }), link: link.optional(), }) ), cta: link.optional(), }), }) ), }), }) .transform((data) => { return { sasTierComparison: data.comparisonConnection.edges.at(0)?.node ?? null, } }), })