compile-timeout-warning.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import Notification from '@/shared/components/notification'
  2. import StartFreeTrialButton from '@/shared/components/start-free-trial-button'
  3. import { useTranslation } from 'react-i18next'
  4. import { FC } from 'react'
  5. export const CompileTimeoutWarning: FC<{
  6. handleDismissWarning: () => void
  7. showNewCompileTimeoutUI?: string
  8. }> = ({ handleDismissWarning, showNewCompileTimeoutUI }) => {
  9. const { t } = useTranslation()
  10. return (
  11. <Notification
  12. action={
  13. <StartFreeTrialButton
  14. variant="new-10s"
  15. source="compile-time-warning"
  16. buttonProps={{
  17. className: 'btn-secondary-compile-timeout-override',
  18. }}
  19. >
  20. {t('start_free_trial_without_exclamation')}
  21. </StartFreeTrialButton>
  22. }
  23. ariaLive="polite"
  24. content={
  25. <div>
  26. <div>
  27. <span>{t('your_project_near_compile_timeout_limit')}</span>
  28. </div>
  29. {showNewCompileTimeoutUI === 'active' ? (
  30. <>
  31. <strong>{t('upgrade_for_12x_more_compile_time')}</strong>
  32. {'. '}
  33. </>
  34. ) : (
  35. <strong>{t('upgrade_for_plenty_more_compile_time')}</strong>
  36. )}
  37. </div>
  38. }
  39. type="warning"
  40. title={t('took_a_while')}
  41. isActionBelowContent
  42. isDismissible
  43. onDismiss={handleDismissWarning}
  44. />
  45. )
  46. }