preview-error.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import React from 'react'
  2. import PropTypes from 'prop-types'
  3. import { useTranslation } from 'react-i18next'
  4. import PreviewLogsPaneEntry from './preview-logs-pane-entry'
  5. function PreviewError({ name }) {
  6. const { t } = useTranslation()
  7. let errorTitle
  8. let errorContent
  9. if (name === 'error') {
  10. errorTitle = t('server_error')
  11. errorContent = <>{t('somthing_went_wrong_compiling')}</>
  12. } else if (name === 'renderingError') {
  13. errorTitle = t('pdf_rendering_error')
  14. errorContent = <>{t('something_went_wrong_rendering_pdf')}</>
  15. } else if (name === 'clsiMaintenance') {
  16. errorTitle = t('server_error')
  17. errorContent = <>{t('clsi_maintenance')}</>
  18. } else if (name === 'clsiUnavailable') {
  19. errorTitle = t('server_error')
  20. errorContent = <>{t('clsi_unavailable')}</>
  21. } else if (name === 'tooRecentlyCompiled') {
  22. errorTitle = t('server_error')
  23. errorContent = <>{t('too_recently_compiled')}</>
  24. } else if (name === 'compileTerminated') {
  25. errorTitle = t('terminated')
  26. errorContent = <>{t('compile_terminated_by_user')}</>
  27. } else if (name === 'rateLimited') {
  28. errorTitle = t('pdf_compile_rate_limit_hit')
  29. errorContent = <>{t('project_flagged_too_many_compiles')}</>
  30. } else if (name === 'compileInProgress') {
  31. errorTitle = t('pdf_compile_in_progress_error')
  32. errorContent = <>{t('pdf_compile_try_again')}</>
  33. } else if (name === 'timedout') {
  34. errorTitle = t('timedout')
  35. errorContent = (
  36. <>
  37. {t('proj_timed_out_reason')}
  38. <div>
  39. <a
  40. href="https://www.overleaf.com/learn/how-to/Why_do_I_keep_getting_the_compile_timeout_error_message%3F"
  41. target="_blank"
  42. >
  43. {t('learn_how_to_make_documents_compile_quickly')}
  44. </a>
  45. </div>
  46. </>
  47. )
  48. } else if (name === 'autoCompileDisabled') {
  49. errorTitle = t('autocompile_disabled')
  50. errorContent = <>{t('autocompile_disabled_reason')}</>
  51. }
  52. return errorTitle ? (
  53. <PreviewLogsPaneEntry
  54. headerTitle={errorTitle}
  55. formattedContent={errorContent}
  56. entryAriaLabel={t('compile_error_entry_description')}
  57. level="error"
  58. />
  59. ) : null
  60. }
  61. PreviewError.propTypes = {
  62. name: PropTypes.string.isRequired
  63. }
  64. export default PreviewError