From b39effbb4b6c59a85b6ea6dbabc5835f9e25a91e Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 19 Sep 2023 15:23:19 +0200 Subject: [PATCH] Merge pull request #14896 from overleaf/tm-compile-time-warning-would-display Use standard paywall-types, extend paywall to include variant in segmentation GitOrigin-RevId: 17a154c525fed3b05a5208a34f374608f045872f --- .../components/compile-timeout-messages.tsx | 6 ++++-- .../components/timeout-upgrade-prompt-new.tsx | 15 ++++++--------- services/web/frontend/js/main/account-upgrade.js | 9 +++++++-- .../components/start-free-trial-button.tsx | 16 +++++++++++----- 4 files changed, 28 insertions(+), 18 deletions(-) diff --git a/services/web/frontend/js/features/pdf-preview/components/compile-timeout-messages.tsx b/services/web/frontend/js/features/pdf-preview/components/compile-timeout-messages.tsx index 4b304badd1..43219f1a55 100644 --- a/services/web/frontend/js/features/pdf-preview/components/compile-timeout-messages.tsx +++ b/services/web/frontend/js/features/pdf-preview/components/compile-timeout-messages.tsx @@ -146,7 +146,8 @@ function CompileTimeoutMessages() { ) -} +}) type PreventTimeoutHelpMessageProps = { compileTimeChanging?: boolean @@ -127,7 +124,7 @@ type PreventTimeoutHelpMessageProps = { handleEnableStopOnFirstErrorClick: () => void } -function PreventTimeoutHelpMessage({ +const PreventTimeoutHelpMessage = memo(function PreventTimeoutHelpMessage({ compileTimeChanging, lastCompileOptions, handleEnableStopOnFirstErrorClick, @@ -236,6 +233,6 @@ function PreventTimeoutHelpMessage({ level="raw" /> ) -} +}) export default memo(TimeoutUpgradePromptNew) diff --git a/services/web/frontend/js/main/account-upgrade.js b/services/web/frontend/js/main/account-upgrade.js index 3bdcec7fda..e1997a3a81 100644 --- a/services/web/frontend/js/main/account-upgrade.js +++ b/services/web/frontend/js/main/account-upgrade.js @@ -1,8 +1,13 @@ import * as eventTracking from '../infrastructure/event-tracking' -function startFreeTrial(source, version, $scope) { +function startFreeTrial(source, version, $scope, variant) { + const eventSegmentation = { 'paywall-type': source } + if (variant) { + eventSegmentation.variant = variant + } + eventTracking.send('subscription-funnel', 'upgraded-free-trial', source) - eventTracking.sendMB('paywall-click', { 'paywall-type': source }) + eventTracking.sendMB('paywall-click', eventSegmentation) const searchParams = new URLSearchParams({ itm_campaign: source, 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 ba025b7ba4..9ff685ce62 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 @@ -6,6 +6,7 @@ import * as eventTracking from '../../infrastructure/event-tracking' type StartFreeTrialButtonProps = { source: string + variant?: string buttonProps?: Button.ButtonProps children?: React.ReactNode handleClick?: MouseEventHandler