diff --git a/services/web/frontend/js/main/account-upgrade.ts b/services/web/frontend/js/main/account-upgrade.ts index 370395d590..0e4e8fbc09 100644 --- a/services/web/frontend/js/main/account-upgrade.ts +++ b/services/web/frontend/js/main/account-upgrade.ts @@ -4,7 +4,8 @@ export function startFreeTrial( source: string, variant?: string, segmentation?: eventTracking.Segmentation, - extraSearchParams?: Record + extraSearchParams?: Record, + shouldNavigate: boolean = true ) { const eventSegmentation: Record = { 'paywall-type': source, @@ -17,12 +18,16 @@ export function startFreeTrial( eventTracking.send('subscription-funnel', 'upgraded-free-trial', source) eventTracking.sendMB('paywall-click', eventSegmentation) - const searchParams = new URLSearchParams({ - itm_campaign: source, - ...extraSearchParams, - }) + if (shouldNavigate) { + const searchParams = new URLSearchParams({ + itm_campaign: source, + ...extraSearchParams, + }) - window.open(`/user/subscription/choose-your-plan?${searchParams.toString()}`) + window.open( + `/user/subscription/choose-your-plan?${searchParams.toString()}` + ) + } } export function upgradePlan(source: string) { diff --git a/services/web/frontend/js/shared/components/start-free-trial-button.tsx b/services/web/frontend/js/shared/components/start-free-trial-button.tsx index d035bd43f1..d461da9750 100644 --- a/services/web/frontend/js/shared/components/start-free-trial-button.tsx +++ b/services/web/frontend/js/shared/components/start-free-trial-button.tsx @@ -42,14 +42,22 @@ export default function StartFreeTrialButton({ (event: React.MouseEvent) => { event.preventDefault() + let shouldNavigate = true + if (handleClick) { handleClick(event) if (event.isPropagationStopped()) { - return + shouldNavigate = false } } - startFreeTrial(source, variant, segmentation, extraSearchParams) + startFreeTrial( + source, + variant, + segmentation, + extraSearchParams, + shouldNavigate + ) }, [handleClick, source, variant, segmentation, extraSearchParams] )