Fix missing back-in-stock email Live Preview (404)

'back-in-stock' was added to the Payload-side email-templates type
but never wired into this repo's own EmailTemplateType union or the
Live Preview page's VALID_TYPES/fallback-heading maps — every other
type is registered in three places, this one was only in one, so
opening its Live Preview 404'd.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Marco
2026-08-01 19:57:47 +00:00
parent d046e5c3bb
commit c6b12e9d60
3 changed files with 13 additions and 1 deletions
+10
View File
@@ -20,6 +20,7 @@ const VALID_TYPES: EmailTemplateType[] = [
"order-tracking-corrected",
"order-delivered",
"payment-method-switched",
"back-in-stock",
];
const STATUS_TYPE_FALLBACK_HEADING: Record<string, string> = {
@@ -31,6 +32,7 @@ const STATUS_TYPE_FALLBACK_HEADING: Record<string, string> = {
"order-tracking-corrected": "Korrigierte Sendungsnummer",
"order-delivered": "Dein Paket ist angekommen",
"payment-method-switched": "Erledigt!",
"back-in-stock": "Wieder da!",
};
// Entered exclusively via EmailTemplates.ts's admin.livePreview.url (a
@@ -39,6 +41,14 @@ const STATUS_TYPE_FALLBACK_HEADING: Record<string, string> = {
// draft:true so an unsaved edit in the admin shows up here immediately;
// the actual sent email (orderEmail.ts) always reads the published version
// instead.
//
// "back-in-stock" shares the generic order-status renderer below like
// every other status type — an approximation, not pixel-identical (its
// real send, lib/jobs/sendBackInStockEmails.ts on the Payload side, has no
// order number/link at all, just a product name + "Jetzt ansehen" button),
// same established gap as password-reset's own. Good enough to edit
// subject/heading/bodyText/footerText live, which is what this page is
// actually for.
export default async function EmailPreviewPage({ params }: { params: Promise<{ type: string }> }) {
const { type } = await params;
if (!VALID_TYPES.includes(type as EmailTemplateType)) notFound();
+1
View File
@@ -336,6 +336,7 @@ export const ORDER_STATUS_EMAIL_ICON: Record<string, string> = {
"order-tracking-corrected": "📦",
"order-delivered": "🎉",
"payment-method-switched": "💳",
"back-in-stock": "🔔",
};
export function renderOrderStatusHtml(
+2 -1
View File
@@ -897,7 +897,8 @@ export type EmailTemplateType =
| "order-tracking-added"
| "order-tracking-corrected"
| "order-delivered"
| "payment-method-switched";
| "payment-method-switched"
| "back-in-stock";
type PayloadEmailTemplate = {
type: EmailTemplateType;