diff --git a/packages/camera/src/components/UploadCenter/UploadCard/hooks/useVariant.js b/packages/camera/src/components/UploadCenter/UploadCard/hooks/useVariant.js
index 80f775df3..379607862 100644
--- a/packages/camera/src/components/UploadCenter/UploadCard/hooks/useVariant.js
+++ b/packages/camera/src/components/UploadCenter/UploadCard/hooks/useVariant.js
@@ -15,7 +15,7 @@ export default function useThumbnail({
label: t('uploadCenter.variant.retake.label'),
icon: 'camera-retake',
callback: handleRetake,
- sublable: t('uploadCenter.variant.retake.sublabel'),
+ sublabel: t('uploadCenter.variant.retake.sublabel'),
color: colors.error,
};
}
@@ -32,7 +32,7 @@ export default function useThumbnail({
label: t('uploadCenter.variant.recheck.label'),
icon: 'alert-circle',
callback: handleRecheck,
- sublable: t('uploadCenter.variant.recheck.sublabel'),
+ sublabel: t('uploadCenter.variant.recheck.sublabel'),
color: colors.disabled,
};
}
@@ -41,7 +41,7 @@ export default function useThumbnail({
label: t('uploadCenter.variant.retake.label'),
icon: 'camera-retake',
callback: handleRetake,
- sublable: t('uploadCenter.variant.retake.sublabel'),
+ sublabel: t('uploadCenter.variant.retake.sublabel'),
color: colors.accent,
};
}, [isPending, isComplianceFailed, isComplianceIdle, isUploadFailed,
diff --git a/packages/camera/src/components/UploadCenter/UploadCard/index.js b/packages/camera/src/components/UploadCenter/UploadCard/index.js
index 79e85c40d..82859de29 100644
--- a/packages/camera/src/components/UploadCenter/UploadCard/index.js
+++ b/packages/camera/src/components/UploadCenter/UploadCard/index.js
@@ -95,7 +95,7 @@ function UploadCard({
{variant?.callback
? (
- {`, ${variant.sublable}`}
+ {`, ${variant.sublabel}`}
)
: null}
diff --git a/packages/camera/src/components/UploadCenter/index.js b/packages/camera/src/components/UploadCenter/index.js
index 673d8602c..5b1babc16 100644
--- a/packages/camera/src/components/UploadCenter/index.js
+++ b/packages/camera/src/components/UploadCenter/index.js
@@ -115,6 +115,14 @@ export default function UploadCenter({
onComplianceCheckStart();
}, [onComplianceCheckStart]);
+ const displayRetakeAll = useMemo(
+ () => Object.values(uploads.state).some((u) => !!u.error) || Object.values(compliance.state)
+ .some((c) => ['rejected', 'unsatisfied'].includes(c.status)
+ || c?.result?.data?.compliances?.image_quality_assessment?.is_compliant === false
+ || c?.result?.data?.compliances?.zoom_level?.is_compliant === false),
+ [compliance, uploads],
+ );
+
const statEventsData = useMemo(() => ({
retakesNeeded: ids.length,
compliances: Object.entries(compliance.state)
@@ -210,16 +218,18 @@ export default function UploadCenter({
{/* actions */}
-
+ {displayRetakeAll ? (
+
+ ) : null}