'use client' import React from 'react' import { LoeschfristPolicy } from '@/lib/sdk/loeschfristen-types' import { ComplianceCheckResult } from '@/lib/sdk/loeschfristen-compliance' import { buildLoeschkonzeptHtml, type LoeschkonzeptOrgHeader, type LoeschkonzeptRevision, } from '@/lib/sdk/loeschfristen-document' import { downloadFile } from '@/lib/sdk/loeschfristen-export' // --------------------------------------------------------------------------- // Types // --------------------------------------------------------------------------- interface LoeschkonzeptTabProps { policies: LoeschfristPolicy[] orgHeader: LoeschkonzeptOrgHeader revisions: LoeschkonzeptRevision[] complianceResult: ComplianceCheckResult | null vvtActivities: any[] onOrgHeaderChange: (field: keyof LoeschkonzeptOrgHeader, value: string | string[]) => void onAddRevision: () => void onUpdateRevision: (index: number, field: keyof LoeschkonzeptRevision, value: string) => void onRemoveRevision: (index: number) => void } // --------------------------------------------------------------------------- // Component // --------------------------------------------------------------------------- export function LoeschkonzeptTab({ policies, orgHeader, revisions, complianceResult, vvtActivities, onOrgHeaderChange, onAddRevision, onUpdateRevision, onRemoveRevision, }: LoeschkonzeptTabProps) { const activePolicies = policies.filter(p => p.status !== 'ARCHIVED') function handlePrintLoeschkonzept() { const htmlContent = buildLoeschkonzeptHtml(policies, orgHeader, vvtActivities, complianceResult, revisions) const printWindow = window.open('', '_blank') if (printWindow) { printWindow.document.write(htmlContent) printWindow.document.close() printWindow.focus() setTimeout(() => printWindow.print(), 300) } } function handleDownloadLoeschkonzeptHtml() { const htmlContent = buildLoeschkonzeptHtml(policies, orgHeader, vvtActivities, complianceResult, revisions) downloadFile(htmlContent, `loeschkonzept-${new Date().toISOString().split('T')[0]}.html`, 'text/html;charset=utf-8') } return (
Druckfertiges Loeschkonzept mit Deckblatt, Loeschregeln, VVT-Verknuepfung und Compliance-Status.
Noch keine Revisionen. Die Erstversion wird automatisch im Dokument eingefuegt.
) : (