diff --git a/src/app/admin/kyc/page.tsx b/src/app/admin/kyc/page.tsx index 686800b..9e559fa 100644 --- a/src/app/admin/kyc/page.tsx +++ b/src/app/admin/kyc/page.tsx @@ -592,57 +592,149 @@ export default function RequestsPage() { -
+ {/* Desktop Table View */} +
+ + + + + + + + + + + + {filteredRequests.map(request => { + const TypeIcon = typeIcons[request.type]; + return ( + + + + + + + + ); + })} + {filteredRequests.length === 0 && ( + + + + )} + +
ApplicantContact & LocationApplication DetailsStatusActions
+
+
+ +
+
+

{request.name}

+
+ + {request.type} + + + {sourceLabels[request.applicationSource]} + +
+
+
+
+
+

{request.phone}

+

{request.location}

+
+
+
+

{request.submittedAt}

+

Docs: {request.requiredDocuments.filter(d => d.status === 'uploaded' || d.status === 'approved').length}/{request.requiredDocuments.length}

+ {request.type === 'biker' && request.verificationStage && ( + + {stageLabels[request.verificationStage]} + + )} + {request.smsHistory.length > 0 && ( +

+ {request.smsHistory.length} msg +

+ )} +
+
+ + {request.status === 'pending' && } + {request.status === 'documents_needed' && } + {request.status === 'under_review' && } + {request.status === 'approved' && } + {request.status === 'rejected' && } + {statusLabels[request.status]} + + +
+ {request.status !== 'approved' && request.status !== 'rejected' && ( + <> + {request.type === 'biker' && request.status === 'under_review' && ( + + )} + {request.type === 'investor' && request.status === 'under_review' && ( + + )} + {request.type === 'swapstation' && request.status === 'under_review' && ( + + )} + + )} + + Details + +
+
+ +

No requests found

+
+
+ + {/* Mobile/Tablet Card View */} +
{filteredRequests.map(request => { const TypeIcon = typeIcons[request.type]; return ( - -
-
-
- -
-
-
-

{request.name}

- - {request.type} - - - {sourceLabels[request.applicationSource]} - +
+
+
+
+
+
-

- {request.phone} - | - {request.location} -

-
-
- -
-
-

- {request.submittedAt} -

-

- Docs: {request.requiredDocuments.filter(d => d.status === 'uploaded' || d.status === 'approved').length}/{request.requiredDocuments.length} -

- {request.type === 'biker' && request.verificationStage && ( - - {stageLabels[request.verificationStage]} - - )} - {request.smsHistory.length > 0 && ( -

- {request.smsHistory.length} msg +

+

{request.name}

+

+ {request.phone}

- )} +
- -
- + +
+ {request.status === 'pending' && } {request.status === 'documents_needed' && } {request.status === 'under_review' && } @@ -650,51 +742,78 @@ export default function RequestsPage() { {request.status === 'rejected' && } {statusLabels[request.status]} - - {request.status !== 'approved' && request.status !== 'rejected' && ( -
- {request.type === 'biker' && request.status === 'under_review' && ( - - )} - {request.type === 'investor' && request.status === 'under_review' && ( - - )} - {request.type === 'swapstation' && request.status === 'under_review' && ( - - )} - -
+ + {request.type} + + {request.type === 'biker' && request.verificationStage && ( + + {stageLabels[request.verificationStage]} + )}
- + +
+
+ {request.location} + {request.submittedAt} +
+
+ + Docs: {request.requiredDocuments.filter(d => d.status === 'uploaded' || d.status === 'approved').length}/{request.requiredDocuments.length} + + {request.smsHistory.length > 0 && ( + + {request.smsHistory.length} msgs + + )} +
+
+ +
+ {request.status !== 'approved' && request.status !== 'rejected' && ( + <> + {request.type === 'biker' && request.status === 'under_review' && ( + + )} + {request.type === 'investor' && request.status === 'under_review' && ( + + )} + {request.type === 'swapstation' && request.status === 'under_review' && ( + + )} + + )} + + Details + +
+
); })} {filteredRequests.length === 0 && ( -
- -

No requests found

+
+ +

No requests found

)}