- Taegliche Stichworte, je Tag ein eigenes Formular - Wochenblatt mit Betrieb, Berufsschule und Sonstiges, je mit Stunden - Vorschlaege aus Tagesnotizen, Aufgaben, Checklisten und Handouts - Pruefung mitlaufend beim Tippen: fehlende Stunden, Floskeln, IP- und MAC-Adressen, E-Mail, Zugangsdaten, Kundennamen - Warnung, keine Sperre - Einreichen ist immer moeglich - Formulierungshilfe mit Taetigkeitsverben und Gegenueberstellungen - Einreichen, zurueckgeben mit Anmerkung, abzeichnen; danach gesperrt - Fehlende Wochen werden benannt und lassen sich nachtragen; die laufende Nummer richtet sich nach dem Zeitraum, nicht nach dem Anlegen - PDF im IHK-Layout, einzeln oder als ganzer Zeitraum Behoben: Im PDF-Kopffeld liefen die Spalten auseinander (dokument.y als Bezugspunkt in der Schleife). Das Abzeichnen-Formular hatte keine action - gefunden ueber die ESLint-Meldung zur ungenutzten Serveraktion. 55 neue Tests, insgesamt 241. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
'use client';
|
||
|
||
import { useActionState } from 'react';
|
||
import { Absenden, Meldung } from '@/komponenten/Formularmeldung';
|
||
import { blattAbzeichnen, blattZurueckgeben, type Rueckmeldung } from '../aktionen';
|
||
|
||
/**
|
||
* Abzeichnen oder zurückgeben.
|
||
*
|
||
* Zurückgeben verlangt eine Anmerkung – ohne sie weiß der Azubi nicht, was er
|
||
* ändern soll, und das Blatt pendelt hin und her.
|
||
*/
|
||
export function Abzeichnen({
|
||
berichtId,
|
||
anmerkung,
|
||
status,
|
||
}: {
|
||
berichtId: string;
|
||
anmerkung: string;
|
||
status: string;
|
||
}) {
|
||
const [abzeichenZustand, abzeichnen] = useActionState<Rueckmeldung, FormData>(blattAbzeichnen, {});
|
||
const [rueckgabeZustand, zurueckgeben] = useActionState<Rueckmeldung, FormData>(blattZurueckgeben, {});
|
||
|
||
if (status === 'abgezeichnet') return null;
|
||
|
||
return (
|
||
<form action={abzeichnen} className="stapel-eng">
|
||
<input type="hidden" name="berichtId" value={berichtId} />
|
||
|
||
<Meldung zustand={abzeichenZustand} />
|
||
<Meldung zustand={rueckgabeZustand} />
|
||
|
||
<label htmlFor="anmerkung">Anmerkung an den Azubi</label>
|
||
<textarea
|
||
id="anmerkung"
|
||
name="anmerkung"
|
||
rows={3}
|
||
maxLength={2000}
|
||
defaultValue={anmerkung}
|
||
placeholder="Beim Abzeichnen freiwillig, beim Zurückgeben nötig: Was soll er ändern?"
|
||
/>
|
||
|
||
<div className="reihe">
|
||
<Absenden className="knopf knopf-akzent">Abzeichnen</Absenden>
|
||
<button type="submit" className="knopf knopf-zweit" formAction={zurueckgeben}>
|
||
Zur Nacharbeit zurückgeben
|
||
</button>
|
||
</div>
|
||
|
||
<p className="leise" style={{ marginBottom: 0 }}>
|
||
Abzeichnen sperrt das Blatt endgültig – der Azubi kann es danach nicht mehr ändern.
|
||
</p>
|
||
</form>
|
||
);
|
||
}
|