Files
overleaf-cep/services/web/frontend/js/shared/components/paywall-upgrade-button.tsx
T
Olzhas Askar 5ae13ef025 Merge pull request #34374 from overleaf/oa-extend-telemetry
[web] Extend paywall telemetry

GitOrigin-RevId: 20efca13734a3aafe70a56fee19b76c62503b828
2026-06-10 11:58:24 +00:00

41 lines
1.1 KiB
TypeScript

import OLButton from '@/shared/components/ol/ol-button'
import getMeta from '@/utils/meta'
import { useEditorAnalytics } from '@/shared/hooks/use-editor-analytics'
import { useCallback } from 'react'
import { useTranslation } from 'react-i18next'
export default function PaywallUpgradeButton({
referrer,
paywallType,
className,
}: {
referrer: string
paywallType: string
className?: string
}) {
const { t } = useTranslation()
const { sendEvent } = useEditorAnalytics()
const user = getMeta('ol-user')
const handleClick = useCallback(() => {
sendEvent('paywall-click', {
upgradeType: user.hasPaidSubscription ? 'add-on' : 'standalone',
'paywall-type': paywallType,
})
}, [sendEvent, user.hasPaidSubscription, paywallType])
return (
<OLButton
variant="premium"
size="sm"
href={`/user/subscription/choose-your-plan?itm_referrer=${referrer}&itm_campaign=${paywallType}&paywall-type=${paywallType}`}
target="_blank"
rel="noreferrer"
className={className}
onClick={handleClick}
>
{t('upgrade')}
</OLButton>
)
}