feat(vorlagen): Abschnitte nur fuer bestimmte Abteilungen (#58)
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s

This commit was merged in pull request #58.
This commit is contained in:
2026-10-04 18:04:51 +00:00
parent 80870133b8
commit 855164066c
24 changed files with 815 additions and 37 deletions
@@ -2,6 +2,7 @@
import { useState } from "react";
import { Blocks } from "lucide-react";
import { AbteilungenWaehlen } from "@/components/vorlagen/abteilungen-waehlen";
import { KlappKarte, LoeschKnopf, TextKnopf, Textfeld } from "@/components/vorlagen/editor-felder";
import { SortierBereich, SortierZeile, VerschiebeKnoepfe } from "@/components/vorlagen/editor-sortieren";
import { SchrittKarte } from "@/components/vorlagen/editor-schritt";
@@ -30,6 +31,7 @@ export function AbschnittKarte({
index,
anzahl,
lesend,
abteilungen,
zuletztAngelegt,
anfasser,
aendern,
@@ -44,6 +46,8 @@ export function AbschnittKarte({
index: number;
anzahl: number;
lesend: boolean;
/** Die gepflegten Abteilungsnamen – für die Einschränkung (#031). */
abteilungen: readonly string[];
/** Kennung der zuletzt angelegten Zeile — die wird aufgeklappt gezeigt. */
zuletztAngelegt: string | null;
anfasser: React.ReactNode;
@@ -83,6 +87,11 @@ export function AbschnittKarte({
Baustein
</span>
) : null}
{abschnitt.nurFuerAbteilungen.length > 0 ? (
<span className="shrink-0 rounded-pille bg-flaeche-hoch px-2.5 py-0.5 text-xs font-normal text-nebentext">
nur {abschnitt.nurFuerAbteilungen.join(", ")}
</span>
) : null}
</>
}
knoepfe={
@@ -139,6 +148,17 @@ export function AbschnittKarte({
/>
) : null}
{/*
Die Einschraenkung gehoert zur Vorlage und nicht zum Baustein — deshalb
steht sie auch bei einem Baustein-Abschnitt (#031).
*/}
<AbteilungenWaehlen
gewaehlt={abschnitt.nurFuerAbteilungen}
bekannte={abteilungen}
lesend={lesend}
setzen={(nurFuerAbteilungen) => aendern({ nurFuerAbteilungen })}
/>
{baustein ? null : anzahlSchritte === 0 ? (
<p className="text-sm text-nebentext">Noch kein Schritt in diesem Abschnitt.</p>
) : (