'use client'
import React from 'react'
import {
Enrollment,
ENROLLMENT_STATUS_INFO,
isEnrollmentOverdue,
getDaysUntilDeadline
} from '@/lib/sdk/academy/types'
export function EnrollmentCard({ enrollment, courseName, onEdit, onComplete, onDelete }: {
enrollment: Enrollment
courseName: string
onEdit?: (enrollment: Enrollment) => void
onComplete?: (id: string) => void
onDelete?: (id: string) => void
}) {
const statusInfo = ENROLLMENT_STATUS_INFO[enrollment.status]
const overdue = isEnrollmentOverdue(enrollment)
const daysUntil = getDaysUntilDeadline(enrollment.deadline)
return (
{/* Status Badge */}
{statusInfo.label}
{overdue && (
Ueberfaellig
)}
{/* User Info */}
{enrollment.userName}
{enrollment.userEmail}
{courseName}
{/* Progress Bar */}
Fortschritt
{enrollment.progress}%
{/* Right Side - Deadline */}
{enrollment.status === 'completed'
? 'Abgeschlossen'
: overdue
? `${Math.abs(daysUntil)} Tage ueberfaellig`
: `${daysUntil} Tage verbleibend`
}
Frist: {new Date(enrollment.deadline).toLocaleDateString('de-DE')}
{/* Footer */}
Gestartet: {new Date(enrollment.startedAt).toLocaleDateString('de-DE')}
{enrollment.completedAt && (
Abgeschlossen: {new Date(enrollment.completedAt).toLocaleDateString('de-DE')}
)}
{enrollment.status === 'in_progress' && onComplete && (
)}
{onEdit && (
)}
{onDelete && (
)}
)
}