Merged in fix/LOY-192-fix-surprises-toasts-webview (pull request #1591)

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

Approved-by: Chuma Mcphoy (We Ahead)
This commit is contained in:
Christian Andolf
2025-03-21 08:03:06 +00:00
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 TrpcProvider from "@/lib/trpc/Provider"
import { ToastHandler } from "@/components/TempDesignSystem/Toasts"
import AdobeSDKScript from "@/components/TrackingSDK/AdobeSDKScript" import AdobeSDKScript from "@/components/TrackingSDK/AdobeSDKScript"
import GTMScript from "@/components/TrackingSDK/GTMScript" import GTMScript from "@/components/TrackingSDK/GTMScript"
import RouterTracking from "@/components/TrackingSDK/RouterTracking" import RouterTracking from "@/components/TrackingSDK/RouterTracking"
@@ -43,6 +44,7 @@ export default async function RootLayout({
<TrpcProvider> <TrpcProvider>
<RouterTracking /> <RouterTracking />
{children} {children}
<ToastHandler />
</TrpcProvider> </TrpcProvider>
</ServerIntlProvider> </ServerIntlProvider>
</body> </body>

View File

@@ -8,6 +8,10 @@ import { useIntl } from "react-intl"
import { customerService } from "@/constants/currentWebHrefs" import { customerService } from "@/constants/currentWebHrefs"
import { benefits } from "@/constants/routes/myPages" import { benefits } from "@/constants/routes/myPages"
import {
benefits as webviewBenefits,
myPagesWebviews,
} from "@/constants/routes/webviews"
import { trpc } from "@/lib/trpc/client" import { trpc } from "@/lib/trpc/client"
import Link from "@/components/TempDesignSystem/Link" import Link from "@/components/TempDesignSystem/Link"
@@ -56,7 +60,18 @@ export default function SurprisesNotification({
onSuccess: () => { onSuccess: () => {
utils.contentstack.rewards.current.invalidate({ lang }) utils.contentstack.rewards.current.invalidate({ lang })
if (pathname.indexOf(benefits[lang]) !== 0) { 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( toast.success(
<> <>
{intl.formatMessage( {intl.formatMessage(
@@ -66,12 +81,11 @@ export default function SurprisesNotification({
{ amount: surprises.length } { amount: surprises.length }
)} )}
<br /> <br />
<Link href={benefits[lang]} variant="underscored" color="burgundy"> <Link href={benefitPageUrl} variant="underscored" color="burgundy">
{intl.formatMessage({ id: "Go to My Benefits" })} {intl.formatMessage({ id: "Go to My Benefits" })}
</Link> </Link>
</> </>
) )
}
}, },
onError: (error) => { onError: (error) => {
console.error("Failed to unwrap surprise", error) console.error("Failed to unwrap surprise", error)