initial commit. gotta go

This commit is contained in:
2025-09-26 14:30:57 -05:00
parent b342335502
commit eb0b35bb7f
299 changed files with 6902 additions and 6741 deletions

View File

@@ -1,29 +1,26 @@
import { z } from "zod";
import { z } from 'zod';
export const WAITLIST_EMAIL_TYPES = [
"transactional",
"marketing",
] as const;
export const WAITLIST_EMAIL_TYPES = ['transactional', 'marketing'] as const;
export const waitlistSubmissionSchema = z.object({
domain: z
.string({ required_error: "Domain is required" })
.string({ required_error: 'Domain is required' })
.trim()
.min(1, "Domain is required")
.max(255, "Domain must be 255 characters or fewer"),
.min(1, 'Domain is required')
.max(255, 'Domain must be 255 characters or fewer'),
emailTypes: z
.array(z.enum(WAITLIST_EMAIL_TYPES))
.min(1, "Select at least one email type"),
.min(1, 'Select at least one email type'),
emailVolume: z
.string({ required_error: "Share your expected volume" })
.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"),
.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" })
.string({ required_error: 'Provide a short description' })
.trim()
.min(10, "Please share a bit more detail")
.max(2000, "Description must be under 2000 characters"),
.min(10, 'Please share a bit more detail')
.max(2000, 'Description must be under 2000 characters'),
});
export type WaitlistSubmissionInput = z.infer<typeof waitlistSubmissionSchema>;