import type { Metadata } from 'next'; import Link from 'next/link'; import { erfordereBenutzer } from '@/lib/auth/rechte'; import { ausbildungenVonAusbilder, ausbildungNachAzubi } from '@/lib/repos/ausbildung'; import { inhalte } from '@/lib/inhalte'; import { gespraecheVon, inhaltVon } from '@/lib/repos/feedback'; import { istAbgeschlossen, zusammenfassung } from '@/lib/feedback/inhalt'; import { alsDatumText, heute, montagDerWoche } from '@/lib/zeit'; import { gespraechAnlegen } from './aktionen'; import { erfordereModul } from '@/lib/module/pruefen'; export const metadata: Metadata = { title: 'Feedbackgespräche' }; export const dynamic = 'force-dynamic'; export default async function FeedbackSeite() { const benutzer = await erfordereBenutzer(); erfordereModul('feedback'); const vorlage = inhalte().feedback; const beteiligte = benutzer.rolle === 'ausbilder' ? ausbildungenVonAusbilder(benutzer.id).map(({ azubi, ausbildung }) => ({ azubi, ausbildung })) : (() => { const ausbildung = ausbildungNachAzubi(benutzer.id); return ausbildung ? [{ azubi: benutzer, ausbildung }] : []; })(); return (
Monatlich, mit Leitfaden und Bewertungsbogen. Von beiden Seiten bestätigt und danach unveränderlich – für die Ausbildungsakte.
{benutzer.rolle === 'ausbilder' ? ( <> Noch kein Azubikonto. Jetzt eines anlegen. > ) : ( 'Zu deinem Konto ist noch keine Ausbildung hinterlegt.' )}
) : ( beteiligte.map(({ azubi, ausbildung }) => { const gespraeche = gespraecheVon(ausbildung.id); const letztes = gespraeche[0]; const faellig = !letztes || montagDerWoche(letztes.datum) < montagDerWoche(vorMonaten(heute(), 1)); return ({letztes ? `Das letzte Gespräch war am ${alsDatumText(letztes.datum)} – das ist über einen Monat her.` : 'Es gab noch kein Feedbackgespräch.'}
) : null} {gespraeche.length === 0 ? (Noch kein Gespräch geführt.
) : (