diff --git a/apps/mana/apps/web/src/lib/modules/broadcast/index.ts b/apps/mana/apps/web/src/lib/modules/broadcast/index.ts index 0804cba47..9a511460f 100644 --- a/apps/mana/apps/web/src/lib/modules/broadcast/index.ts +++ b/apps/mana/apps/web/src/lib/modules/broadcast/index.ts @@ -26,6 +26,9 @@ export { export { broadcastCampaignsStore } from './stores/campaigns.svelte'; export { broadcastSettingsStore, ensureSettings } from './stores/settings.svelte'; +export { renderEmailHtml } from './render/email-html'; +export { renderPlainText } from './render/plain-text'; + export { STATUS_LABELS, STATUS_COLORS, diff --git a/apps/mana/apps/web/src/lib/modules/broadcast/preview/EmailPreview.svelte b/apps/mana/apps/web/src/lib/modules/broadcast/preview/EmailPreview.svelte new file mode 100644 index 000000000..a43046916 --- /dev/null +++ b/apps/mana/apps/web/src/lib/modules/broadcast/preview/EmailPreview.svelte @@ -0,0 +1,98 @@ + + + +
{plainText}
+
+ Der Text wird als text/plain zusätzlich zur HTML-Version verschickt — wichtig für
+ Spam-Filter und Clients, die kein HTML anzeigen.
+
Hallo
', + campaign, + settings, + }); + expect(html.toLowerCase()).toContain(''); + expect(html).toContain(''); + }); + + it('includes the subject as the document title', () => { + const html = renderEmailHtml({ + tiptapHtml: 'body
', + campaign, + settings, + }); + expect(html).toContain('body
', + campaign: { ...campaign, subject: 'Alert ' }, + settings, + }); + expect(html).not.toContain('