From 386d206ff1440dc731c817497d958420b630b78d Mon Sep 17 00:00:00 2001 From: duffyduck Date: Tue, 23 Jun 2026 15:56:16 +0200 Subject: [PATCH] Vertragsdokumente-Modal: Vorschau-Link pro Dokument MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Neben jeder Dokument-Zeile sitzt jetzt ein "Vorschau"-Link mit ExternalLink-Icon, der die PDF in einem neuen Tab öffnet (via viewUrl mit Token-Auth, inline-disposition). Klick darauf schaltet bewusst NICHT die Checkbox um – die Auswahl bleibt, nur das Dokument geht in einem zweiten Tab auf. Co-Authored-By: Claude Opus 4.7 --- .../email/AttachContractDocumentsModal.tsx | 56 ++++++++++++------- 1 file changed, 35 insertions(+), 21 deletions(-) diff --git a/frontend/src/components/email/AttachContractDocumentsModal.tsx b/frontend/src/components/email/AttachContractDocumentsModal.tsx index 74221839..c16037d3 100644 --- a/frontend/src/components/email/AttachContractDocumentsModal.tsx +++ b/frontend/src/components/email/AttachContractDocumentsModal.tsx @@ -1,11 +1,12 @@ import { useState } from 'react'; import { useQuery } from '@tanstack/react-query'; -import { FileText, Loader2 } from 'lucide-react'; +import { FileText, Loader2, ExternalLink } from 'lucide-react'; import toast from 'react-hot-toast'; import Modal from '../ui/Modal'; import Button from '../ui/Button'; import { contractApi, EmailAttachment } from '../../services/api'; import { serverFileToAttachment, totalAttachmentBytes } from './composeAttachmentHelpers'; +import { viewUrl } from '../../utils/fileUrl'; interface Props { isOpen: boolean; @@ -127,29 +128,42 @@ export default function AttachContractDocumentsModal({
{docs.map((doc) => ( -