'use client'
import React from 'react'
import Link from 'next/link'
// =============================================================================
// HEADER ACTIONS
// =============================================================================
export function HeaderActions({
isGenerating,
onGenerateAll
}: {
isGenerating: boolean
onGenerateAll: () => void
}) {
return (
{isGenerating ? (
) : (
)}
{isGenerating ? 'Generiere...' : 'Alle Kurse generieren'}
Kurs erstellen
)
}
// =============================================================================
// GENERATION RESULT BAR
// =============================================================================
export function GenerationResultBar({
result
}: {
result: { generated: number; skipped: number; errors: string[] }
}) {
return (
0 ? 'bg-yellow-50 border-yellow-200' : 'bg-green-50 border-green-200'}`}>
{result.generated} Kurse generiert
{result.skipped} uebersprungen
{result.errors.length > 0 && (
{result.errors.length} Fehler
)}
{result.errors.length > 0 && (
{result.errors.map((err, i) =>
{err}
)}
)}
)
}
// =============================================================================
// LOADING SPINNER
// =============================================================================
export function LoadingSpinner() {
return (
)
}
// =============================================================================
// OVERDUE ALERT
// =============================================================================
export function OverdueAlert({ count, onShow }: { count: number; onShow: () => void }) {
return (
Achtung: {count} ueberfaellige Schulung(en)
Mitarbeiter haben Pflichtschulungen nicht fristgerecht abgeschlossen. Handeln Sie umgehend.
Anzeigen
)
}
// =============================================================================
// INFO BOX
// =============================================================================
export function InfoBox() {
return (
Schulungspflicht nach Art. 39 DSGVO
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.
)
}
// =============================================================================
// EMPTY STATES
// =============================================================================
export function EmptyCourses({
selectedCategory,
onClearFilters
}: {
selectedCategory: string
onClearFilters: () => void
}) {
return (
Keine Kurse gefunden
{selectedCategory !== 'all'
? 'Passen Sie die Filter an oder'
: 'Es sind noch keine Kurse vorhanden.'
}
{selectedCategory !== 'all' ? (
Filter zuruecksetzen
) : (
Ersten Kurs erstellen
)}
)
}
export function EmptyEnrollments({
selectedStatus,
onClearFilters
}: {
selectedStatus: string
onClearFilters: () => void
}) {
return (
Keine Einschreibungen gefunden
{selectedStatus !== 'all'
? 'Passen Sie die Filter an.'
: 'Es sind noch keine Mitarbeiter in Kurse eingeschrieben.'
}
{selectedStatus !== 'all' && (
Filter zuruecksetzen
)}
)
}