import { useEffect } from 'react' import LegalDocumentBody from './LegalDocumentBody' import { legalSectionNumber } from '../utils/legalPdfExport' /** Inhalt wie auf der öffentlichen Rechtstextseite (inkl. §-Nummerierung). */ export function LegalDocumentPublicPreviewContent({ title, sections, showDraftNotice = true, metaLine, }) { const safeTitle = (title || '').trim() || 'Ohne Titel' return (
{showDraftNotice && (
Vorschau

So erscheint der Text für Besucher nach Veröffentlichung (Markdown wird gerendert, §-Nummern wie online).

)} {metaLine && (

{metaLine}

)}

{safeTitle}

{(sections || []).map((section, i) => (

{section.heading?.trim() ? `${legalSectionNumber(i)} ${section.heading}` : legalSectionNumber(i)}

))} {sections?.length === 0 && (

Noch keine Abschnitte.

)}
) } /** * Modal: gerenderte Rechtstext-Vorschau (Editor oder gespeicherte Version). */ export function LegalPreviewModal({ open, onClose, title, sections, metaLine, loading, showDraftNotice = true, }) { useEffect(() => { if (!open) return const onKey = (e) => { if (e.key === 'Escape') onClose() } window.addEventListener('keydown', onKey) return () => window.removeEventListener('keydown', onKey) }, [open, onClose]) if (!open) return null return (
e.stopPropagation()} >
{loading ? (
) : ( )}
) }