From 0cda37808e1bb4751dcfa16d727b1259f5d403c8 Mon Sep 17 00:00:00 2001 From: Erik Tiekstra Date: Tue, 3 Feb 2026 15:28:23 +0000 Subject: [PATCH] Merged in fix/BOOK-755-alert-content (pull request #3523) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix(BOOK-755, BOOK-787): Fixed issue for phone number and sidepeeks not showing * fix(BOOK-755): Fixed issue for phone number and sidepeeks not showing * fix(BOOK-755): fix issue phonenumber alert * fix(BOOK-755): fix issue phonenumber Approved-by: Matilda Landström --- .../components/Blocks/Alert/index.tsx | 20 ++++++++++++++-- .../lib/components/JsonToHtml/JsonToHtml.tsx | 23 +------------------ .../components/JsonToHtml/renderOptions.tsx | 3 --- .../Fragments/Blocks/Content.graphql.ts | 3 --- .../contentstack/schemas/blocks/content.ts | 14 +---------- 5 files changed, 20 insertions(+), 43 deletions(-) diff --git a/apps/scandic-web/components/Blocks/Alert/index.tsx b/apps/scandic-web/components/Blocks/Alert/index.tsx index a5561b08e..9b06af51e 100644 --- a/apps/scandic-web/components/Blocks/Alert/index.tsx +++ b/apps/scandic-web/components/Blocks/Alert/index.tsx @@ -1,13 +1,29 @@ import { Alert } from "@scandic-hotels/design-system/Alert" +import { getAlertPhoneContactData } from "@scandic-hotels/trpc/routers/contentstack/base/utils" + +import { serverClient } from "@/lib/trpc/server" import type { AlertBlock } from "@scandic-hotels/trpc/types/blocks" interface AlertBlockProps extends Pick {} -export function AlertBlock({ alert }: AlertBlockProps) { +export async function AlertBlock({ alert }: AlertBlockProps) { + const caller = await serverClient() + const contactConfig = await caller.contentstack.base.contact() if (!alert) { return null } - return + const phoneContact = + alert.phoneContact && contactConfig + ? getAlertPhoneContactData(alert, contactConfig) + : null + + return ( + + ) } diff --git a/packages/design-system/lib/components/JsonToHtml/JsonToHtml.tsx b/packages/design-system/lib/components/JsonToHtml/JsonToHtml.tsx index b36e20a92..07c56e0b8 100644 --- a/packages/design-system/lib/components/JsonToHtml/JsonToHtml.tsx +++ b/packages/design-system/lib/components/JsonToHtml/JsonToHtml.tsx @@ -4,9 +4,7 @@ import { nodesToHtml } from "./utils" import styles from "./jsontohtml.module.css" -import { AlertTypeEnum } from "@scandic-hotels/common/constants/alert" import { ImageVaultAsset } from "@scandic-hotels/common/utils/imageVault" -import { AlertSidepeekContent } from "../../types/sidepeekContent" import { ContentBlockType } from "./types/rte/enums" import type { RTENode } from "./types/rte/node" import type { RenderOptions } from "./types/rte/option" @@ -17,7 +15,7 @@ export type Node = { export type Embeds = | { - __typename: Exclude + __typename: Exclude system?: { uid: string } | null url?: string | null permanent_url?: string | null @@ -31,25 +29,6 @@ export type Embeds = image_left?: ImageVaultAsset image_right?: ImageVaultAsset } - | { - __typename: "Alert" - system?: { uid: string } | null - type: AlertTypeEnum - heading: string | null - text: string - phoneContact?: { - displayText: string - phoneNumber: string - footnote?: string | null - } | null - sidepeekContent?: AlertSidepeekContent | null - sidepeekCtaText?: string | null - link?: { - url: string - title: string - keepSearchParams?: boolean - } | null - } export type EmbedByUid = Record> diff --git a/packages/design-system/lib/components/JsonToHtml/renderOptions.tsx b/packages/design-system/lib/components/JsonToHtml/renderOptions.tsx index 7a6fd62bc..4a232d42f 100644 --- a/packages/design-system/lib/components/JsonToHtml/renderOptions.tsx +++ b/packages/design-system/lib/components/JsonToHtml/renderOptions.tsx @@ -20,7 +20,6 @@ import { mapImageVaultAssetResponseToImageVaultAsset, mapInsertResponseToImageVaultAsset, } from "@scandic-hotels/common/utils/imageVault" -import { Alert } from "../Alert" import { TextLink } from "../TextLink" import type { EmbedByUid } from "./JsonToHtml" import type { Attributes } from "./types/rte/attrs" @@ -459,8 +458,6 @@ export const renderOptions: RenderOptions = { ) } return null - } else if (entry?.node.__typename === "Alert") { - return } else if ( entry?.node.__typename === "AccountPage" || entry?.node.__typename === "CampaignOverviewPage" || diff --git a/packages/trpc/lib/graphql/Fragments/Blocks/Content.graphql.ts b/packages/trpc/lib/graphql/Fragments/Blocks/Content.graphql.ts index d5420b1ce..d2e99bf39 100644 --- a/packages/trpc/lib/graphql/Fragments/Blocks/Content.graphql.ts +++ b/packages/trpc/lib/graphql/Fragments/Blocks/Content.graphql.ts @@ -1,6 +1,5 @@ import { gql } from "graphql-tag" -import { Alert } from "../Alert.graphql" import { ImageContainer } from "../ImageContainer.graphql" import { AccountPageLink } from "../PageLink/AccountPageLink.graphql" import { CampaignOverviewPageLink } from "../PageLink/CampaignOverviewPageLink.graphql" @@ -25,7 +24,6 @@ export const Content_ContentPage = gql` node { __typename ...SysAsset - ...Alert ...ImageContainer ...AccountPageLink ...CampaignOverviewPageLink @@ -47,7 +45,6 @@ export const Content_ContentPage = gql` } } ${SysAsset} - ${Alert} ${ImageContainer} ${AccountPageLink} ${CampaignOverviewPageLink} diff --git a/packages/trpc/lib/routers/contentstack/schemas/blocks/content.ts b/packages/trpc/lib/routers/contentstack/schemas/blocks/content.ts index bb455d98f..93ffb81d7 100644 --- a/packages/trpc/lib/routers/contentstack/schemas/blocks/content.ts +++ b/packages/trpc/lib/routers/contentstack/schemas/blocks/content.ts @@ -1,8 +1,6 @@ import { z } from "zod" import { BlocksEnums } from "../../../../types/blocksEnum" -import { ContentEnum } from "../../../../types/content" -import { alertSchema, transformAlertSchema } from "../alert" import { rawLinkUnionSchema, transformPageLink } from "../pageLinks" import { imageContainerSchema } from "./imageContainer" import { sysAssetSchema } from "./sysAsset" @@ -24,11 +22,7 @@ export const contentSchema = z.object({ .discriminatedUnion("__typename", [ imageContainerSchema, sysAssetSchema, - alertSchema.merge( - z.object({ - __typename: z.literal(ContentEnum.blocks.Alert), - }) - ), + ...rawLinkUnionSchema.options, ]) .transform((data) => { @@ -36,12 +30,6 @@ export const contentSchema = z.object({ if (link) { return link } - if (data.__typename === ContentEnum.blocks.Alert) { - return { - __typename: data.__typename, - ...transformAlertSchema(data), - } - } return data }), })