🌐 Make discount value a parameter (#1557)

This commit is contained in:
Luke Vella 2025-02-12 11:42:39 +07:00 committed by GitHub
parent 8ff805829f
commit 17d386d905
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 16 additions and 6 deletions

View file

@ -266,6 +266,8 @@ export async function POST(request: NextRequest) {
},
props: {
name: session.customer_details?.name ?? undefined,
discount: 20,
couponCode: "GETPRO1Y20",
recoveryUrl,
},
},

View file

@ -60,7 +60,7 @@
"abandoned_checkout_offer": "To help you get started, you can get <b>{{discount}}% off</b> your first year. Just use the code below when you check out:",
"abandoned_checkout_button": "Upgrade to Rallly Pro",
"abandoned_checkout_support": "If you have any questions about Rallly Pro or need help with anything at all, just reply to this email. I'm here to help!",
"abandoned_checkout_preview": "Exclusive offer: Get 20% off your first year of Rallly Pro!",
"abandoned_checkout_subject": "Get 20% off your first year of Rallly Pro",
"abandoned_checkout_preview": "Exclusive offer: Get {{discount}}% off your first year of Rallly Pro!",
"abandoned_checkout_subject": "Get {{discount}}% off your first year of Rallly Pro",
"abandoned_checkout_signoff": "Best regards,"
}

View file

@ -5,6 +5,8 @@ export default function AbandonedCheckoutEmailPreview() {
return (
<AbandonedCheckoutEmail
ctx={previewEmailContext}
discount={20}
couponCode="GETPRO1Y20"
recoveryUrl="https://example.com"
name="John Doe"
/>

View file

@ -7,12 +7,16 @@ import type { EmailContext } from "../types";
interface AbandonedCheckoutEmailProps {
recoveryUrl: string;
discount: number;
couponCode: string;
name?: string;
ctx: EmailContext;
}
export const AbandonedCheckoutEmail = ({
recoveryUrl,
discount,
couponCode,
name,
ctx,
}: AbandonedCheckoutEmailProps) => {
@ -22,7 +26,8 @@ export const AbandonedCheckoutEmail = ({
poweredBy={false}
preview={ctx.t("abandoned_checkout_preview", {
defaultValue:
"Exclusive offer: Get 20% off your first year of Rallly Pro!",
"Exclusive offer: Get {{discount}}% off your first year of Rallly Pro!",
discount,
ns: "emails",
})}
>
@ -68,7 +73,7 @@ export const AbandonedCheckoutEmail = ({
defaults="To help you get started, I'd like to offer you <b>{{discount}}% off your first year</b> with Rallly Pro. Simply use this code during checkout:"
ns="emails"
values={{
discount: 20,
discount,
}}
components={{
b: <b />,
@ -84,7 +89,7 @@ export const AbandonedCheckoutEmail = ({
fontWeight: "bold",
}}
>
GETPRO1Y20
{couponCode}
</Text>
</Card>
<Button href={recoveryUrl} id="recoveryUrl">
@ -131,7 +136,8 @@ AbandonedCheckoutEmail.getSubject = (
return (
"🎉 " +
ctx.t("abandoned_checkout_subject", {
defaultValue: "Get 20% off your first year of Rallly Pro",
defaultValue: "Get {{discount}}% off your first year of Rallly Pro",
discount: props.discount,
ns: "emails",
})
);