diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 7182874..1e42f8c 100755 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -23,6 +23,7 @@ "@vis.gl/react-maplibre": "^8.1.0", "axios": "^1.13.5", "emoji-mart": "^5.6.0", + "jszip": "^3.10.1", "lucide-react": "^0.564.0", "maplibre-gl": "^5.19.0", "react": "^19.2.0", diff --git a/frontend/package.json b/frontend/package.json index d37aeb5..6876fd4 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -25,6 +25,7 @@ "@vis.gl/react-maplibre": "^8.1.0", "axios": "^1.13.5", "emoji-mart": "^5.6.0", + "jszip": "^3.10.1", "lucide-react": "^0.564.0", "maplibre-gl": "^5.19.0", "react": "^19.2.0", diff --git a/frontend/src/tabs/reports/components/ReportsView.tsx b/frontend/src/tabs/reports/components/ReportsView.tsx index 52af3a5..014c1a6 100755 --- a/frontend/src/tabs/reports/components/ReportsView.tsx +++ b/frontend/src/tabs/reports/components/ReportsView.tsx @@ -16,7 +16,8 @@ import { analysisCatColors, inferAnalysisCategory, type ViewState, -} from './reportUtils' +} from './reportUtils'; +import type { TemplateType } from './reportTypes'; import TemplateFormEditor from './TemplateFormEditor' import ReportGenerator from './ReportGenerator' @@ -296,7 +297,7 @@ export function ReportsView() { diff --git a/frontend/src/tabs/reports/components/TemplateFormEditor.tsx b/frontend/src/tabs/reports/components/TemplateFormEditor.tsx index 9ac4401..b3bf134 100644 --- a/frontend/src/tabs/reports/components/TemplateFormEditor.tsx +++ b/frontend/src/tabs/reports/components/TemplateFormEditor.tsx @@ -67,15 +67,14 @@ function TemplateFormEditor({ onSave, onBack }: TemplateFormEditorProps) { } const doExport = (format: 'pdf' | 'hwp') => { - const html = generateReportHTML( - template.label, - { writeTime: reportMeta.writeTime, author: reportMeta.author, jurisdiction: reportMeta.jurisdiction }, - template.sections, - getVal - ) + const meta = { writeTime: reportMeta.writeTime, author: reportMeta.author, jurisdiction: reportMeta.jurisdiction } const filename = formData['incident.name'] || `${template.label}_${reportMeta.writeTime.replace(/[\s:]/g, '_')}` - if (format === 'pdf') exportAsPDF(html, filename) - else exportAsHWP(html, filename) + if (format === 'pdf') { + const html = generateReportHTML(template.label, meta, template.sections, getVal) + exportAsPDF(html, filename) + } else { + exportAsHWP(template.label, meta, template.sections, getVal, filename) + } } return ( @@ -185,7 +184,7 @@ function TemplateFormEditor({ onSave, onBack }: TemplateFormEditorProps) {
- +