import { Layout } from '@/components/layout/Layout'; import type { ReactElement } from 'react'; import { Info, FileCheck, Briefcase, FileText, GraduationCap } from 'lucide-react'; interface StatCardProps { icon: React.ComponentType<{ className?: string }>; value: string | number; label: string; status: 'success' | 'process' | 'warning' | 'disabled'; statusLabel: string; } const StatCard = ({ icon: Icon, value, label, status, statusLabel }: StatCardProps): ReactElement => { const statusConfig = { success: { bg: 'bg-[#f1fffb]', dot: 'bg-[#16c784]', text: 'text-[#16c784]', }, process: { bg: 'bg-[#fff5e5]', dot: 'bg-[#fca004]', text: 'text-[#fca004]', }, warning: { bg: 'bg-[#fdf5f4]', dot: 'bg-[#e0352a]', text: 'text-[#e0352a]', }, disabled: { bg: 'bg-[#e5e7eb]', dot: 'bg-[#9ca3af]', text: 'text-[#9ca3af]', }, }; const config = statusConfig[status]; const valueColor = status === 'warning' && label === 'Overdue Tasks' ? 'text-[#e0352a]' : 'text-[#0f1724]'; return (