fix(LOY-192): fix toasts for surprises in webviews

This commit is contained in:
Christian Andolf
2025-03-20 16:27:24 +01:00
parent 68c000aa0f
commit ac8df04c49
2 changed files with 31 additions and 15 deletions

View File

@@ -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({
<TrpcProvider>
<RouterTracking />
{children}
<ToastHandler />
</TrpcProvider>
</ServerIntlProvider>
</body>

View File

@@ -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 }
)}
<br />
<Link href={benefits[lang]} variant="underscored" color="burgundy">
{intl.formatMessage({ id: "Go to My Benefits" })}
</Link>
</>
)
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 }
)}
<br />
<Link href={benefitPageUrl} variant="underscored" color="burgundy">
{intl.formatMessage({ id: "Go to My Benefits" })}
</Link>
</>
)
},
onError: (error) => {
console.error("Failed to unwrap surprise", error)