export type UserRole = | 'admin' | 'director' | 'jd' | 'cc_incharge' | 'cc_officer' | 'foi' | 'fo' | 'auditor' | 'hatchery_operator' | 'farmer' | 'raw_material_supplier' | 'processor_exporter' | 'applicant'; export interface User { id: string; name: string; email: string; role: UserRole; avatar?: string; region?: string; phone?: string; } export interface HatcheryApplication { id: string; applicationNo: string; hatcheryName: string; ownerName: string; applicantId: string; email: string; phone: string; state: string; district: string; address: string; species: string; capacity: string; status: ApplicationStatus; currentStage: WorkflowStage; submittedDate: string; assignedFOI?: string; assignedFO?: string; assignedCCOfficer?: string; assignedAuditor?: string; paymentStatus: 'pending' | 'completed'; paymentAmount: number; audits: Audit[]; certificates?: Certificate[]; } export interface FarmApplication { id: string; applicationNo: string; farmName: string; farmerName: string; enrollmentId: string; email: string; phone: string; state: string; district: string; address: string; waterArea: string; species: string; status: ApplicationStatus; currentStage: WorkflowStage; submittedDate: string; assignedFOI?: string; assignedFO?: string; assignedCCOfficer?: string; assignedAuditor?: string; paymentStatus: 'pending' | 'completed'; paymentAmount: number; audits: Audit[]; certificates?: Certificate[]; cropDetails?: CropDetail[]; } export type ApplicationStatus = | 'submitted' | 'under_review' | 'field_verification' | 'audit_assigned' | 'audit_in_progress' | 'nc_raised' | 'nc_resolved' | 'pending_approval' | 'approved' | 'certified' | 'suspended' | 'cancelled' | 'rejected'; export type WorkflowStage = | 'submission' | 'foi_review' | 'fo_verification' | 'cc_preliminary' | 'preliminary_audit' | 'gap' | 'committee_audit' | 'certification_audit' | 'surveillance_1' | 'surveillance_2' | 'surveillance_3' | 'surveillance_4' | 'final_review' | 'cc_review' | 'cc_recommended' | 'jd_approval' | 'jd_recommended' | 'director_approval' | 'certification'; export interface Audit { id: string; type: 'preliminary' | 'committee' | 'gap' | 'certification' | 'surveillance'; surveillanceNumber?: number; auditorId: string; auditorName: string; scheduledDate: string; conductedDate?: string; status: 'assigned' | 'accepted' | 'rejected' | 'in_progress' | 'completed' | 'nc_raised'; score?: number; remarks?: string; nonCompliances?: NonCompliance[]; sampleCode?: string; labResults?: LabResult[]; } export interface NonCompliance { id: string; description: string; severity: 'minor' | 'major' | 'critical'; raisedDate: string; status: 'open' | 'resolved' | 'rejected'; resolvedDate?: string; evidence?: string; auditorRemarks?: string; } export interface LabResult { id: string; sampleCode: string; testType: string; result: 'pass' | 'fail' | 'pending'; parameters: { name: string; value: string; standard: string; status: 'pass' | 'fail' }[]; testDate: string; labName: string; } export interface Certificate { id: string; certificateNo: string; type: 'hatchery' | 'farm'; entityName: string; issueDate: string; validUntil: string; status: 'active' | 'suspended' | 'cancelled' | 'expired'; score: number; } export interface CropDetail { id: string; season: string; species: string; stockingDate: string; harvestDate?: string; quantity: string; yieldPerHectare?: string; submittedDate: string; verifiedBy?: string; status: 'pending' | 'verified'; } export interface TAClaim { id: string; auditorId: string; auditorName: string; auditId: string; applicationNo: string; travelDate: string; fromLocation: string; toLocation: string; travelMode: 'train' | 'bus' | 'flight' | 'car'; distance: number; fareAmount: number; daAmount: number; totalAmount: number; status: 'submitted' | 'approved' | 'rejected' | 'paid'; submittedDate: string; processedDate?: string; remarks?: string; } export interface RawMaterialEntry { id: string; supplierId: string; supplierName: string; certifiedFarmId: string; certifiedFarmName: string; certificateNo: string; species: string; quantity: string; purchaseDate: string; batchNo: string; verificationStatus: 'pending' | 'verified'; } export interface ProcessorEntry { id: string; processorId: string; processorName: string; registrationNo: string; rawMaterialId: string; certifiedFarmName: string; certificateNo: string; species: string; quantity: string; processedDate: string; productType: string; batchNo: string; chainOfCustody: string; } export interface DashboardStats { totalApplications: number; pendingApplications: number; approvedApplications: number; certifiedEntities: number; activeAudits: number; pendingNCs: number; pendingTAClaims: number; revenueCollected: number; } // Dummy Users export const users: User[] = [ { id: 'U001', name: 'Admin User', email: 'admin@mpeda.gov.in', role: 'admin', phone: '9876543210' }, { id: 'U002', name: 'Dr. Rajesh Kumar', email: 'director@mpeda.gov.in', role: 'director', phone: '9876543211' }, { id: 'U003', name: 'Dr. Anita Sharma', email: 'jd@mpeda.gov.in', role: 'jd', phone: '9876543212' }, { id: 'U004', name: 'Suresh Menon', email: 'cc.incharge@mpeda.gov.in', role: 'cc_incharge', phone: '9876543213' }, { id: 'U005', name: 'Priya Nair', email: 'cc.officer@mpeda.gov.in', role: 'cc_officer', phone: '9876543214' }, { id: 'U006', name: 'Thomas Mathew', email: 'foi.kochi@mpeda.gov.in', role: 'foi', region: 'Kochi', phone: '9876543215' }, { id: 'U007', name: 'Lakshmi Devi', email: 'foi.chennai@mpeda.gov.in', role: 'foi', region: 'Chennai', phone: '9876543216' }, { id: 'U008', name: 'Ramesh Babu', email: 'fo.ernakulam@mpeda.gov.in', role: 'fo', region: 'Ernakulam', phone: '9876543217' }, { id: 'U009', name: 'Kavitha Reddy', email: 'fo.visakha@mpeda.gov.in', role: 'fo', region: 'Visakhapatnam', phone: '9876543218' }, { id: 'U010', name: 'Dr. Mohan Das', email: 'auditor1@mpeda.gov.in', role: 'auditor', phone: '9876543219' }, { id: 'U011', name: 'Dr. Sunita Rao', email: 'auditor2@mpeda.gov.in', role: 'auditor', phone: '9876543220' }, { id: 'U012', name: 'Dr. Arun Kumar', email: 'auditor3@mpeda.gov.in', role: 'auditor', phone: '9876543221' }, { id: 'U013', name: 'Krishna Moorthy', email: 'krishna@hatchery.com', role: 'hatchery_operator', phone: '9876543222' }, { id: 'U014', name: 'Vijay Farms', email: 'vijay@farms.com', role: 'farmer', phone: '9876543223' }, { id: 'U015', name: 'Rajan Pillai', email: 'rajan@coastalaqua.com', role: 'hatchery_operator', phone: '9876543230' }, { id: 'U016', name: 'Suresh Kumar', email: 'suresh@greensea.com', role: 'hatchery_operator', phone: '9876543231' }, ]; // Dummy Hatchery Applications export const hatcheryApplications: HatcheryApplication[] = [ { id: 'H001', applicationNo: 'SHAP/H/2025/001', hatcheryName: 'Blue Ocean Hatchery', ownerName: 'Krishna Moorthy', applicantId: 'U013', email: 'krishna@hatchery.com', phone: '9876543222', state: 'Kerala', district: 'Ernakulam', address: '123, Coastal Road, Vypeen', species: 'Litopenaeus vannamei', capacity: '50 Million PL/year', status: 'audit_in_progress', currentStage: 'committee_audit', submittedDate: '2025-01-15', assignedFOI: 'U006', assignedFO: 'U008', assignedCCOfficer: 'U005', assignedAuditor: 'U010', paymentStatus: 'completed', paymentAmount: 25000, audits: [ { id: 'A001', type: 'preliminary', auditorId: 'U010', auditorName: 'Dr. Mohan Das', scheduledDate: '2025-02-10', conductedDate: '2025-02-10', status: 'completed', score: 85, remarks: 'Satisfactory preliminary audit. Ready for committee audit.', sampleCode: 'SAMP/H/2025/001', labResults: [ { id: 'LR001', sampleCode: 'SAMP/H/2025/001', testType: 'Disease Screening', result: 'pass', parameters: [ { name: 'WSSV', value: 'Negative', standard: 'Negative', status: 'pass' }, { name: 'EHP', value: 'Negative', standard: 'Negative', status: 'pass' }, ], testDate: '2025-02-15', labName: 'MPEDA QC Lab, Kochi', }, ], }, { id: 'A002', type: 'committee', auditorId: 'U010', auditorName: 'Dr. Mohan Das', scheduledDate: '2025-03-15', status: 'in_progress', remarks: 'Committee audit scheduled', }, ], }, { id: 'H002', applicationNo: 'SHAP/H/2025/002', hatcheryName: 'Coastal Aqua Hatchery', ownerName: 'Rajan Pillai', applicantId: 'U015', email: 'rajan@coastalaqua.com', phone: '9876543230', state: 'Tamil Nadu', district: 'Nagapattinam', address: '45, Marina Beach Road', species: 'Penaeus monodon', capacity: '30 Million PL/year', status: 'nc_raised', currentStage: 'preliminary_audit', submittedDate: '2025-02-01', assignedFOI: 'U007', assignedFO: 'U009', assignedCCOfficer: 'U005', assignedAuditor: 'U011', paymentStatus: 'completed', paymentAmount: 25000, audits: [ { id: 'A003', type: 'preliminary', auditorId: 'U011', auditorName: 'Dr. Sunita Rao', scheduledDate: '2025-03-01', conductedDate: '2025-03-01', status: 'nc_raised', score: 65, remarks: 'Non-compliances identified during audit.', nonCompliances: [ { id: 'NC001', description: 'Biosecurity measures not up to standard', severity: 'major', raisedDate: '2025-03-01', status: 'open', }, { id: 'NC002', description: 'Water quality records incomplete', severity: 'minor', raisedDate: '2025-03-01', status: 'open', }, ], }, ], }, { id: 'H003', applicationNo: 'SHAP/H/2025/003', hatcheryName: 'Green Sea Hatchery', ownerName: 'Suresh Kumar', applicantId: 'U016', email: 'suresh@greensea.com', phone: '9876543231', state: 'Andhra Pradesh', district: 'East Godavari', address: '78, Kakinada Port Area', species: 'Litopenaeus vannamei', capacity: '100 Million PL/year', status: 'certified', currentStage: 'certification', submittedDate: '2024-10-15', assignedFOI: 'U007', assignedFO: 'U009', assignedCCOfficer: 'U005', assignedAuditor: 'U012', paymentStatus: 'completed', paymentAmount: 35000, audits: [ { id: 'A004', type: 'preliminary', auditorId: 'U012', auditorName: 'Dr. Arun Kumar', scheduledDate: '2024-11-01', conductedDate: '2024-11-01', status: 'completed', score: 92, }, { id: 'A005', type: 'committee', auditorId: 'U012', auditorName: 'Dr. Arun Kumar', scheduledDate: '2024-12-01', conductedDate: '2024-12-01', status: 'completed', score: 95, }, // Surveillance audits for global schedule { id: 'A011', type: 'surveillance', surveillanceNumber: 1, auditorId: 'U012', auditorName: 'Dr. Arun Kumar', scheduledDate: '2025-05-10', status: 'in_progress', }, { id: 'A012', type: 'surveillance', surveillanceNumber: 2, auditorId: 'U012', auditorName: 'Dr. Arun Kumar', scheduledDate: '2025-11-10', status: 'assigned', }, ], certificates: [ { id: 'C001', certificateNo: 'SHAP/CERT/H/2024/001', type: 'hatchery', entityName: 'Green Sea Hatchery', issueDate: '2024-12-15', validUntil: '2026-12-14', status: 'active', score: 95, }, ], }, { id: 'H004', applicationNo: 'SHAP/H/2025/004', hatcheryName: 'Seabreeze Hatchery', ownerName: 'Krishna Moorthy', applicantId: 'U013', email: 'krishna@hatchery.com', phone: '9876543222', state: 'Kerala', district: 'Thrissur', address: '45, Beach Road, Thrissur', species: 'Litopenaeus vannamei', capacity: '40 Million PL/year', status: 'submitted', currentStage: 'submission', submittedDate: '2025-03-10', paymentStatus: 'pending', paymentAmount: 25000, audits: [], }, { id: 'H005', applicationNo: 'SHAP/H/2025/005', hatcheryName: 'Bayview Hatchery', ownerName: 'Rajan Pillai', applicantId: 'U015', email: 'rajan@coastalaqua.com', phone: '9876543230', state: 'Tamil Nadu', district: 'Cuddalore', address: '12, Harbor Road, Cuddalore', species: 'Penaeus monodon', capacity: '25 Million PL/year', status: 'under_review', currentStage: 'foi_review', submittedDate: '2025-03-05', assignedFOI: 'U007', paymentStatus: 'completed', paymentAmount: 25000, audits: [], }, { id: 'H006', applicationNo: 'SHAP/H/2025/006', hatcheryName: 'Coral Reef Hatchery', ownerName: 'Suresh Kumar', applicantId: 'U016', email: 'suresh@greensea.com', phone: '9876543231', state: 'Andhra Pradesh', district: 'Visakhapatnam', address: '89, Coastal Highway, Visakhapatnam', species: 'Litopenaeus vannamei', capacity: '60 Million PL/year', status: 'field_verification', currentStage: 'fo_verification', submittedDate: '2025-02-25', assignedFOI: 'U007', assignedFO: 'U009', paymentStatus: 'completed', paymentAmount: 28000, audits: [ { id: 'A006', type: 'gap', auditorId: 'U010', auditorName: 'Dr. Mohan Das', scheduledDate: '2025-03-10', status: 'assigned', }, ], }, // Pipeline demo hatchery at CC review { id: 'H007', applicationNo: 'SHAP/H/2025/007', hatcheryName: 'Pipeline Demo Hatchery', ownerName: 'Krishna Moorthy', applicantId: 'U013', email: 'krishna@hatchery.com', phone: '9876543222', state: 'Kerala', district: 'Ernakulam', address: 'Certification Pipeline Road', species: 'Litopenaeus vannamei', capacity: '20 Million PL/year', status: 'pending_approval', currentStage: 'cc_review', submittedDate: '2025-03-20', assignedFOI: 'U006', assignedFO: 'U008', assignedCCOfficer: 'U005', assignedAuditor: 'U010', paymentStatus: 'completed', paymentAmount: 25000, audits: [], }, { id: 'H008', applicationNo: 'SHAP/H/2025/008', hatcheryName: 'Rejected Demo Hatchery', ownerName: 'Demo CC Rejected', applicantId: 'U013', email: 'demo.cc.rejected@hatchery.com', phone: '9876543229', state: 'Kerala', district: 'Ernakulam', address: 'CC Rejected Demo Road', species: 'Litopenaeus vannamei', capacity: '15 Million PL/year', status: 'rejected', currentStage: 'cc_review', submittedDate: '2025-03-22', assignedFOI: 'U006', assignedFO: 'U008', assignedCCOfficer: 'U005', assignedAuditor: 'U010', paymentStatus: 'completed', paymentAmount: 25000, audits: [], }, ]; // Dummy Farm Applications export const farmApplications: FarmApplication[] = [ { id: 'F001', applicationNo: 'SHAP/F/2025/001', farmName: 'Vijay Aqua Farm', farmerName: 'Vijay Prasad', enrollmentId: 'ENR/F/KL/2024/1234', email: 'vijay@farms.com', phone: '9876543223', state: 'Kerala', district: 'Alappuzha', address: 'Kuttanad, Alappuzha', waterArea: '5 Hectares', species: 'Litopenaeus vannamei', status: 'field_verification', currentStage: 'fo_verification', submittedDate: '2025-02-20', assignedFOI: 'U006', assignedFO: 'U008', paymentStatus: 'completed', paymentAmount: 15000, audits: [], certificates: [ { id: 'C003', certificateNo: 'SHAP/CERT/F/2025/002', type: 'farm', entityName: 'Vijay Aqua Farm', issueDate: '2025-02-01', validUntil: '2027-01-31', status: 'active', score: 88, }, ], }, { id: 'F002', applicationNo: 'SHAP/F/2025/002', farmName: 'Lakshmi Shrimp Farm', farmerName: 'Lakshmi Narayanan', enrollmentId: 'ENR/F/AP/2024/5678', email: 'lakshmi@shrimpfarm.com', phone: '9876543240', state: 'Andhra Pradesh', district: 'Krishna', address: 'Machilipatnam', waterArea: '10 Hectares', species: 'Litopenaeus vannamei', status: 'certified', currentStage: 'certification', submittedDate: '2024-09-01', assignedFOI: 'U007', assignedFO: 'U009', assignedCCOfficer: 'U005', assignedAuditor: 'U011', paymentStatus: 'completed', paymentAmount: 20000, audits: [ { id: 'A006', type: 'gap', auditorId: 'U011', auditorName: 'Dr. Sunita Rao', scheduledDate: '2024-09-20', conductedDate: '2024-09-20', status: 'completed', score: 88, }, { id: 'A007', type: 'certification', auditorId: 'U011', auditorName: 'Dr. Sunita Rao', scheduledDate: '2024-10-15', conductedDate: '2024-10-15', status: 'completed', score: 90, }, { id: 'A021', type: 'surveillance', surveillanceNumber: 1, auditorId: 'U011', auditorName: 'Dr. Sunita Rao', scheduledDate: '2025-06-01', status: 'in_progress', }, { id: 'A022', type: 'surveillance', surveillanceNumber: 2, auditorId: 'U011', auditorName: 'Dr. Sunita Rao', scheduledDate: '2025-12-01', status: 'assigned', }, ], certificates: [ { id: 'C002', certificateNo: 'SHAP/CERT/F/2024/001', type: 'farm', entityName: 'Lakshmi Shrimp Farm', issueDate: '2024-11-01', validUntil: '2026-10-31', status: 'active', score: 90, }, ], cropDetails: [ { id: 'CD001', season: 'Summer 2024', species: 'Litopenaeus vannamei', stockingDate: '2024-03-15', harvestDate: '2024-07-20', quantity: '45 Tonnes', yieldPerHectare: '4.5 Tonnes/Ha', submittedDate: '2024-08-01', verifiedBy: 'U008', status: 'verified', }, ], }, { id: 'F003', applicationNo: 'SHAP/F/2025/003', farmName: 'Ocean Fresh Farm', farmerName: 'Gopal Reddy', enrollmentId: 'ENR/F/TN/2024/9012', email: 'gopal@oceanfresh.com', phone: '9876543241', state: 'Tamil Nadu', district: 'Ramanathapuram', address: 'Mandapam', waterArea: '8 Hectares', species: 'Penaeus monodon', status: 'audit_assigned', currentStage: 'gap', submittedDate: '2025-03-01', assignedFOI: 'U007', assignedFO: 'U009', assignedCCOfficer: 'U005', assignedAuditor: 'U010', paymentStatus: 'completed', paymentAmount: 18000, audits: [ { id: 'A008', type: 'gap', auditorId: 'U010', auditorName: 'Dr. Mohan Das', scheduledDate: '2025-03-20', status: 'assigned', }, ], }, { id: 'F004', applicationNo: 'SHAP/F/2025/004', farmName: 'Backwater Farm', farmerName: 'Vijay Prasad', enrollmentId: 'ENR/F/KL/2025/2222', email: 'vijay@farms.com', phone: '9876543223', state: 'Kerala', district: 'Alappuzha', address: 'Kainakary, Kuttanad', waterArea: '3 Hectares', species: 'Litopenaeus vannamei', status: 'nc_raised', currentStage: 'preliminary_audit', submittedDate: '2025-03-05', assignedFOI: 'U006', assignedFO: 'U008', assignedCCOfficer: 'U005', assignedAuditor: 'U011', paymentStatus: 'completed', paymentAmount: 12000, audits: [ { id: 'A009', type: 'preliminary', auditorId: 'U011', auditorName: 'Dr. Sunita Rao', scheduledDate: '2025-03-15', conductedDate: '2025-03-15', status: 'nc_raised', score: 70, remarks: 'Non-compliances identified during audit.', nonCompliances: [ { id: 'NCF001', description: 'Pond bunds not adequately maintained', severity: 'major', raisedDate: '2025-03-15', status: 'open', }, { id: 'NCF002', description: 'Stocking records incomplete', severity: 'minor', raisedDate: '2025-03-15', status: 'open', }, ], }, ], }, // Pipeline demo farm at JD and Director stages { id: 'F005', applicationNo: 'SHAP/F/2025/005', farmName: 'JD Flow Farm', farmerName: 'Demo JD Farmer', enrollmentId: 'ENR/F/AP/2025/3333', email: 'demo.jd.farm@farms.com', phone: '9876543250', state: 'Andhra Pradesh', district: 'Krishna', address: 'JD Pipeline Village', waterArea: '6 Hectares', species: 'Litopenaeus vannamei', status: 'pending_approval', currentStage: 'jd_approval', submittedDate: '2025-03-18', assignedFOI: 'U007', assignedFO: 'U009', assignedCCOfficer: 'U005', assignedAuditor: 'U010', paymentStatus: 'completed', paymentAmount: 16000, audits: [], }, { id: 'F006', applicationNo: 'SHAP/F/2025/006', farmName: 'Director Flow Farm', farmerName: 'Demo Director Farmer', enrollmentId: 'ENR/F/TN/2025/4444', email: 'demo.director.farm@farms.com', phone: '9876543251', state: 'Tamil Nadu', district: 'Ramanathapuram', address: 'Director Pipeline Coast', waterArea: '7 Hectares', species: 'Penaeus monodon', status: 'pending_approval', currentStage: 'director_approval', submittedDate: '2025-03-19', assignedFOI: 'U007', assignedFO: 'U009', assignedCCOfficer: 'U005', assignedAuditor: 'U011', paymentStatus: 'completed', paymentAmount: 17000, audits: [], }, ]; // Dummy TA Claims export const taClaims: TAClaim[] = [ { id: 'TC001', auditorId: 'U010', auditorName: 'Dr. Mohan Das', auditId: 'A001', applicationNo: 'SHAP/H/2025/001', travelDate: '2025-02-10', fromLocation: 'Kochi', toLocation: 'Vypeen', travelMode: 'car', distance: 45, fareAmount: 1500, daAmount: 500, totalAmount: 2000, status: 'approved', submittedDate: '2025-02-12', processedDate: '2025-02-15', }, { id: 'TC002', auditorId: 'U011', auditorName: 'Dr. Sunita Rao', auditId: 'A003', applicationNo: 'SHAP/H/2025/002', travelDate: '2025-03-01', fromLocation: 'Chennai', toLocation: 'Nagapattinam', travelMode: 'train', distance: 350, fareAmount: 800, daAmount: 1000, totalAmount: 1800, status: 'submitted', submittedDate: '2025-03-03', }, { id: 'TC003', auditorId: 'U012', auditorName: 'Dr. Arun Kumar', auditId: 'A005', applicationNo: 'SHAP/H/2025/003', travelDate: '2024-12-01', fromLocation: 'Hyderabad', toLocation: 'Kakinada', travelMode: 'bus', distance: 480, fareAmount: 600, daAmount: 800, totalAmount: 1400, status: 'paid', submittedDate: '2024-12-03', processedDate: '2024-12-10', }, ]; // Dummy Raw Material Entries export const rawMaterialEntries: RawMaterialEntry[] = [ { id: 'RM001', supplierId: 'SUP001', supplierName: 'Coastal Seafood Suppliers', certifiedFarmId: 'F002', certifiedFarmName: 'Lakshmi Shrimp Farm', certificateNo: 'SHAP/CERT/F/2024/001', species: 'Litopenaeus vannamei', quantity: '5 Tonnes', purchaseDate: '2025-01-15', batchNo: 'BATCH/2025/001', verificationStatus: 'verified', }, { id: 'RM002', supplierId: 'SUP002', supplierName: 'Marine Harvest Co', certifiedFarmId: 'F002', certifiedFarmName: 'Lakshmi Shrimp Farm', certificateNo: 'SHAP/CERT/F/2024/001', species: 'Litopenaeus vannamei', quantity: '3 Tonnes', purchaseDate: '2025-02-20', batchNo: 'BATCH/2025/002', verificationStatus: 'pending', }, ]; // Dummy Processor Entries export const processorEntries: ProcessorEntry[] = [ { id: 'PE001', processorId: 'PROC001', processorName: 'Ocean Export Processors', registrationNo: 'REG/PROC/2024/001', rawMaterialId: 'RM001', certifiedFarmName: 'Lakshmi Shrimp Farm', certificateNo: 'SHAP/CERT/F/2024/001', species: 'Litopenaeus vannamei', quantity: '4.5 Tonnes', processedDate: '2025-01-20', productType: 'Frozen Shrimp', batchNo: 'PROC/2025/001', chainOfCustody: 'Farm > Supplier > Processor', }, ]; // Dashboard Stats export const dashboardStats: DashboardStats = { totalApplications: 156, pendingApplications: 42, approvedApplications: 89, certifiedEntities: 73, activeAudits: 28, pendingNCs: 15, pendingTAClaims: 8, revenueCollected: 3250000, }; // Helper functions export const getStatusColor = (status: ApplicationStatus | string): string => { const colors: Record = { submitted: 'bg-blue-100 text-blue-800', under_review: 'bg-amber-100 text-amber-800', field_verification: 'bg-purple-100 text-purple-800', audit_assigned: 'bg-indigo-100 text-indigo-800', audit_in_progress: 'bg-cyan-100 text-cyan-800', nc_raised: 'bg-red-100 text-red-800', nc_resolved: 'bg-teal-100 text-teal-800', pending_approval: 'bg-orange-100 text-orange-800', approved: 'bg-emerald-100 text-emerald-800', certified: 'bg-green-100 text-green-800', suspended: 'bg-yellow-100 text-yellow-800', cancelled: 'bg-gray-100 text-gray-800', rejected: 'bg-red-100 text-red-800', pending: 'bg-amber-100 text-amber-800', completed: 'bg-emerald-100 text-emerald-800', in_progress: 'bg-blue-100 text-blue-800', active: 'bg-green-100 text-green-800', expired: 'bg-gray-100 text-gray-800', verified: 'bg-emerald-100 text-emerald-800', paid: 'bg-green-100 text-green-800', }; return colors[status] || 'bg-gray-100 text-gray-800'; }; export const formatStatus = (status: string): string => { return status.split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' '); }; export const getRoleLabel = (role: UserRole): string => { const labels: Record = { admin: 'Administrator', director: 'Director', jd: 'Joint Director', cc_incharge: 'CC Incharge', cc_officer: 'CC Officer', foi: 'Field Officer Incharge', fo: 'Field Officer', auditor: 'Auditor', hatchery_operator: 'Hatchery Operator', farmer: 'Farmer', raw_material_supplier: 'Raw Material Supplier', processor_exporter: 'Processor / Exporter', applicant: 'Applicant', }; return labels[role]; };