From 7cad768f3d712d74215b68c8da1ba0b2b34a61bf Mon Sep 17 00:00:00 2001 From: G-ELM Date: Fri, 26 Jun 2026 15:14:09 +0100 Subject: [PATCH 1/2] [Dashboard] Display Detailed KYC Rejection Reasons in Panel --- dashboard/src/components/KycStatusView.tsx | 109 ++++++++++++++++++--- 1 file changed, 98 insertions(+), 11 deletions(-) diff --git a/dashboard/src/components/KycStatusView.tsx b/dashboard/src/components/KycStatusView.tsx index 88d5e79c..0463cc2e 100644 --- a/dashboard/src/components/KycStatusView.tsx +++ b/dashboard/src/components/KycStatusView.tsx @@ -1,10 +1,61 @@ import { useState } from 'react'; -import { ShieldCheck, XCircle, AlertTriangle, RefreshCw, Mail, CheckCircle2, Clock } from 'lucide-react'; +import { ShieldCheck, XCircle, AlertTriangle, RefreshCw, Mail, CheckCircle2, Clock, FileWarning, User, MapPin, Camera } from 'lucide-react'; import type { UiConfig } from '../types'; import { RequirementList } from './RequirementList'; export type KycState = 'not_started' | 'pending' | 'approved' | 'rejected'; +type RejectionCategory = 'Document' | 'Identity' | 'Address' | 'Selfie'; + +type KycRejectionReason = { + code: string; + category: RejectionCategory; + field: string; + description: string; + action: string; + severity: 'high' | 'medium'; +}; + +const CATEGORY_ICON: Record = { + Document: