From 06d51cf68049114a1deb8162f28a08dfc1eade10 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Thu, 13 Aug 2026 13:15:57 +0200 Subject: [PATCH] PDF-Viewer-Modal fuer Bankkarte-/Ausweis-Dokument Neue Komponente PdfViewerModal (Modal + iframe auf viewUrl(documentPath), inkl. Neuer-Tab/Download-Links). Buttons: - Vertragsansicht (ContractDetail): im Card-Header von Bankkarte/Ausweis - Vertrag bearbeiten (ContractForm): neben dem Label Bankkarte/Ausweis Button erscheint NUR wenn ein documentPath hinterlegt/gewaehlt ist. Nutzt den bestehenden /api/files/download-Endpoint (Per-File-Ownership-Check) - kein neuer Zugriffspfad. iframe (nicht embed/object wegen object-src 'none'); same-origin via CSP default-src 'self' erlaubt. Co-Authored-By: Claude Opus 4.8 --- docs/todo.md | 12 ++++ frontend/src/components/ui/PdfViewerModal.tsx | 55 +++++++++++++++++++ .../src/pages/contracts/ContractDetail.tsx | 42 +++++++++++++- frontend/src/pages/contracts/ContractForm.tsx | 35 +++++++++++- 4 files changed, 141 insertions(+), 3 deletions(-) create mode 100644 frontend/src/components/ui/PdfViewerModal.tsx diff --git a/docs/todo.md b/docs/todo.md index 945b41c3..6ec004c1 100644 --- a/docs/todo.md +++ b/docs/todo.md @@ -97,6 +97,18 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung ## ✅ Erledigt +- [x] **📄 PDF-Viewer-Modal für Bankkarte-/Ausweis-Dokument** (2026-08-13) + - Neue wiederverwendbare Komponente `PdfViewerModal` (Modal + `