From 62a15ef811c12960c91c1c7a45f50f1258413722 Mon Sep 17 00:00:00 2001 From: KM Koushik Date: Fri, 19 Sep 2025 07:26:38 +1000 Subject: [PATCH] add waitlist confirmation (#239) --- apps/web/src/app/wait-list/schema.ts | 5 ++ apps/web/src/app/wait-list/waitlist-form.tsx | 20 +++++ apps/web/src/server/api/routers/admin.ts | 89 ++++++++++++++++++-- apps/web/src/server/api/routers/waitlist.ts | 6 +- apps/web/src/server/mailer.ts | 24 ++++-- 5 files changed, 127 insertions(+), 17 deletions(-) diff --git a/apps/web/src/app/wait-list/schema.ts b/apps/web/src/app/wait-list/schema.ts index a22b941..c4a7294 100644 --- a/apps/web/src/app/wait-list/schema.ts +++ b/apps/web/src/app/wait-list/schema.ts @@ -14,6 +14,11 @@ export const waitlistSubmissionSchema = z.object({ emailTypes: z .array(z.enum(WAITLIST_EMAIL_TYPES)) .min(1, "Select at least one email type"), + emailVolume: z + .string({ required_error: "Share your expected volume" }) + .trim() + .min(1, "Tell us how many emails you expect to send") + .max(500, "Keep the volume details under 500 characters"), description: z .string({ required_error: "Provide a short description" }) .trim() diff --git a/apps/web/src/app/wait-list/waitlist-form.tsx b/apps/web/src/app/wait-list/waitlist-form.tsx index ba065d0..bfe5038 100644 --- a/apps/web/src/app/wait-list/waitlist-form.tsx +++ b/apps/web/src/app/wait-list/waitlist-form.tsx @@ -40,6 +40,7 @@ export function WaitListForm({ userEmail }: WaitListFormProps) { defaultValues: { domain: "", emailTypes: [], + emailVolume: "", description: "", }, }); @@ -146,6 +147,25 @@ export function WaitListForm({ userEmail }: WaitListFormProps) { }} /> + ( + + How many emails will you send? + +