import { de } from '@/lib/i18n/de' import { fillPlaceholders, isInputField } from '@/lib/templates/fields' import { RedactedText } from '@/components/Redacted' import { SectionEditor } from './SectionEditor' import type { SaveSection } from './types' import type { RenderedSection } from '@/lib/sections/render' /** * Ausgefüllte Vorlage: der Sachstand einer Fallakte oder der Inhalt eines * Dokuments. Beide sind dasselbe Gebilde, deshalb dieselbe Darstellung. * * Feste Textbausteine der Vorlage werden gerendert, nicht bearbeitet — ihre * Platzhalter ziehen die Werte der Eingabefelder. Damit trägt dieselbe * Darstellung ein Formular und einen Vertragstext. */ export function Sections({ scope, save, sections, canEdit, }: { scope: string save: SaveSection sections: RenderedSection[] canEdit: boolean }) { if (sections.length === 0) { return
{de.section.empty}
} const werte = Object.fromEntries( sections.filter((s) => s.visible).map((s) => [s.fieldKey, s.value]), ) return ({fillPlaceholders(field.label, werte)}
{text}
) } return ({de.section.lockedField(section.value.requiredLevel)}
) : section.segments ? (