index.tsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. 'use client'
  2. import type { FC } from 'react'
  3. import React from 'react'
  4. import { useTranslation } from 'react-i18next'
  5. import UpgradeBtn from '../upgrade-btn'
  6. import AppsInfo from '../usage-info/apps-info'
  7. import s from './style.module.css'
  8. import cn from '@/utils/classnames'
  9. import GridMask from '@/app/components/base/grid-mask'
  10. const AppsFull: FC<{ loc: string; className?: string }> = ({
  11. loc,
  12. className,
  13. }) => {
  14. const { t } = useTranslation()
  15. return (
  16. <GridMask wrapperClassName='rounded-lg' canvasClassName='rounded-lg' gradientClassName='rounded-lg'>
  17. <div className={cn(
  18. 'mt-6 px-3.5 py-4 border-2 border-solid border-transparent rounded-lg shadow-md flex flex-col transition-all duration-200 ease-in-out cursor-pointer',
  19. className,
  20. )}>
  21. <div className='flex justify-between items-center'>
  22. <div className={cn(s.textGradient, 'leading-[24px] text-base font-semibold')}>
  23. <div>{t('billing.apps.fullTipLine1')}</div>
  24. <div>{t('billing.apps.fullTipLine2')}</div>
  25. </div>
  26. <div className='flex'>
  27. <UpgradeBtn loc={loc} />
  28. </div>
  29. </div>
  30. <AppsInfo className='mt-4' />
  31. </div>
  32. </GridMask>
  33. )
  34. }
  35. export default React.memo(AppsFull)