mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-14 15:05:54 +08:00
feat: add upgrade ga test (#1690)
This commit is contained in:
parent
1263b7de75
commit
b5dd948e56
@ -69,6 +69,7 @@ const PlanComp: FC<Props> = ({
|
|||||||
<UpgradeBtn
|
<UpgradeBtn
|
||||||
className='flex-shrink-0'
|
className='flex-shrink-0'
|
||||||
isPlain={type !== Plan.sandbox}
|
isPlain={type !== Plan.sandbox}
|
||||||
|
gaEventName='click_header_upgrade_btn'
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
@ -83,6 +84,7 @@ const PlanComp: FC<Props> = ({
|
|||||||
isFull
|
isFull
|
||||||
size='lg'
|
size='lg'
|
||||||
isPlain={type !== Plan.sandbox}
|
isPlain={type !== Plan.sandbox}
|
||||||
|
gaEventName='click_header_upgrade_btn'
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
@ -15,9 +15,10 @@ type Props = {
|
|||||||
isPlain?: boolean
|
isPlain?: boolean
|
||||||
isShort?: boolean
|
isShort?: boolean
|
||||||
onClick?: () => void
|
onClick?: () => void
|
||||||
|
gaEventName?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
const PlainBtn = ({ className, onClick }: { className?: string; onClick: () => {} }) => {
|
const PlainBtn = ({ className, onClick }: { className?: string; onClick: () => void }) => {
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -38,13 +39,22 @@ const UpgradeBtn: FC<Props> = ({
|
|||||||
isFull = false,
|
isFull = false,
|
||||||
isShort = false,
|
isShort = false,
|
||||||
size = 'md',
|
size = 'md',
|
||||||
onClick,
|
onClick: _onClick,
|
||||||
|
gaEventName,
|
||||||
}) => {
|
}) => {
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const { setShowPricingModal } = useModalContext()
|
const { setShowPricingModal } = useModalContext()
|
||||||
|
const onClick = () => {
|
||||||
|
if (gaEventName)
|
||||||
|
(window as any).dataLayer.push({ event: gaEventName })
|
||||||
|
if (_onClick)
|
||||||
|
_onClick()
|
||||||
|
else
|
||||||
|
(setShowPricingModal as any)()
|
||||||
|
}
|
||||||
|
|
||||||
if (isPlain)
|
if (isPlain)
|
||||||
return <PlainBtn onClick={onClick || setShowPricingModal as any} className={className} />
|
return <PlainBtn onClick={onClick} className={className} />
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
@ -55,7 +65,7 @@ const UpgradeBtn: FC<Props> = ({
|
|||||||
size === 'lg' ? 'h-10' : 'h-9',
|
size === 'lg' ? 'h-10' : 'h-9',
|
||||||
'relative flex items-center cursor-pointer border rounded-[20px] border-[#0096EA] text-white',
|
'relative flex items-center cursor-pointer border rounded-[20px] border-[#0096EA] text-white',
|
||||||
)}
|
)}
|
||||||
onClick={onClick || setShowPricingModal}
|
onClick={onClick}
|
||||||
>
|
>
|
||||||
<GoldCoin className='mr-1 w-3.5 h-3.5' />
|
<GoldCoin className='mr-1 w-3.5 h-3.5' />
|
||||||
<div className='text-xs font-normal'>{t(`billing.upgradeBtn.${isShort ? 'encourageShort' : 'encourage'}`)}</div>
|
<div className='text-xs font-normal'>{t(`billing.upgradeBtn.${isShort ? 'encourageShort' : 'encourage'}`)}</div>
|
||||||
|
@ -19,7 +19,7 @@ const translation = {
|
|||||||
year: 'year',
|
year: 'year',
|
||||||
save: 'Save ',
|
save: 'Save ',
|
||||||
free: 'Free',
|
free: 'Free',
|
||||||
currentPlan: 'current plan',
|
currentPlan: 'Current Plan',
|
||||||
startForFree: 'Start for free',
|
startForFree: 'Start for free',
|
||||||
getStartedWith: 'Get started with ',
|
getStartedWith: 'Get started with ',
|
||||||
contactSales: 'Contact Sales',
|
contactSales: 'Contact Sales',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user