import { escapeHtml, paragraph, renderButton, renderEmailShell } from "./layout"; export function newConversationAdminEmail(args: { name: string; email: string; subject: string; body: string; adminUrl: string; threadKey: string; }): { subject: string; html: string } { return { subject: `Neue Anfrage: ${args.subject} [ANOUMA-${args.threadKey}]`, html: renderEmailShell({ bodyHtml: [ paragraph("Eine neue Anfrage ist eingegangen.", { italic: true }), `

${escapeHtml(args.name)} · ${escapeHtml(args.email)}
${escapeHtml(args.subject)}

`, `
${escapeHtml(args.body)}
`, renderButton("Anfrage im CMS öffnen", args.adminUrl), ].join("\n"), }), }; } export function conversationReplyEmail(args: { name: string; subject: string; body: string; senderName: string; threadKey: string; }): { subject: string; html: string } { return { subject: `Re: ${args.subject} [ANOUMA-${args.threadKey}]`, html: renderEmailShell({ bodyHtml: [ paragraph(`Hallo ${args.name},`), paragraph(`${args.senderName} hat auf deine Anfrage geantwortet.`, { italic: true }), `
${escapeHtml(args.body)}
`, paragraph("Du kannst einfach auf diese E-Mail antworten. Deine Antwort wird automatisch derselben Anfrage zugeordnet.", { small: true }), ].join("\n"), }), }; } export function groupRegistrationEmail(args: { name: string; offerTitle: string; status: "received" | "admin"; adminUrl?: string; }): { subject: string; html: string } { const isAdminMail = args.status === "admin"; return { subject: isAdminMail ? `Neue Gruppenanmeldung: ${args.offerTitle}` : `Deine Anmeldung bei ANOUMA: ${args.offerTitle}`, html: renderEmailShell({ bodyHtml: [ paragraph(isAdminMail ? "Eine neue Gruppenanmeldung ist eingegangen." : `Hallo ${args.name},`), paragraph(isAdminMail ? `${args.name} hat sich für „${args.offerTitle}“ angemeldet.` : `Deine Anmeldung für „${args.offerTitle}“ wurde übermittelt. Anna meldet sich, sobald sie sie geprüft hat.`, { italic: true }), ...(isAdminMail && args.adminUrl ? [renderButton("Anmeldung im CMS öffnen", args.adminUrl)] : []), ].join("\n"), }), }; }