index.tsx 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import { useTranslation } from 'react-i18next'
  2. import CustomWebAppBrand from '../custom-web-app-brand'
  3. import { useProviderContext } from '@/context/provider-context'
  4. import { Plan } from '@/app/components/billing/type'
  5. import { contactSalesUrl } from '@/app/components/billing/config'
  6. import { useModalContext } from '@/context/modal-context'
  7. const CustomPage = () => {
  8. const { t } = useTranslation()
  9. const { plan, enableBilling } = useProviderContext()
  10. const { setShowPricingModal } = useModalContext()
  11. const showBillingTip = enableBilling && plan.type === Plan.sandbox
  12. const showContact = enableBilling && (plan.type === Plan.professional || plan.type === Plan.team)
  13. return (
  14. <div className='flex flex-col'>
  15. {showBillingTip && (
  16. <div className='flex justify-between mb-1 p-4 pl-6 bg-gradient-to-r from-components-input-border-active-prompt-1 to-components-input-border-active-prompt-2 shadow-lg backdrop-blur-sm rounded-xl'>
  17. <div className='space-y-1 text-text-primary-on-surface'>
  18. <div className='title-xl-semi-bold'>{t('custom.upgradeTip.title')}</div>
  19. <div className='system-sm-regular'>{t('custom.upgradeTip.des')}</div>
  20. </div>
  21. <div className='w-[120px] h-10 flex items-center justify-center bg-white rounded-3xl shadow-xs system-md-semibold text-text-accent cursor-pointer hover:opacity-95' onClick={() => setShowPricingModal()}>{t('billing.upgradeBtn.encourageShort')}</div>
  22. </div>
  23. )}
  24. <CustomWebAppBrand />
  25. {showContact && (
  26. <div className='absolute bottom-0 h-[50px] leading-[50px] text-xs text-text-quaternary'>
  27. {t('custom.customize.prefix')}
  28. <a className='text-text-accent' href={contactSalesUrl} target='_blank' rel='noopener noreferrer'>{t('custom.customize.contactUs')}</a>
  29. {t('custom.customize.suffix')}
  30. </div>
  31. )}
  32. </div>
  33. )
  34. }
  35. export default CustomPage