fix(worker): restore original Ravis de vous revoir email template #9

Merged
serge merged 1 commits from fix/welcome-back-restore-original-template into main 2026-05-07 17:07:37 +03:00
Showing only changes of commit 210f4057ee - Show all commits

View File

@ -564,74 +564,87 @@ async function sendWelcomeViaResend(env, contact) {
} }
// Email "Ravis de vous revoir" pour les clients déjà inscrits qui retentent // Email "Ravis de vous revoir" pour les clients déjà inscrits qui retentent
// le formulaire de contact. Rappelle le numéro de référence existant et // le formulaire de contact. Reprend EXACTEMENT le template original (= avant
// précise que le contact n'est pas re-créé (= anti-doublon HubSpot). // migration EmailJS \xe2\x86\x92 Resend) car son contenu est strat\xc3\xa9gique \xe2\x80\x94 rappel
// Idempotent côté HubSpot (= zéro write). Footer 2026 cohérent avec les // adresse Paris + warning anti-modification + r\xe9f\xe9rence client. Seules
// autres emails Resend. // modifications : footer (c) 2025 \xe2\x86\x92 \xc2\xa9 2026, suppression du tag
// "Email sent via EmailJS.com" (obsol\xe8te depuis Resend), URL logo
// pointe vers le nouveau domaine, et adresse Paris injecte la ref via
// le placeholder {{ref}} de PARIS_DEPOT_ADDRESS.
//
// Idempotent c\xf4t\xe9 HubSpot (= z\xe9ro write).
async function sendWelcomeBackViaResend(env, contact) { async function sendWelcomeBackViaResend(env, contact) {
const siteUrl = env.SITE_URL || 'https://mva-globalfret.com'; const siteUrl = env.SITE_URL || 'https://mva-globalfret.com';
const logoUrl = `${siteUrl}/PNG%20MVA%20GLOBAL%20FRET.png`; const logoUrl = `${siteUrl}/PNG%20MVA%20GLOBAL%20FRET.png`;
const firstname = escapeHtml(contact.firstname || ''); const firstnameRaw = contact.firstname || '';
const ref = escapeHtml(contact.reference_client || ''); const firstname = escapeHtml(firstnameRaw);
const refBlock = ref const refRaw = contact.reference_client || '';
? `<div style="margin:24px 0;padding:18px 24px;background:#1a1a3e;border:2px solid #c5a55a;border-radius:10px;text-align:center;"> const ref = escapeHtml(refRaw);
<div style="color:#c5a55a;font-size:11px;font-weight:700;letter-spacing:1.5px;margin-bottom:6px;">VOTRE NUMÉRO DE RÉFÉRENCE EXISTANT</div>
<div style="color:#fff;font-size:28px;font-weight:700;letter-spacing:3px;">${ref}</div>
</div>`
: '';
const html = `<!DOCTYPE html> // Construction adresse Paris (= m\xeame logique que sendWelcomeViaResend) :
<html lang="fr"> // injecte la ref client soit via placeholder {{ref}}, soit en l'ajoutant
<body style="margin:0;padding:0;font-family:Arial,sans-serif;background:#f5f5f5;"> // entre parenth\xe8ses sur la 1\xe8re ligne (= pattern original "VASTA Mélissa (MVA-XXX)").
<div style="max-width:600px;margin:0 auto;background:#fff;"> let parisAddrRaw = env.PARIS_DEPOT_ADDRESS || '';
<div style="background:#1a1a3e;padding:24px 30px;"> if (parisAddrRaw.includes('{{ref}}')) {
<table role="presentation" cellspacing="0" cellpadding="0" border="0" style="width:100%;border-collapse:collapse;"> parisAddrRaw = parisAddrRaw.replace(/\{\{ref\}\}/g, refRaw);
<tr> } else if (refRaw && parisAddrRaw) {
<td style="width:80px;vertical-align:middle;"> const lines = parisAddrRaw.split('\n');
<img src="${logoUrl}" alt="MVA Global Fret" style="display:block;width:70px;height:auto;border:0;"> lines[0] = `${lines[0]} (${refRaw})`;
</td> parisAddrRaw = lines.join('\n');
<td style="vertical-align:middle;text-align:center;padding-right:80px;"> }
<div style="color:#c5a55a;font-size:24px;font-weight:700;letter-spacing:2px;">MVA GLOBAL FRET</div> // 1\xe8re ligne en gras (= match original `<strong>VASTA Melissa (MVA-XXX)</strong>`)
<div style="color:#fff;font-size:13px;margin-top:6px;">Fret Aérien Paris Antananarivo</div> const addrLines = escapeHtml(parisAddrRaw).split('\n');
</td> const parisAddrHtml = addrLines.length > 1
</tr> ? `<strong>${addrLines[0]}</strong><br>${addrLines.slice(1).join('<br>')}`
</table> : escapeHtml(parisAddrRaw);
const greetingTitle = firstnameRaw
? `Ravis de vous revoir, ${firstname} !`
: 'Ravis de vous revoir !';
const html = `<html lang=""><body><div style="font-family:Arial,sans-serif;font-size:16px;background-color:#f5f5f5;padding:20px">
<div style="max-width:600px;margin:auto;background-color:#ffffff;border-radius:8px;overflow:hidden">
<div style="background-color:#1a1a3e;padding:30px 40px;text-align:center">
<table width="100%" cellpadding="0" cellspacing="0" role="presentation"><tr><td width="145" style="padding:15px 0 15px 20px;vertical-align:middle"><img src="${logoUrl}" width="130" height="130" alt="MVA" style="display:block;"></td><td style="text-align:center;padding:15px 75px 15px 0;vertical-align:middle"><div style="color:#c5a55a;font-size:22px;font-weight:700;letter-spacing:2px;font-family:Arial,sans-serif">MVA GLOBAL FRET</div><div style="color:#ffffff;font-size:12px;margin-top:4px;font-family:Arial,sans-serif">Fret Aerien Paris - Antananarivo</div></td></tr></table>
</div> </div>
<div style="padding:40px;"> <div style="padding:40px">
<p style="font-size:18px;color:#1a1a3e;font-weight:bold;">Bonjour ${firstname || 'cher client'},</p> <p style="color:#1a1a3e;font-size:22px;font-weight:bold;margin-top:0">${greetingTitle}</p>
<p style="color:#333;line-height:1.6;"> <p style="color:#333333">Nous avons bien recu votre nouvelle tentative d&#39;inscription. Pas d&#39;inquietude : vous etes <strong>deja client</strong> chez MVA Global Fret !</p>
Votre adresse email est <strong>déjà enregistrée</strong> chez MVA Global Fret. <p style="color:#333333">Voici un rappel de votre numero de reference client :</p>
Pas besoin de vous -inscrire votre compte est actif. <div style="background-color:#f0ead8;border-left:4px solid #c5a55a;padding:16px 20px;margin:24px 0;border-radius:4px;text-align:center">
</p> <p style="margin:0;color:#1a1a3e;font-size:14px;letter-spacing:1px">VOTRE NUMERO DE REFERENCE CLIENT</p>
${refBlock} <p style="margin:8px 0 0 0;color:#1a1a3e;font-size:28px;font-weight:bold;letter-spacing:2px">${ref}</p>
<p style="color:#333;line-height:1.6;"> <p style="margin:6px 0 0 0;color:#666666;font-size:12px">Conservez ce numero precieusement.</p>
Utilisez ce numéro pour étiqueter vos colis et les rendre traçables tout au long du transport Paris Antananarivo. </div>
</p> <p style="color:#333333;margin-top:28px"><strong>L&#39;adresse a Paris pour l&#39;envoi de vos colis est :</strong></p>
<p style="color:#333;line-height:1.6;"> <div style="background-color:#f9f9f9;border:1px solid #dddddd;padding:20px 24px;border-radius:6px;margin:12px 0 24px 0;font-family:monospace;font-size:15px;line-height:1.8;color:#1a1a3e">
Pour toute question, n'hésitez pas à nous contacter : ${parisAddrHtml}
</p> </div>
<ul style="color:#333;line-height:1.8;padding-left:18px;"> <div style="background-color:#fff3cd;border:1px solid #ffc107;padding:16px 20px;border-radius:6px;margin:24px 0">
<li><a href="mailto:mvaglobalfret@gmail.com" style="color:#c5a55a;text-decoration:none;">mvaglobalfret@gmail.com</a></li> <p style="margin:0;color:#856404;font-size:14px"><strong>IMPORTANT :</strong> Cette adresse ne doit etre changee sous aucun pretexte. Toute modification empecherait la bonne transmission de votre colis a notre depot a Paris.</p>
<li><a href="tel:+33780970825" style="color:#c5a55a;text-decoration:none;">+33 7 80 97 08 25</a> (France)</li> </div>
<li><a href="tel:+261384973751" style="color:#c5a55a;text-decoration:none;">+261 38 49 737 51</a> (Madagascar)</li> <p style="color:#333333">Pour toute question, n&#39;hesitez pas a nous contacter :</p>
<ul style="color:#333333;line-height:2">
<li><a href="mailto:mvaglobalfret@gmail.com" style="color:#c5a55a">mvaglobalfret@gmail.com</a></li>
<li><a href="tel:+33780970825" style="color:#c5a55a">+33 7 80 97 08 25</a> (France)</li>
<li><a href="tel:+261384973751" style="color:#c5a55a">+261 38 49 737 51</a> (Madagascar)</li>
</ul> </ul>
<p style="color:#666;font-size:13px;line-height:1.6;border-top:1px solid #eee;padding-top:18px;margin-top:30px;"> <p style="color:#333333;margin-top:32px">A tres bientot pour votre prochain envoi,<br><strong>L&#39;equipe MVA Global Fret</strong></p>
À très bientôt pour votre prochain envoi,<br>
<strong>L'équipe MVA Global Fret</strong>
</p>
</div> </div>
<div style="background:#1a1a3e;padding:18px;text-align:center;color:#c5a55a;font-size:12px;"> <div style="background-color:#1a1a3e;color:rgba(255,255,255,0.6);padding:16px;text-align:center;font-size:12px">
© 2026 MVA Global Fret Antananarivo 101, Madagascar (c) 2026 MVA Global Fret - Antananarivo 101, Madagascar
</div> </div>
</div> </div>
</body> </div></body></html>`;
</html>`;
// Subject : reprend strictement le sujet original "Ravis de vous revoir, [firstname] !"
// (= en cas de firstname vide, fallback sans virgule).
const subjectFirstname = firstnameRaw.replace(/[\r\n]/g, '').trim();
return resendSend(env, { return resendSend(env, {
to: contact.email, to: contact.email,
subject: ref subject: subjectFirstname
? `Vous êtes déjà inscrit chez MVA Global Fret — Référence ${contact.reference_client}` ? `Ravis de vous revoir, ${subjectFirstname} !`
: 'Vous êtes déjà inscrit chez MVA Global Fret', : 'Ravis de vous revoir !',
html, html,
}); });
} }