| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | 
							- 'use client'
 
- import type { FC } from 'react'
 
- import React from 'react'
 
- import { useTranslation } from 'react-i18next'
 
- import cn from 'classnames'
 
- import { GoldCoin } from '../../base/icons/src/vender/solid/FinanceAndECommerce'
 
- import { Sparkles } from '../../base/icons/src/public/billing'
 
- import s from './style.module.css'
 
- import { useModalContext } from '@/context/modal-context'
 
- type Props = {
 
-   className?: string
 
-   isFull?: boolean
 
-   size?: 'md' | 'lg'
 
-   isPlain?: boolean
 
-   isShort?: boolean
 
-   onClick?: () => void
 
-   loc?: string
 
- }
 
- const PlainBtn = ({ className, onClick }: { className?: string; onClick: () => void }) => {
 
-   const { t } = useTranslation()
 
-   return (
 
-     <div
 
-       className={cn(className, 'flex items-center h-8 px-3 rounded-lg border border-gray-200 bg-white shadow-sm cursor-pointer')}
 
-       onClick={onClick}
 
-     >
 
-       <div className='leading-[18px] text-[13px] font-medium text-gray-700'>
 
-         {t('billing.upgradeBtn.plain')}
 
-       </div>
 
-     </div>
 
-   )
 
- }
 
- const UpgradeBtn: FC<Props> = ({
 
-   className,
 
-   isPlain = false,
 
-   isFull = false,
 
-   isShort = false,
 
-   size = 'md',
 
-   onClick: _onClick,
 
-   loc,
 
- }) => {
 
-   const { t } = useTranslation()
 
-   const { setShowPricingModal } = useModalContext()
 
-   const handleClick = () => {
 
-     if (_onClick)
 
-       _onClick()
 
-     else
 
-       (setShowPricingModal as any)()
 
-   }
 
-   const onClick = () => {
 
-     handleClick()
 
-     if (loc && (window as any).gtag) {
 
-       (window as any).gtag('event', 'click_upgrade_btn', {
 
-         loc,
 
-       })
 
-     }
 
-   }
 
-   if (isPlain)
 
-     return <PlainBtn onClick={onClick} className={className} />
 
-   return (
 
-     <div
 
-       className={cn(
 
-         s.upgradeBtn,
 
-         className,
 
-         isFull ? 'justify-center' : 'px-3',
 
-         size === 'lg' ? 'h-10' : 'h-9',
 
-         'relative flex items-center cursor-pointer border rounded-[20px] border-[#0096EA] text-white',
 
-       )}
 
-       onClick={onClick}
 
-     >
 
-       <GoldCoin className='mr-1 w-3.5 h-3.5' />
 
-       <div className='text-xs font-normal'>{t(`billing.upgradeBtn.${isShort ? 'encourageShort' : 'encourage'}`)}</div>
 
-       <Sparkles
 
-         className='absolute -right-1 -top-2  w-4 h-5 bg-cover'
 
-       />
 
-     </div>
 
-   )
 
- }
 
- export default React.memo(UpgradeBtn)
 
 
  |