+
+
+
+ {/* Active processing state - shown during scanning, liveness, and analysis stages */}
+ {currentStatus !== "completed" && currentStatus !== "failed" ? (
+
+ {/* Header */}
+
+
+
+ Security Protocol
+
+
+ Identity Verification
+
+
+
+ {currentStatus.toUpperCase()}
+
+
+
+ {/* Stages and progress bar */}
+
+
+
+ {STAGES.map((stage, idx) => {
+ const Icon = stage.icon;
+ const isActive = idx === currentStepIndex;
+ const isPassed = idx < currentStepIndex;
+
+ return (
+
+
+
+
+
+ {stage.label}
+
+
+ );
+ })}
+
+
+
+ {/* scanner animation container */}
+
+
+
+
+
+
+ {currentStatus === "scanning" && "SCANNING_DOCUMENT..."}
+ {currentStatus === "liveness" &&
+ "MATCHING_BIOMETRICS..."}
+ {currentStatus === "analyzing" &&
+ "COMPUTING_HASH_VERIFICATION..."}
+
+
+
+
+
+ ) : currentStatus === "completed" ? (
+ /* Success state - Displays the pulsating green shield and verified status */
+
+
+ {/* green glow pulse */}
+
+
+
+
+
+
+
+
+
+ Verified
+
+
+ Identity successfully verified.
+
+
+
+ {/* Final state status badge with pulse verification */}
+
+
+ KYC_VERIFIED
+
+
+
+ ) : (
+ /* Failure state */
+
+
+
+
+ Verification Failed
+
+
+ Security mismatch detected during biometrics.
+
+
+
+
+ )}
+
+
+
+
+ {/* Temporary manual testing for debugging controls */}
+
+
+
+
+
+ );
+}
\ No newline at end of file