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 Admin Controls + + {missingIdOrContract && ( +
+ ID documents or a signed contract are missing for this user. The user’s verification status should be checked. +
+ )} + + {storageMissing && ( +
+ ID documents or a signed contract are missing from object storage. The user’s verification status should be checked. +
+ )} + + {missingIdOrContract && ( +
+ ID documents or a signed contract are missing for this user. The user’s verification status should be checked. +
+ )}
{/* Status Dropdown */} @@ -380,7 +413,7 @@ export default function UserDetailModal({ isOpen, onClose, userId, onUserUpdated {userDetails?.userStatus && (

- {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