([]);
@@ -196,10 +199,12 @@ export const EntityEditPreview = ({ submissionId, entityType, entityName }: Enti
setChangedFields(changed);
}
} catch (error: unknown) {
+ const errorMsg = getErrorMessage(error);
handleError(error, {
action: 'Load Submission Preview',
metadata: { submissionId, entityType }
});
+ setError(errorMsg);
} finally {
setLoading(false);
}
@@ -213,6 +218,17 @@ export const EntityEditPreview = ({ submissionId, entityType, entityName }: Enti
);
}
+ if (error) {
+ return (
+
+
+
+ {error}
+
+
+ );
+ }
+
if (!itemData) {
return (
diff --git a/src/components/moderation/SubmissionReviewManager.tsx b/src/components/moderation/SubmissionReviewManager.tsx
index cf49b316..c9a2196d 100644
--- a/src/components/moderation/SubmissionReviewManager.tsx
+++ b/src/components/moderation/SubmissionReviewManager.tsx
@@ -40,6 +40,7 @@ import { ConflictResolutionModal } from './ConflictResolutionModal';
import { EditHistoryAccordion } from './EditHistoryAccordion';
import { validateMultipleItems, ValidationResult } from '@/lib/entityValidationSchemas';
import { logger } from '@/lib/logger';
+import { ModerationErrorBoundary } from '@/components/error';
interface SubmissionReviewManagerProps {
submissionId: string;
@@ -588,27 +589,29 @@ export function SubmissionReviewManager({
return (
<>
- {isMobile ? (
-
-
- Review Submission
-
- {pendingCount} pending item(s) • {selectedCount} selected
-
-
-
-
- ) : (
-
-
- Review Submission
-
- {pendingCount} pending item(s) • {selectedCount} selected
-
-
-
-
- )}
+
+ {isMobile ? (
+
+
+ Review Submission
+
+ {pendingCount} pending item(s) • {selectedCount} selected
+
+
+
+
+ ) : (
+
+
+ Review Submission
+
+ {pendingCount} pending item(s) • {selectedCount} selected
+
+
+
+
+ )}
+