import { useContactEmails, useIntegrations } from '../hooks'; import { integrationsApi } from '../api'; import type { M365Email } from '../types'; interface Props { contactId: string; } function formatEmailDate(iso: string): string { return new Date(iso).toLocaleString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric', hour: '2-digit', minute: '2-digit', }); } export function EmailsTab({ contactId }: Props) { const { data: integrationsData } = useIntegrations(); const isConnected = integrationsData?.data?.some( (i) => i.provider === 'MICROSOFT_365' && i.connected, ) ?? false; const { data, isLoading, error } = useContactEmails(contactId); const emails: M365Email[] = data?.data ?? []; if (!isConnected) { return (

Verbinden Sie Microsoft 365, um E-Mails zu diesem Kontakt zu sehen.

); } if (isLoading) { return

Laden…

; } if (error) { return

E-Mails konnten nicht geladen werden.

; } if (emails.length === 0) { return

Keine E-Mails gefunden.

; } return (
{emails.map((email) => (
{email.subject || '(kein Betreff)'} {formatEmailDate(email.receivedDateTime)}
Von: {email.from?.emailAddress?.name ?? email.from?.emailAddress?.address ?? '—'}
{email.bodyPreview && (
{email.bodyPreview}
)}
))}
); }