feat(registration): add birthdate & postcode

This commit is contained in:
2026-03-19 10:15:45 +01:00
parent 19d784b2e5
commit f113770348
11 changed files with 1660 additions and 5 deletions

View File

@@ -262,6 +262,8 @@ const guestSchema = z.object({
lastName: z.string().min(1),
email: z.string().email().optional().or(z.literal("")),
phone: z.string().optional(),
birthdate: z.string().min(1),
postcode: z.string().min(1),
});
const coreRegistrationFields = {
@@ -269,6 +271,8 @@ const coreRegistrationFields = {
lastName: z.string().min(1),
email: z.string().email(),
phone: z.string().optional(),
birthdate: z.string().min(1),
postcode: z.string().min(1),
registrationType: registrationTypeSchema.default("watcher"),
artForm: z.string().optional(),
experience: z.string().optional(),
@@ -366,6 +370,8 @@ export const appRouter = {
lastName: input.lastName,
email: input.email,
phone: input.phone || null,
birthdate: input.birthdate,
postcode: input.postcode,
registrationType: input.registrationType,
artForm: isPerformer ? input.artForm || null : null,
experience: isPerformer ? input.experience || null : null,
@@ -463,6 +469,8 @@ export const appRouter = {
lastName: input.lastName,
email: input.email,
phone: input.phone || null,
birthdate: input.birthdate,
postcode: input.postcode,
registrationType: input.registrationType,
artForm: isPerformer ? input.artForm || null : null,
experience: isPerformer ? input.experience || null : null,
@@ -662,6 +670,8 @@ export const appRouter = {
"Last Name",
"Email",
"Phone",
"Birthdate",
"Postcode",
"Type",
"Art Form",
"Experience",
@@ -673,38 +683,56 @@ export const appRouter = {
"Guest 1 Last Name",
"Guest 1 Email",
"Guest 1 Phone",
"Guest 1 Birthdate",
"Guest 1 Postcode",
"Guest 2 First Name",
"Guest 2 Last Name",
"Guest 2 Email",
"Guest 2 Phone",
"Guest 2 Birthdate",
"Guest 2 Postcode",
"Guest 3 First Name",
"Guest 3 Last Name",
"Guest 3 Email",
"Guest 3 Phone",
"Guest 3 Birthdate",
"Guest 3 Postcode",
"Guest 4 First Name",
"Guest 4 Last Name",
"Guest 4 Email",
"Guest 4 Phone",
"Guest 4 Birthdate",
"Guest 4 Postcode",
"Guest 5 First Name",
"Guest 5 Last Name",
"Guest 5 Email",
"Guest 5 Phone",
"Guest 5 Birthdate",
"Guest 5 Postcode",
"Guest 6 First Name",
"Guest 6 Last Name",
"Guest 6 Email",
"Guest 6 Phone",
"Guest 6 Birthdate",
"Guest 6 Postcode",
"Guest 7 First Name",
"Guest 7 Last Name",
"Guest 7 Email",
"Guest 7 Phone",
"Guest 7 Birthdate",
"Guest 7 Postcode",
"Guest 8 First Name",
"Guest 8 Last Name",
"Guest 8 Email",
"Guest 8 Phone",
"Guest 8 Birthdate",
"Guest 8 Postcode",
"Guest 9 First Name",
"Guest 9 Last Name",
"Guest 9 Email",
"Guest 9 Phone",
"Guest 9 Birthdate",
"Guest 9 Postcode",
"Payment Status",
"Paid At",
"Extra Questions",
@@ -717,7 +745,7 @@ export const appRouter = {
const rows = data.map((r) => {
const guests = parseGuestsJson(r.guests);
// Build guest columns (up to 9 guests, 4 fields each)
// Build guest columns (up to 9 guests, 6 fields each)
const guestCols: string[] = [];
for (let i = 0; i < MAX_GUESTS; i++) {
const g = guests[i];
@@ -725,6 +753,8 @@ export const appRouter = {
guestCols.push(g?.lastName ?? "");
guestCols.push(g?.email ?? "");
guestCols.push(g?.phone ?? "");
guestCols.push((g as { birthdate?: string })?.birthdate ?? "");
guestCols.push((g as { postcode?: string })?.postcode ?? "");
}
return [
@@ -733,6 +763,8 @@ export const appRouter = {
r.lastName,
r.email,
r.phone || "",
r.birthdate || "",
r.postcode || "",
r.registrationType ?? "",
r.artForm || "",
r.experience || "",