Vertrags-Mail-Card: Link "Postfach öffnen" → Kunden-Postfach in neuem Tab

Neben dem "E-Mails"-Titel der Card im Vertragsdetail jetzt ein
kleiner Link mit ExternalLink-Icon, der den Tab "E-Mail-Postfach"
in der Kundenakte in einem neuen Tab öffnet (target="_blank",
rel="noopener noreferrer"). Greift auf das bereits unterstützte
?tab=emails-Deep-Link-Pattern in CustomerDetail zurück.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-30 12:23:29 +02:00
parent a3fef8891a
commit d92d0b1eaf
@@ -1,5 +1,6 @@
import { useState, useEffect } from 'react'; import { useState, useEffect } from 'react';
import { Mail, MailOpen, Star, Paperclip, Plus, X, ChevronRight, Inbox, Send, RefreshCw, Trash2 } from 'lucide-react'; import { Link } from 'react-router-dom';
import { Mail, MailOpen, Star, Paperclip, Plus, X, ChevronRight, Inbox, Send, RefreshCw, Trash2, ExternalLink } from 'lucide-react';
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'; import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
import { cachedEmailApi, stressfreiEmailApi, CachedEmail } from '../../services/api'; import { cachedEmailApi, stressfreiEmailApi, CachedEmail } from '../../services/api';
import { useAuth } from '../../context/AuthContext'; import { useAuth } from '../../context/AuthContext';
@@ -285,8 +286,18 @@ export default function ContractEmailsSection({
return ( return (
<Card <Card
title={ title={
<div className="flex items-center gap-4"> <div className="flex items-center gap-3">
<span>E-Mails</span> <span>E-Mails</span>
<Link
to={`/customers/${customerId}?tab=emails`}
target="_blank"
rel="noopener noreferrer"
className="inline-flex items-center gap-1 text-xs text-blue-600 hover:text-blue-800 hover:underline font-normal"
title="Komplettes E-Mail-Postfach des Kunden in neuem Tab öffnen"
>
<ExternalLink className="w-3 h-3" />
Postfach öffnen
</Link>
</div> </div>
} }
actions={ actions={