import { Badge } from '../ui/badge'; import { Button } from '../ui/button'; import { Progress } from '../ui/progress'; import { Application } from '../../lib/mock-data'; import { MapPin, Phone, Mail, Award, Calendar, Building } from 'lucide-react'; interface ApplicationCardProps { application: Application; onViewDetails: (id: string) => void; } export function ApplicationCard({ application, onViewDetails }: ApplicationCardProps) { const getStatusColor = (status: string) => { const statusColors: Record = { 'Submitted': 'bg-slate-500', 'Questionnaire Pending': 'bg-orange-500', 'Questionnaire Completed': 'bg-blue-500', 'Shortlisted': 'bg-cyan-500', 'Level 1 Pending': 'bg-amber-500', 'Level 1 Approved': 'bg-green-500', 'Level 2 Pending': 'bg-purple-500', 'Level 2 Approved': 'bg-green-600', 'Level 2 Recommended': 'bg-teal-500', 'Level 3 Pending': 'bg-indigo-500', 'FDD Verification': 'bg-violet-500', 'Payment Pending': 'bg-yellow-500', 'LOI Issued': 'bg-lime-500', 'Dealer Code Generation': 'bg-fuchsia-500', 'Architecture Team Assigned': 'bg-blue-500', 'Architecture Document Upload': 'bg-blue-500', 'Architecture Team Completion': 'bg-blue-500', 'Statutory GST': 'bg-emerald-500', 'Statutory PAN': 'bg-emerald-500', 'Statutory Nodal': 'bg-emerald-500', 'Statutory Check': 'bg-emerald-500', 'Statutory Partnership': 'bg-emerald-500', 'Statutory Firm Reg': 'bg-emerald-500', 'Statutory Virtual Code': 'bg-emerald-500', 'Statutory Domain': 'bg-emerald-500', 'Statutory MSD': 'bg-emerald-500', 'Statutory LOI Ack': 'bg-emerald-500', 'EOR In Progress': 'bg-sky-500', 'LOA Pending': 'bg-emerald-500', 'Approved': 'bg-green-700', 'Rejected': 'bg-red-500', 'Disqualified': 'bg-red-700' }; return statusColors[status] || 'bg-slate-500'; }; return (

{application.name}

{application.tags?.map((tag) => ( {tag} ))}

{application.registrationNumber}

{application.status}
{application.preferredLocation} {application.rank && application.totalApplicantsAtLocation && ( Rank {application.rank}/{application.totalApplicantsAtLocation} )}
{application.businessAddress}
{application.email}
{application.phone}
{application.questionnaireMarks !== undefined && (
Score: {application.questionnaireMarks}/100
)}
Submitted: {new Date(application.submissionDate).toLocaleDateString()}
{/* Progress Bar */}
Progress {application.progress}%
{/* Deadline Warning */} {application.deadline && application.status === 'Questionnaire Pending' && (

Deadline: {new Date(application.deadline).toLocaleDateString()}

)}
); }