import { AlertCircle, Building2, Download, Eye, FileText, Info, Loader2, ShieldAlert, ShieldCheck, Upload } from 'lucide-react'; import { toast } from 'sonner'; import { onboardingService } from '@/services/onboarding.service'; import { cn, formatDateTime } from '@/components/ui/utils'; import { DocumentPreviewModal } from '@/components/ui/DocumentPreviewModal'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from '@/components/ui/dialog'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { Separator } from '@/components/ui/separator'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '@/components/ui/table'; import { Textarea } from '@/components/ui/textarea'; interface ApplicationDetailsExtendedModalsProps { [key: string]: any; } export function ApplicationDetailsExtendedModals(props: ApplicationDetailsExtendedModalsProps) { const { application, ktCriteria, l2Fields, l3Fields, showKTMatrixModal, setShowKTMatrixModal, ktMatrixSelectedValues, handleKTMatrixChange, ktMatrixRemarks, setKtMatrixRemarks, ktMatrixRecommendation, setKtMatrixRecommendation, calculateKTScore, handleSubmitKTMatrix, isSubmittingKT, showLevel2FeedbackModal, setShowLevel2FeedbackModal, level2Feedback, handleLevel2Change, level2Recommendation, setLevel2Recommendation, handleSubmitLevel2Feedback, isSubmittingLevel2, showFeedbackDetailsModal, setShowFeedbackDetailsModal, selectedEvaluationForView, selectedInterviewForFeedback, showLevel3FeedbackModal, setShowLevel3FeedbackModal, level3Feedback, handleLevel3Change, level3Recommendation, setLevel3Recommendation, handleSubmitLevel3Feedback, isSubmittingLevel3, showDocumentsModal, setShowDocumentsModal, showUploadForm, setShowUploadForm, selectedStage, getDocumentsForStage, setPreviewDoc, setShowPreviewModal, uploadDocType, setUploadDocType, setUploadFile, isUploading, handleUpload, uploadFile, showPreviewModal, previewDoc, showFddFinalizeModal, setShowFddFinalizeModal, currentUser, fddAuditRecommendation, setFddAuditRecommendation, fddAuditFindings, setFddAuditFindings, isFinalizingFdd, setIsFinalizingFdd, fetchApplication, showFddFlagModal, setShowFddFlagModal, isFddFlagging, setIsFddFlagging, showFirmTypeModal, setShowFirmTypeModal, tempFirmType, setTempFirmType, updatingFirmType, handleUpdateFirmType, } = props; const selectedInterviewDate = selectedInterviewForFeedback?.scheduleDate ? new Date(selectedInterviewForFeedback.scheduleDate).toISOString().split('T')[0] : ''; const interviewerDisplayName = currentUser?.fullName || currentUser?.name || ''; return ( <> KT matrix Level 1 interview · {application.name} {Object.keys(ktMatrixSelectedValues).length} of {ktCriteria.length} criteria answered
{ktCriteria.length === 0 && (
KT Matrix configuration is not available. Configure it in Master > Interview Configurations.
)} {ktCriteria.map((criterion: any, idx: number) => (
))}