From ac8df04c4912863bc8cc961aafd76560f2b899a3 Mon Sep 17 00:00:00 2001 From: Christian Andolf Date: Thu, 20 Mar 2025 16:27:24 +0100 Subject: [PATCH] fix(LOY-192): fix toasts for surprises in webviews --- .../scandic-web/app/[lang]/webview/layout.tsx | 2 + .../components/MyPages/Surprises/Client.tsx | 44 ++++++++++++------- 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/apps/scandic-web/app/[lang]/webview/layout.tsx b/apps/scandic-web/app/[lang]/webview/layout.tsx index bf2323cdb..e7f294134 100644 --- a/apps/scandic-web/app/[lang]/webview/layout.tsx +++ b/apps/scandic-web/app/[lang]/webview/layout.tsx @@ -7,6 +7,7 @@ import Script from "next/script" import TrpcProvider from "@/lib/trpc/Provider" +import { ToastHandler } from "@/components/TempDesignSystem/Toasts" import AdobeSDKScript from "@/components/TrackingSDK/AdobeSDKScript" import GTMScript from "@/components/TrackingSDK/GTMScript" import RouterTracking from "@/components/TrackingSDK/RouterTracking" @@ -43,6 +44,7 @@ export default async function RootLayout({ {children} + diff --git a/apps/scandic-web/components/MyPages/Surprises/Client.tsx b/apps/scandic-web/components/MyPages/Surprises/Client.tsx index c5d05ad65..1290077a3 100644 --- a/apps/scandic-web/components/MyPages/Surprises/Client.tsx +++ b/apps/scandic-web/components/MyPages/Surprises/Client.tsx @@ -8,6 +8,10 @@ import { useIntl } from "react-intl" import { customerService } from "@/constants/currentWebHrefs" import { benefits } from "@/constants/routes/myPages" +import { + benefits as webviewBenefits, + myPagesWebviews, +} from "@/constants/routes/webviews" import { trpc } from "@/lib/trpc/client" import Link from "@/components/TempDesignSystem/Link" @@ -56,22 +60,32 @@ export default function SurprisesNotification({ onSuccess: () => { utils.contentstack.rewards.current.invalidate({ lang }) - if (pathname.indexOf(benefits[lang]) !== 0) { - toast.success( - <> - {intl.formatMessage( - { - id: "{amount, plural, one {Gift} other {Gifts}} added to your benefits", - }, - { amount: surprises.length } - )} -
- - {intl.formatMessage({ id: "Go to My Benefits" })} - - - ) + const onBenefitsPage = pathname.indexOf(benefits[lang]) === 0 + const onWebviewBenefitsPage = + pathname.indexOf(webviewBenefits[lang]) === 0 + + if (onBenefitsPage || onWebviewBenefitsPage) { + return } + + const benefitPageUrl = myPagesWebviews.includes(pathname) + ? webviewBenefits[lang] + : benefits[lang] + + toast.success( + <> + {intl.formatMessage( + { + id: "{amount, plural, one {Gift} other {Gifts}} added to your benefits", + }, + { amount: surprises.length } + )} +
+ + {intl.formatMessage({ id: "Go to My Benefits" })} + + + ) }, onError: (error) => { console.error("Failed to unwrap surprise", error)