diff --git a/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx b/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx index 073a4e81ca..796c191268 100644 --- a/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx +++ b/src/frontend/src/components/editors/TemplateEditor/PdfPreview/PdfPreview.tsx @@ -3,6 +3,7 @@ import { forwardRef, useImperativeHandle, useState } from 'react'; import { ApiEndpoints } from '@lib/enums/ApiEndpoints'; import { apiUrl } from '@lib/functions/Api'; +import { t } from '@lingui/core/macro'; import { api } from '../../../../App'; import type { PreviewAreaComponent } from '../TemplateEditor'; @@ -45,14 +46,21 @@ export const PdfPreviewComponent: PreviewAreaComponent = forwardRef( ); if (preview.status !== 200 && preview.status !== 201) { - if (preview.data?.non_field_errors) { - throw new Error(preview.data?.non_field_errors.join(', ')); + let message: string = + preview.data?.toString() ?? t`Error rendering preview`; + + for (const field of ['non_field_errors', 'detail', 'error']) { + if (preview.data?.[field]) { + message = preview.data[field].join(', '); + break; + } } - throw new Error(preview.data); + throw new Error(message); } let outputUrl = preview?.data?.output; + if (preview.data && !preview.data.complete) { outputUrl = await new Promise((res, rej) => { let cnt = 0;