import { associationSettings } from './siteSettings.js';
function esc(value) {
return String(value ?? '')
.replace(/&/g, '&')
.replace(//g, '>')
.replace(/"/g, '"');
}
function lines(value) {
return esc(value).replace(/\r?\n/g, '
');
}
function paragraphBlocks(value) {
return String(value ?? '')
.split(/\r?\n\s*\r?\n/)
.filter(Boolean)
.map((paragraph, index, all) => `
|
${lines(paragraph)}
|
`)
.join('');
}
function ctaButton(url, label) {
if (!url || !label) return '';
return `
`;
}
export function buildCustomEmail({ content, baseUrl, association = {} }) {
const settings = associationSettings(association);
const logoUrl = `${baseUrl}/assets/logo.jpg`;
const button = ctaButton(content.buttonUrl, content.buttonLabel);
const html = `
${esc(content.subject)}
}) |
${esc(settings.association_name)}
|
|
${content.kicker ? `` : ''}
${paragraphBlocks(content.body)}
|
${button ? `| ${button} | ` : ''}
${content.signature ? `| ${lines(content.signature)} | ` : '| | '}
${esc(settings.association_name)}${settings.association_address ? ` · ${lines(settings.association_address)}` : ''}
${settings.association_contact ? `${esc(settings.association_contact)} · ` : ''}${settings.association_email ? `${esc(settings.association_email)}` : ''}${settings.association_phone ? ` · ${esc(settings.association_phone)}` : ''}${settings.association_siret ? ` SIRET : ${esc(settings.association_siret)}` : ''}
|
|
`;
return { subject: content.subject, html };
}