'use client'
import { Enrollment, ENROLLMENT_STATUS_INFO, isEnrollmentOverdue, getDaysUntilDeadline } from '@/lib/sdk/academy/types'
interface EnrollmentsTabProps {
enrollments: Enrollment[]
overdueEnrollments: number
}
export function EnrollmentsTab({ enrollments, overdueEnrollments }: EnrollmentsTabProps) {
return (
{overdueEnrollments > 0 && (
{overdueEnrollments} ueberfaellige Einschreibung(en)
)}
{enrollments.length === 0 ? (
Noch keine Einschreibungen fuer diesen Kurs.
) : (
enrollments.map(enrollment => {
const statusInfo = ENROLLMENT_STATUS_INFO[enrollment.status]
const overdue = isEnrollmentOverdue(enrollment)
const daysUntil = getDaysUntilDeadline(enrollment.deadline)
return (
{statusInfo?.label}
{overdue && Ueberfaellig}
{enrollment.userName}
{enrollment.userEmail}
{enrollment.progress}%
{enrollment.status === 'completed' ? 'Abgeschlossen' : `${daysUntil > 0 ? daysUntil + ' Tage verbleibend' : Math.abs(daysUntil) + ' Tage ueberfaellig'}`}
)
})
)}
)
}