From 3a2fee2f77a12342a02320f193cca18b3cee9e53 Mon Sep 17 00:00:00 2001 From: David <33458145+davidmcpowell@users.noreply.github.com> Date: Wed, 27 Aug 2025 15:04:36 +0100 Subject: [PATCH] Merge pull request #28120 from overleaf/dp-more-error-states Add remaining pdf error states GitOrigin-RevId: 4c0dd3fa105273eda5c9a010051a2cb60c0056c4 --- .../web/frontend/extracted-translations.json | 1 + .../pdf-error-state/pdf-error-state.tsx | 6 ++ .../rendering-error-expected-state.tsx | 35 ++++++++++++ .../pdf-error-state/rendering-error-state.tsx | 55 +++++++++++++++++++ .../stories/pdf-error-state.stories.tsx | 2 + services/web/locales/en.json | 1 + 6 files changed, 100 insertions(+) create mode 100644 services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-expected-state.tsx create mode 100644 services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-state.tsx diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index 7009bed5a6..e62d86eac0 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -1614,6 +1614,7 @@ "something_went_wrong_processing_the_request": "", "something_went_wrong_rendering_pdf": "", "something_went_wrong_rendering_pdf_expected": "", + "something_went_wrong_rendering_pdf_expected_new": "", "something_went_wrong_server": "", "somthing_went_wrong_compiling": "", "sorry_it_looks_like_that_didnt_work_this_time": "", diff --git a/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/pdf-error-state.tsx b/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/pdf-error-state.tsx index a7c0d09e9b..4a31293b13 100644 --- a/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/pdf-error-state.tsx +++ b/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/pdf-error-state.tsx @@ -8,6 +8,8 @@ import { ShortCompileTimeoutErrorState, } from './compile-timeout-error-state' import GeneralErrorState from './general-error-state' +import RenderingErrorExpectedState from './rendering-error-expected-state' +import RenderingErrorState from './rendering-error-state' // AvailableStates // - rendering-error-expected @@ -131,6 +133,10 @@ function PdfErrorState() { } /> ) + case 'rendering-error-expected': + return + case 'rendering-error': + return default: return } diff --git a/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-expected-state.tsx b/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-expected-state.tsx new file mode 100644 index 0000000000..ba610f37d6 --- /dev/null +++ b/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-expected-state.tsx @@ -0,0 +1,35 @@ +import { Trans, useTranslation } from 'react-i18next' +import ErrorState from './error-state' +import OLButton from '@/shared/components/ol/ol-button' +import { useDetachCompileContext as useCompileContext } from '@/shared/context/detach-compile-context' + +export default function RenderingErrorExpectedState() { + const { t } = useTranslation() + + const { startCompile } = useCompileContext() + + return ( + , + ]} + /> + } + actions={[ + // eslint-disable-next-line react/jsx-key + startCompile()}> + {t('recompile')} + , + ]} + /> + ) +} diff --git a/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-state.tsx b/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-state.tsx new file mode 100644 index 0000000000..a43b23d3b7 --- /dev/null +++ b/services/web/frontend/js/features/ide-redesign/components/pdf-preview/pdf-error-state/rendering-error-state.tsx @@ -0,0 +1,55 @@ +import { Trans, useTranslation } from 'react-i18next' +import ErrorState from './error-state' +import getMeta from '@/utils/meta' + +export default function RenderingErrorState() { + const { t } = useTranslation() + + return ( + + {t('something_went_wrong_rendering_pdf')} +   + , + ]} + /> + {getMeta('ol-compilesUserContentDomain') && ( + <> +
+
+ , + /* eslint-disable-next-line jsx-a11y/anchor-has-content */ + , + ]} + /> + + )} + + } + /> + ) +} diff --git a/services/web/frontend/stories/pdf-error-state.stories.tsx b/services/web/frontend/stories/pdf-error-state.stories.tsx index e6a77cc61d..ecd16e915b 100644 --- a/services/web/frontend/stories/pdf-error-state.stories.tsx +++ b/services/web/frontend/stories/pdf-error-state.stories.tsx @@ -24,6 +24,8 @@ const compileErrors = [ 'pdf-viewer-loading-error', 'project-too-large', 'rate-limited', + 'rendering-error-expected', + 'rendering-error', 'success', 'terminated', 'timedout', diff --git a/services/web/locales/en.json b/services/web/locales/en.json index 9d70051c92..57cad2fe18 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -2096,6 +2096,7 @@ "something_went_wrong_processing_the_request": "Something went wrong processing the request", "something_went_wrong_rendering_pdf": "Something went wrong while rendering this PDF.", "something_went_wrong_rendering_pdf_expected": "There was an issue displaying this PDF. <0>Please recompile", + "something_went_wrong_rendering_pdf_expected_new": "There was an issue displaying this PDF. Please recompile. If that doesn’t help, follow our <0>troubleshooting guide.", "something_went_wrong_server": "Something went wrong. Please try again.", "somthing_went_wrong_compiling": "Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.", "sorry_detected_sales_restricted_region": "Sorry, we’ve detected that you are in a region from which we cannot presently accept payments. If you think you’ve received this message in error, please contact us with details of your location, and we will look into this for you. We apologize for the inconvenience.",