diff --git a/src/app/components/UserDetailModal.tsx b/src/app/components/UserDetailModal.tsx
index 8270c62..f206439 100644
--- a/src/app/components/UserDetailModal.tsx
+++ b/src/app/components/UserDetailModal.tsx
@@ -53,6 +53,21 @@ export default function UserDetailModal({ isOpen, onClose, userId, onUserUpdated
gdpr: { loading: false, html: null as string | null, error: null as string | null, warning: null as string | null },
})
+ const missingIdOrContract = !!userDetails?.userStatus && (
+ userDetails.userStatus.documents_uploaded !== 1 ||
+ userDetails.userStatus.contract_signed !== 1
+ )
+ const storageMissing = !!userDetails?.storageStatus && (
+ userDetails.storageStatus.idDocumentsPresent === false ||
+ userDetails.storageStatus.contractPresent === false
+ )
+ const canVerifyByStatus = !!(userDetails?.userStatus
+ && userDetails.userStatus.email_verified === 1
+ && userDetails.userStatus.profile_completed === 1
+ && userDetails.userStatus.documents_uploaded === 1
+ && userDetails.userStatus.contract_signed === 1)
+ const canVerify = storageMissing ? (canVerifyByStatus && !storageMissing) : canVerifyByStatus
+
useEffect(() => {
if (isOpen && userId && token) {
fetchUserDetails()
@@ -319,6 +334,24 @@ export default function UserDetailModal({ isOpen, onClose, userId, onUserUpdated
- {userDetails.userStatus.email_verified === 1 && userDetails.userStatus.profile_completed === 1 && userDetails.userStatus.documents_uploaded === 1 && userDetails.userStatus.contract_signed === 1 + {canVerify ? 'All steps completed. You can verify this user.' : 'User has not yet completed all required steps.'}
@@ -388,8 +421,8 @@ export default function UserDetailModal({ isOpen, onClose, userId, onUserUpdated