26 lines
749 B
TypeScript
26 lines
749 B
TypeScript
import { z } from "zod";
|
|
|
|
export const contactRequestTypeLabels = {
|
|
GENERAL: "Allgemeine Frage",
|
|
DEMO: "Demo anfragen",
|
|
SETUP: "Individuelles Setup",
|
|
} as const;
|
|
|
|
export const contactRequestSchema = z.object({
|
|
name: z.string().trim().min(2, "Bitte gib deinen Namen ein.").max(120),
|
|
kitaName: z.string().trim().max(160).optional(),
|
|
email: z.string().trim().email("Bitte gib eine gültige E-Mail-Adresse ein."),
|
|
requestType: z.enum(["GENERAL", "DEMO", "SETUP"]),
|
|
message: z
|
|
.string()
|
|
.trim()
|
|
.min(10, "Bitte schreib uns kurz, worum es geht.")
|
|
.max(5000),
|
|
});
|
|
|
|
export type ContactRequestInput = z.infer<typeof contactRequestSchema>;
|
|
|
|
export type ContactSubmissionPayload = ContactRequestInput & {
|
|
website?: string;
|
|
};
|