import { Badge } from '@/components/ui/badge'; import { cn } from '@/lib/utils'; import { differenceInDays, format, parseISO } from 'date-fns'; import { Calendar, CheckCircle, XCircle } from 'lucide-react'; interface Props { enrollment: ExamEnrollment; showDate?: boolean; className?: string; } const EnrollmentStatus = ({ enrollment, showDate = true, className }: Props) => { const isActive = enrollment.is_active; const expiryDate = enrollment.expiry_date ? parseISO(enrollment.expiry_date) : null; const daysRemaining = expiryDate ? differenceInDays(expiryDate, new Date()) : null; return (
{isActive ? : } {isActive ? 'Active' : 'Expired'} {showDate && enrollment.enrollment_type === 'limited' && expiryDate && (
{isActive && daysRemaining !== null && daysRemaining > 0 ? ( {daysRemaining} day{daysRemaining !== 1 ? 's' : ''} left ) : ( Expired on {format(expiryDate, 'MMM dd, yyyy')} )}
)} {enrollment.enrollment_type === 'lifetime' && ( Lifetime Access )}
); }; export default EnrollmentStatus;