From 9159b2ce89f6e684e681d8ce3a400837d048dee7 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Thu, 6 Nov 2025 14:15:45 +0000 Subject: [PATCH] Fix submission flow for street address Update submission and moderation pipeline to correctly handle `street_address`. This includes: - Adding `street_address` to the Zod schema in `ParkForm.tsx`. - Ensuring `street_address` is included in `tempLocationData` for park and composite park creations in `entitySubmissionHelpers.ts`. - Preserving `street_address` when editing submissions in `submissionItemsService.ts`. - Saving `street_address` when new locations are created during submission approval in `submissionItemsService.ts`. --- src/components/admin/ParkForm.tsx | 1 + src/lib/entitySubmissionHelpers.ts | 3 +++ src/lib/submissionItemsService.ts | 2 ++ 3 files changed, 6 insertions(+) diff --git a/src/components/admin/ParkForm.tsx b/src/components/admin/ParkForm.tsx index 3590a5de..3b1c6eb0 100644 --- a/src/components/admin/ParkForm.tsx +++ b/src/components/admin/ParkForm.tsx @@ -43,6 +43,7 @@ const parkSchema = z.object({ closing_date_precision: z.enum(['day', 'month', 'year']).optional(), location: z.object({ name: z.string(), + street_address: z.string().optional(), city: z.string().optional(), state_province: z.string().optional(), country: z.string(), diff --git a/src/lib/entitySubmissionHelpers.ts b/src/lib/entitySubmissionHelpers.ts index 8519a3df..c815903c 100644 --- a/src/lib/entitySubmissionHelpers.ts +++ b/src/lib/entitySubmissionHelpers.ts @@ -101,6 +101,7 @@ export interface ParkFormData { // Location can be stored as object for new submissions or ID for editing location?: { name: string; + street_address?: string; city?: string; state_province?: string; country: string; @@ -351,6 +352,7 @@ async function submitCompositeCreation( if (uploadedPrimary.type === 'park' && uploadedPrimary.data.location) { primaryData.temp_location_data = { name: uploadedPrimary.data.location.name, + street_address: uploadedPrimary.data.location.street_address || null, city: uploadedPrimary.data.location.city || null, state_province: uploadedPrimary.data.location.state_province || null, country: uploadedPrimary.data.location.country, @@ -694,6 +696,7 @@ export async function submitParkCreation( // Insert into relational park_submissions table const tempLocationData = data.location ? { name: data.location.name, + street_address: data.location.street_address || null, city: data.location.city || null, state_province: data.location.state_province || null, country: data.location.country, diff --git a/src/lib/submissionItemsService.ts b/src/lib/submissionItemsService.ts index 6191a959..f7675241 100644 --- a/src/lib/submissionItemsService.ts +++ b/src/lib/submissionItemsService.ts @@ -712,6 +712,7 @@ async function resolveLocationId(locationData: any): Promise { .from('locations') .insert({ name: locationData.name, + street_address: locationData.street_address || null, city: locationData.city || null, state_province: locationData.state_province || null, country: locationData.country, @@ -1477,6 +1478,7 @@ export async function editSubmissionItem( if (newData.location) { updateData.temp_location_data = { name: newData.location.name, + street_address: newData.location.street_address || null, city: newData.location.city || null, state_province: newData.location.state_province || null, country: newData.location.country,