From fc3f6924b480a53796ae047f1d7b3e3651b5ff63 Mon Sep 17 00:00:00 2001 From: sazzadulalambd Date: Tue, 5 May 2026 02:19:38 +0600 Subject: [PATCH] feat: add hub filtering capability to KYC request list and update detail view with hub labels --- src/app/admin/kyc/[id]/page.tsx | 9 +++++++++ src/app/admin/kyc/page.tsx | 16 +++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/app/admin/kyc/[id]/page.tsx b/src/app/admin/kyc/[id]/page.tsx index 28434eb..86bc7af 100644 --- a/src/app/admin/kyc/[id]/page.tsx +++ b/src/app/admin/kyc/[id]/page.tsx @@ -1,6 +1,7 @@ 'use client'; import { useState, useEffect } from 'react'; +import Link from 'next/link'; import { useParams, useRouter } from 'next/navigation'; import { Shield, Check, Clock, Bike, User, Phone, @@ -130,6 +131,14 @@ const sourceLabels: Record = { referral: 'Referral', }; +const hubLabels: Record = { + hub1: 'Gulshan Hub', + hub2: 'Banani Hub', + hub3: 'Dhanmondi Hub', + hub4: 'Mirpur Hub', + hub5: 'Uttara Hub', +}; + const planLabels: Record = { daily_rent: 'Daily Rent', weekly_rent: 'Weekly Rent', diff --git a/src/app/admin/kyc/page.tsx b/src/app/admin/kyc/page.tsx index 42ad76b..e2d64ae 100644 --- a/src/app/admin/kyc/page.tsx +++ b/src/app/admin/kyc/page.tsx @@ -327,6 +327,7 @@ export default function RequestsPage() { const [requests, setRequests] = useState(mockRequests); const [searchQuery, setSearchQuery] = useState(''); const [statusFilter, setStatusFilter] = useState('all'); + const [hubFilter, setHubFilter] = useState('all'); const [selectedRequest, setSelectedRequest] = useState(null); const [showMessageModal, setShowMessageModal] = useState(false); const [showDetailsModal, setShowDetailsModal] = useState(false); @@ -382,7 +383,8 @@ export default function RequestsPage() { req.email.toLowerCase().includes(searchQuery.toLowerCase()) || req.id.toLowerCase().includes(searchQuery.toLowerCase()); const matchesStatus = statusFilter === 'all' || req.status === statusFilter; - return matchesTab && matchesSearch && matchesStatus; + const matchesHub = hubFilter === 'all' || req.sourceDetails?.toLowerCase().includes(hubFilter.toLowerCase()); + return matchesTab && matchesSearch && matchesStatus && matchesHub; }); const pending = requests.filter(r => r.status === 'pending' || r.status === 'documents_needed').length; @@ -572,6 +574,18 @@ export default function RequestsPage() { +