fix: soften award notification email tone from "selected" to "under consideration"
All checks were successful
Build and Push Docker Image / build (push) Successful in 8m32s

The email was implying projects had won the award. Updated banner, subject,
and body copy to clarify they are being considered, not awarded.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-04 00:04:28 +01:00
parent daf50831f1
commit 84d90e1978
3 changed files with 14 additions and 11 deletions

View File

@@ -718,7 +718,7 @@ export default function AwardDetailPage({
open={notifyDialogOpen} open={notifyDialogOpen}
onOpenChange={setNotifyDialogOpen} onOpenChange={setNotifyDialogOpen}
title="Notify Eligible Projects" title="Notify Eligible Projects"
description={`Send "Selected for ${award.name}" emails to all ${award.eligibleCount} eligible projects.`} description={`Send "Under consideration for ${award.name}" emails to all ${award.eligibleCount} eligible projects.`}
recipientCount={notifyPreview.data?.recipientCount ?? 0} recipientCount={notifyPreview.data?.recipientCount ?? 0}
previewHtml={notifyPreview.data?.html} previewHtml={notifyPreview.data?.html}
isPreviewLoading={notifyPreview.isLoading} isPreviewLoading={notifyPreview.isLoading}

View File

@@ -1808,7 +1808,7 @@ Together for a healthier ocean.
} }
/** /**
* Generate "Selected for Special Award" notification email template * Generate "Under Consideration for Special Award" notification email template
*/ */
export function getAwardSelectionNotificationTemplate( export function getAwardSelectionNotificationTemplate(
name: string, name: string,
@@ -1819,12 +1819,12 @@ export function getAwardSelectionNotificationTemplate(
): EmailTemplate { ): EmailTemplate {
const greeting = name ? `Dear ${name},` : 'Dear Applicant,' const greeting = name ? `Dear ${name},` : 'Dear Applicant,'
const celebrationBanner = ` const announcementBanner = `
<table role="presentation" width="100%" cellspacing="0" cellpadding="0" border="0" style="margin: 20px 0;"> <table role="presentation" width="100%" cellspacing="0" cellpadding="0" border="0" style="margin: 20px 0;">
<tr> <tr>
<td style="background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%); border-radius: 12px; padding: 24px; text-align: center;"> <td style="background: linear-gradient(135deg, ${BRAND.darkBlue} 0%, ${BRAND.teal} 100%); border-radius: 12px; padding: 24px; text-align: center;">
<p style="color: #ffffff; margin: 0 0 8px 0; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px;">Congratulations</p> <p style="color: #ffffff; margin: 0 0 8px 0; font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px;">Special Award Consideration</p>
<h2 style="color: #ffffff; margin: 0; font-size: 24px; font-weight: 700;">Your project has been selected!</h2> <h2 style="color: #ffffff; margin: 0; font-size: 24px; font-weight: 700;">Your project is under consideration</h2>
</td> </td>
</tr> </tr>
</table> </table>
@@ -1840,8 +1840,9 @@ export function getAwardSelectionNotificationTemplate(
const content = ` const content = `
${sectionTitle(greeting)} ${sectionTitle(greeting)}
${celebrationBanner} ${announcementBanner}
${infoBox(`<strong>"${projectName}"</strong> has been selected for the <strong>${awardName}</strong>`, 'success')} ${infoBox(`<strong>"${projectName}"</strong> has been shortlisted for consideration for the <strong>${awardName}</strong>.`, 'info')}
${paragraph('This means your project has caught the attention of our selection committee and is being evaluated for this special recognition. Please note that this is not a final award — further review and evaluation steps may follow.')}
${ ${
escapedMessage escapedMessage
? `<div style="background-color: #f5f5f5; border-radius: 8px; padding: 20px; margin: 20px 0; color: ${BRAND.textDark}; font-size: 15px; line-height: 1.7;">${escapedMessage}</div>` ? `<div style="background-color: #f5f5f5; border-radius: 8px; padding: 20px; margin: 20px 0; color: ${BRAND.textDark}; font-size: 15px; line-height: 1.7;">${escapedMessage}</div>`
@@ -1853,16 +1854,18 @@ export function getAwardSelectionNotificationTemplate(
` `
return { return {
subject: `Your project has been selected for ${awardName}: "${projectName}"`, subject: `Your project is under consideration for ${awardName}: "${projectName}"`,
html: getEmailWrapper(content), html: getEmailWrapper(content),
text: ` text: `
${greeting} ${greeting}
Your project has been selected! Your project is under consideration for a special award.
Project: ${projectName} Project: ${projectName}
Award: ${awardName} Award: ${awardName}
Your project has been shortlisted for consideration for the ${awardName}. This means your project has caught the attention of our selection committee and is being evaluated for this special recognition. Please note that this is not a final award — further review and evaluation steps may follow.
${customMessage || 'Our team will be in touch with more details about this award and next steps.'} ${customMessage || 'Our team will be in touch with more details about this award and next steps.'}
${accountUrl ${accountUrl

View File

@@ -1347,7 +1347,7 @@ export const specialAwardRouter = router({
recipient.name || '', recipient.name || '',
'AWARD_SELECTION_NOTIFICATION', 'AWARD_SELECTION_NOTIFICATION',
{ {
title: `Selected for ${award.name}`, title: `Under consideration for ${award.name}`,
message: input.customMessage || '', message: input.customMessage || '',
metadata: { metadata: {
projectName: e.project.title, projectName: e.project.title,