'use client' import React, { useState, useEffect, useMemo } from 'react' import Link from 'next/link' import { useSDK } from '@/lib/sdk' import { StepHeader, STEP_EXPLANATIONS } from '@/components/sdk/StepHeader' import { Course, CourseCategory, Enrollment, EnrollmentStatus, AcademyStatistics, COURSE_CATEGORY_INFO, ENROLLMENT_STATUS_INFO, isEnrollmentOverdue, getDaysUntilDeadline } from '@/lib/sdk/academy/types' import { fetchSDKAcademyList } from '@/lib/sdk/academy/api' // ============================================================================= // TYPES // ============================================================================= type TabId = 'overview' | 'courses' | 'enrollments' | 'certificates' | 'settings' interface Tab { id: TabId label: string count?: number countColor?: string } // ============================================================================= // COMPONENTS // ============================================================================= function TabNavigation({ tabs, activeTab, onTabChange }: { tabs: Tab[] activeTab: TabId onTabChange: (tab: TabId) => void }) { return (
{course.description}
{/* Course Meta */}{enrollment.userEmail}
{courseName}
{/* Progress Bar */}Academy-Einstellungen, E-Mail-Benachrichtigungen und Kurs-Vorlagen werden in einer spaeteren Version verfuegbar sein.
Zertifikate werden automatisch nach erfolgreichem Kursabschluss generiert. Die Zertifikatsverwaltung wird in einer spaeteren Version verfuegbar sein.
{tabCounts.certificates > 0 && ({tabCounts.certificates} Zertifikat(e) vorhanden
)}Mitarbeiter haben Pflichtschulungen nicht fristgerecht abgeschlossen. Handeln Sie umgehend.
Gemaess Art. 39 Abs. 1 lit. b DSGVO gehoert die Sensibilisierung und Schulung der an den Verarbeitungsvorgaengen beteiligten Mitarbeiter zu den Aufgaben des Datenschutzbeauftragten. Nachweisbare Compliance-Schulungen sind Pflicht und sollten mindestens jaehrlich aufgefrischt werden.
{selectedCategory !== 'all' ? 'Passen Sie die Filter an oder' : 'Es sind noch keine Kurse vorhanden.' }
{selectedCategory !== 'all' ? ( ) : ( Ersten Kurs erstellen )}{selectedStatus !== 'all' ? 'Passen Sie die Filter an.' : 'Es sind noch keine Mitarbeiter in Kurse eingeschrieben.' }
{selectedStatus !== 'all' && ( )}