diff --git a/frontend/src/components/email/ContractEmailsSection.tsx b/frontend/src/components/email/ContractEmailsSection.tsx index 796f7ba6..583e499f 100644 --- a/frontend/src/components/email/ContractEmailsSection.tsx +++ b/frontend/src/components/email/ContractEmailsSection.tsx @@ -6,6 +6,7 @@ import { cachedEmailApi, stressfreiEmailApi, CachedEmail } from '../../services/ import { useAuth } from '../../context/AuthContext'; import Button from '../ui/Button'; import Card from '../ui/Card'; +import CopyButton from '../ui/CopyButton'; import EmailDetail from './EmailDetail'; import ComposeEmailModal from './ComposeEmailModal'; import TrashEmailList from './TrashEmailList'; @@ -364,11 +365,23 @@ export default function ContractEmailsSection({ ))} + {selectedAccount?.email && ( + + )} ) : (
{selectedAccount?.email} + {selectedAccount?.email && ( + + )}
)} diff --git a/frontend/src/components/email/EmailClientTab.tsx b/frontend/src/components/email/EmailClientTab.tsx index 3214e839..c9f7135f 100644 --- a/frontend/src/components/email/EmailClientTab.tsx +++ b/frontend/src/components/email/EmailClientTab.tsx @@ -6,6 +6,7 @@ import { cachedEmailApi, stressfreiEmailApi, CachedEmail, EmailFilterParams } fr import { useAuth } from '../../context/AuthContext'; import { useProviderSettings } from '../../hooks/useProviderSettings'; import Button from '../ui/Button'; +import CopyButton from '../ui/CopyButton'; import EmailList from './EmailList'; import EmailDetail from './EmailDetail'; import ComposeEmailModal from './ComposeEmailModal'; @@ -315,11 +316,25 @@ export default function EmailClientTab({ customerId }: EmailClientTabProps) { ))} + {selectedAccount?.email && ( + + )} ) : (
{selectedAccount?.email} + {selectedAccount?.email && ( + + )}
)} diff --git a/frontend/src/pages/contracts/ContractForm.tsx b/frontend/src/pages/contracts/ContractForm.tsx index 02c8ccc5..ef1b2d9d 100644 --- a/frontend/src/pages/contracts/ContractForm.tsx +++ b/frontend/src/pages/contracts/ContractForm.tsx @@ -9,6 +9,7 @@ import Card from '../../components/ui/Card'; import Button from '../../components/ui/Button'; import Input from '../../components/ui/Input'; import Select from '../../components/ui/Select'; +import CopyButton from '../../components/ui/CopyButton'; import type { ContractType } from '../../types'; import { formatDate } from '../../utils/dateFormat'; import { useProviderSettings } from '../../hooks/useProviderSettings'; @@ -1017,7 +1018,24 @@ export default function ContractForm() {
- + {(() => { + // Aktiv kopierbaren Wert je nach Modus ermitteln: + // - Manuell: aktueller Eingabewert von portalUsername + // - Stressfrei: E-Mail der ausgewählten Stressfrei-Adresse + const manualUsername = (watch('portalUsername') as string) || ''; + const selectedStressfreiEmail = selectedStressfreiEmailId + ? stressfreiEmails.find((e: { id: number; email: string }) => e.id.toString() === selectedStressfreiEmailId)?.email + : ''; + const copyValue = usernameType === 'manual' + ? manualUsername.trim() + : (selectedStressfreiEmail || ''); + return ( + + ); + })()}