export type ReminderEmailData = { recipientName: string; eventTitle: string; dateLabel: string; timeLabel: string; joinUrl: string; meetingPassword: string; minutesBefore: number; }; const colors = { mauveDark: "#8b616d", plum: "#66505f", cream: "#f2e2d6", creamLight: "#fbf6f1", }; /** Table-based HTML email (inline styles only) matching the ANOUMA design. */ export function renderReminderEmailHtml(data: ReminderEmailData): string { const { recipientName, eventTitle, dateLabel, timeLabel, joinUrl, meetingPassword, minutesBefore } = data; return `
ANOUMA

Hallo ${escapeHtml(recipientName)},

Dein Online-Termin bei ANOUMA beginnt in ${minutesBefore} Minuten.

Termin:
${escapeHtml(eventTitle)}

Datum:
${escapeHtml(dateLabel)}

Uhrzeit:
${escapeHtml(timeLabel)} Uhr

Meeting betreten

Meeting-Passwort:

${escapeHtml(meetingPassword)}

Bitte halte dein Passwort bereit. Beim Betreten des Meetings wirst du außerdem nach deinem Namen gefragt.

Räume für Verbindung — mit dir selbst, miteinander und mit der Natur.
`; } export function renderReminderEmailText(data: ReminderEmailData): string { const { recipientName, eventTitle, dateLabel, timeLabel, joinUrl, meetingPassword, minutesBefore } = data; return [ `Hallo ${recipientName},`, "", `Dein Online-Termin bei ANOUMA beginnt in ${minutesBefore} Minuten.`, "", `Termin: ${eventTitle}`, `Datum: ${dateLabel}`, `Uhrzeit: ${timeLabel} Uhr`, "", `Meeting betreten: ${joinUrl}`, `Meeting-Passwort: ${meetingPassword}`, "", "Bitte halte dein Passwort bereit. Beim Betreten des Meetings wirst du außerdem nach deinem Namen gefragt.", ].join("\n"); } function escapeHtml(value: string): string { return value .replace(/&/g, "&") .replace(//g, ">") .replace(/"/g, """); }