upgrade-button.tsx 976 B

123456789101112131415161718192021222324252627282930313233343536
  1. import { useTranslation } from 'react-i18next'
  2. import * as eventTracking from '../../../../infrastructure/event-tracking'
  3. import OLButton from '@/shared/components/ol/ol-button'
  4. export default function UpgradeButton({
  5. className = '',
  6. referrer = 'editor-header-upgrade-prompt',
  7. source = 'code-editor',
  8. }: {
  9. className?: string
  10. referrer?: string
  11. source?: string
  12. }) {
  13. const { t } = useTranslation()
  14. function handleClick() {
  15. eventTracking.send('subscription-funnel', source, 'upgrade')
  16. eventTracking.sendMB('upgrade-button-click', { source })
  17. }
  18. return (
  19. <div className="ide-redesign-toolbar-button-container">
  20. <OLButton
  21. variant="premium"
  22. size="sm"
  23. href={`/user/subscription/choose-your-plan?itm_referrer=${referrer}&paywall-type=${source}`}
  24. target="_blank"
  25. rel="noreferrer"
  26. onClick={handleClick}
  27. className={className}
  28. >
  29. {t('upgrade')}
  30. </OLButton>
  31. </div>
  32. )
  33. }