'use client' import { useState } from 'react' import type { Email } from './types' import { SENDER_TYPE_LABELS, CATEGORY_LABELS } from './types' interface EmailDetailProps { email: Email onAnalyze: () => void } export default function EmailDetail({ email, onAnalyze }: EmailDetailProps) { const [showAIPanel, setShowAIPanel] = useState(true) return (
{/* Email Content */}
{/* Header */}

{email.subject || '(Kein Betreff)'}

{(email.senderName || email.senderEmail)[0].toUpperCase()}

{email.senderName || email.senderEmail}

{email.senderEmail}

{new Date(email.date).toLocaleDateString('de-DE', { weekday: 'long', day: '2-digit', month: 'long', year: 'numeric', hour: '2-digit', minute: '2-digit', })}

An: {email.recipients.join(', ')}

{/* Action Buttons */}
{!email.aiAnalyzed && ( )}
{/* Body */}
{email.bodyHtml ? (
) : (
              {email.bodyText || email.bodyPreview}
            
)} {/* Attachments */} {email.hasAttachments && (

Anhänge ({email.attachmentCount})

Anhang herunterladen
)}
{/* AI Panel */} {showAIPanel && ( setShowAIPanel(false)} /> )}
) } function AIPanel({ email, onAnalyze, onClose, }: { email: Email onAnalyze: () => void onClose: () => void }) { return (

KI-Analyse

{email.aiAnalyzed ? (
{/* Sender Classification */} {email.senderType && SENDER_TYPE_LABELS[email.senderType] && (

Absender-Typ

{SENDER_TYPE_LABELS[email.senderType].label}
)} {/* Category */} {email.category && (

Kategorie

{CATEGORY_LABELS[email.category] || email.category}
)} {/* Deadlines */} {email.deadlines && email.deadlines.length > 0 && (

Erkannte Fristen

{email.deadlines.map((deadline, idx) => (
{new Date(deadline.date).toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric', })} {deadline.isFirm && ( verbindlich )}

{deadline.description}

Konfidenz: {Math.round(deadline.confidence * 100)}%

))}
)} {/* Quick Actions */}

Schnellaktionen

) : (

Diese E-Mail wurde noch nicht analysiert.

)}
) }