'use client' import type { ApiEmailTemplate, EmailTemplateData } from '../_types' import { emailTemplates, emailCategories } from '../_data' import { ApiTemplateEditor } from './ApiTemplateEditor' export function EmailsTab({ apiEmailTemplates, templatesLoading, savingTemplateId, savedTemplates, setShowCreateTemplateModal, saveApiEmailTemplate, setPreviewTemplate, setEditingTemplate, }: { apiEmailTemplates: ApiEmailTemplate[] templatesLoading: boolean savingTemplateId: string | null savedTemplates: Record setShowCreateTemplateModal: (v: boolean) => void saveApiEmailTemplate: (t: { id: string; subject: string; body: string }) => void setPreviewTemplate: (t: EmailTemplateData | null) => void setEditingTemplate: (t: EmailTemplateData | null) => void }) { return (

E-Mail Vorlagen

{apiEmailTemplates.length > 0 ? `${apiEmailTemplates.length} DSGVO-Vorlagen aus der Datenbank` : '16 Lifecycle-Vorlagen fuer automatisierte Kommunikation'}

{/* API-backed templates section */} {templatesLoading ? (
Lade Vorlagen aus der Datenbank...
) : apiEmailTemplates.length > 0 ? (

DSGVO-Pflichtvorlagen

{apiEmailTemplates.map((template) => ( saveApiEmailTemplate({ id: template.id, subject, body })} onPreview={(subject, body) => setPreviewTemplate({ key: template.template_key, subject, body })} /> ))}
) : null} {/* Category Filter for static templates */} {apiEmailTemplates.length === 0 && ( <>
Filter: {emailCategories.map((cat) => ( {cat.label} ))}
{/* Templates grouped by category (fallback when no API data) */} {emailCategories.map((category) => (

{category.label}

{emailTemplates .filter((t) => t.category === category.key) .map((template) => (

{template.name}

{template.description}

{savedTemplates[template.key] ? 'Angepasst' : 'Aktiv'}
))}
))} )}
) }