import { Award, Bike, Building2, ClipboardList, CreditCard, GraduationCap, Loader2, Mail, MapPin, Pencil, Phone, User, } from 'lucide-react'; import { Application } from '../../../lib/mock-data'; import { Button } from '../../ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '../../ui/card'; import { Input } from '../../ui/input'; import { Label } from '../../ui/label'; import { Separator } from '../../ui/separator'; interface StatutoryFormState { accountHolderName: string; panNumber: string; gstNumber: string; registeredAddress: string; bankName: string; accountNumber: string; ifscCode: string; } interface ApplicantInformationCardProps { application: Application; canEditStatutory: boolean; isEditingStatutory: boolean; isSavingStatutory: boolean; statutoryForm: StatutoryFormState; onEditFirmType: () => void; onEditStatutory: () => void; onCancelEditStatutory: () => void; onSaveStatutory: () => void; onStatutoryFormChange: (nextState: StatutoryFormState) => void; } export function ApplicantInformationCard({ application, canEditStatutory, isEditingStatutory, isSavingStatutory, statutoryForm, onEditFirmType, onEditStatutory, onCancelEditStatutory, onSaveStatutory, onStatutoryFormChange, }: ApplicantInformationCardProps) { return ( Applicant Information

Full Name

{application.name}

Email

{application.email}

Phone

{application.phone}

Age

{application.age ? `${application.age} years` : 'N/A'}

Education

{application.education || 'N/A'}

Preferred Location

{application.preferredLocation || 'N/A'}

Location Type

{application.locationType || 'N/A'}

Proposed Firm Type

{application.constitutionType || 'Not Provided'}

Owns Bike

{application.ownRoyalEnfield === 'yes' ? 'Yes' : 'No'}

{application.ownRoyalEnfield === 'yes' && (

Bike Model

{application.royalEnfieldModel || 'N/A'}

)}

Existing Dealer

{application.existingDealer === 'yes' ? 'Yes' : 'No'}

{application.existingDealer === 'yes' && (

Company Name

{application.companyName || 'N/A'}

)}

Source

{application.source || 'N/A'}

{application.questionnaireMarks !== undefined && (

Questionnaire Score

{application.questionnaireMarks}/100

)}

Address

{application.address || 'N/A'}

Pincode

{application.pincode || 'N/A'}

Description

{application.description || 'N/A'}

Past Experience

{application.pastExperience || 'N/A'}

Statutory & Bank Information

{canEditStatutory && !isEditingStatutory && ( )}
{isEditingStatutory ? (
onStatutoryFormChange({ ...statutoryForm, accountHolderName: e.target.value })} placeholder="Enter Legal Entity Name" className="bg-white border-slate-200" />
onStatutoryFormChange({ ...statutoryForm, panNumber: e.target.value.toUpperCase() })} placeholder="10-digit PAN" maxLength={10} className="bg-white border-slate-200 uppercase" />
onStatutoryFormChange({ ...statutoryForm, gstNumber: e.target.value.toUpperCase() })} placeholder="15-digit GSTIN" maxLength={15} className="bg-white border-slate-200 uppercase" />
onStatutoryFormChange({ ...statutoryForm, registeredAddress: e.target.value })} placeholder="Enter Registered Office Address" className="bg-white border-slate-200" />
onStatutoryFormChange({ ...statutoryForm, bankName: e.target.value })} placeholder="Enter Bank Name" className="bg-white border-slate-200" />
onStatutoryFormChange({ ...statutoryForm, accountNumber: e.target.value })} placeholder="Enter Account Number" className="bg-white border-slate-200" />
onStatutoryFormChange({ ...statutoryForm, ifscCode: e.target.value.toUpperCase() })} placeholder="11-digit IFSC" maxLength={11} className="bg-white border-slate-200 uppercase" />
) : (

Legal Entity Name

{application.accountHolderName || 'Pending'}

PAN Number

{application.panNumber || 'Pending'}

GST Number

{application.gstNumber || 'Pending'}

Registered Address

{application.registeredAddress || 'Pending'}

Bank Details

{application.bankName || 'N/A'}

A/C: {application.accountNumber || 'N/A'}

IFSC: {application.ifscCode || 'N/A'}

)}
); }