From 80a738af7b7bdca4a00062d64266b73d43a74b75 Mon Sep 17 00:00:00 2001 From: Christian Andolf Date: Fri, 11 Apr 2025 09:16:13 +0200 Subject: [PATCH] fix: set redeem description nullable in order to handle the transition from string to RTE --- .../Rewards/Redeem/Flows/Tier.tsx | 16 ++--- .../routers/contentstack/reward/output.ts | 58 +++++++++++-------- 2 files changed, 42 insertions(+), 32 deletions(-) diff --git a/apps/scandic-web/components/Blocks/DynamicContent/Rewards/Redeem/Flows/Tier.tsx b/apps/scandic-web/components/Blocks/DynamicContent/Rewards/Redeem/Flows/Tier.tsx index a8ac39b11..71a36a3a4 100644 --- a/apps/scandic-web/components/Blocks/DynamicContent/Rewards/Redeem/Flows/Tier.tsx +++ b/apps/scandic-web/components/Blocks/DynamicContent/Rewards/Redeem/Flows/Tier.tsx @@ -46,13 +46,13 @@ export default function Tier({ {reward.label} - {reward.redeemLocation !== "Non-redeemable" ? ( + {reward.redeemLocation !== "Non-redeemable" && ( <> {redeemStep === "initial" && ( {reward.description} )} - {redeemStep === "confirmation" && ( + {redeemStep === "confirmation" && reward.redeem_description && ( )} - ) : ( - )} + {reward.redeemLocation === "Non-redeemable" && + reward.redeem_description && ( + + )} {reward.redeemLocation !== "Non-redeemable" ? ( diff --git a/apps/scandic-web/server/routers/contentstack/reward/output.ts b/apps/scandic-web/server/routers/contentstack/reward/output.ts index 80c5c6e35..3b77d63a6 100644 --- a/apps/scandic-web/server/routers/contentstack/reward/output.ts +++ b/apps/scandic-web/server/routers/contentstack/reward/output.ts @@ -36,22 +36,26 @@ const validateCmsRewardsSchema = z reward_id: z.string(), grouped_label: z.string().optional(), description: z.string().optional(), - redeem_description: z.object({ - json: z.any(), // JSON - embedded_itemsConnection: z.object({ - edges: z.array( - z.object({ - node: linkUnionSchema.transform((data) => { - const link = transformPageLink(data) - if (link) { - return link - } - return data - }), - }) - ), - }), - }), + redeem_description: z + .object({ + json: z.any(), // JSON + embedded_itemsConnection: z.object({ + edges: z.array( + z.object({ + node: linkUnionSchema.transform((data) => { + const link = transformPageLink(data) + if (link) { + return link + } + return data + }), + }) + ), + }), + }) + // This is primarily added in order to handle a transition + // switching from string to RTE + .nullable(), grouped_description: z.string().optional(), value: z.string().optional(), }) @@ -66,15 +70,19 @@ const rewardRefsSchema = z.object({ all_reward: z.object({ items: z.array( z.object({ - redeem_description: z.object({ - embedded_itemsConnection: z.object({ - edges: z.array( - z.object({ - node: linkRefsUnionSchema, - }) - ), - }), - }), + redeem_description: z + .object({ + embedded_itemsConnection: z.object({ + edges: z.array( + z.object({ + node: linkRefsUnionSchema, + }) + ), + }), + }) + // This is primarily added in order to handle a transition + // switching from string to RTE + .nullable(), system: systemSchema, }) ),