diff --git a/src/components/moderation/ModerationQueue.tsx b/src/components/moderation/ModerationQueue.tsx index 4f3b3407..576695c0 100644 --- a/src/components/moderation/ModerationQueue.tsx +++ b/src/components/moderation/ModerationQueue.tsx @@ -169,11 +169,25 @@ export const ModerationQueue = forwardRef((props, ref) => { for (const submission of submissionsWithEntities) { if (submission.submission_type === 'photo' && submission.content && typeof submission.content === 'object') { const contentObj = submission.content as any; - const context = contentObj.context; - const rideId = contentObj.ride_id; - const parkId = contentObj.park_id; - if (context === 'ride' && rideId) { + // Handle both old format (context as object) and new format (context as string) + let contextType = null; + let rideId = null; + let parkId = null; + + if (typeof contentObj.context === 'object' && contentObj.context !== null) { + // OLD FORMAT: context is an object like {ride_id: "...", park_id: "..."} + rideId = contentObj.context.ride_id; + parkId = contentObj.context.park_id; + contextType = rideId ? 'ride' : parkId ? 'park' : null; + } else if (typeof contentObj.context === 'string') { + // NEW FORMAT: context is a string, IDs are at top level + contextType = contentObj.context; + rideId = contentObj.ride_id; + parkId = contentObj.park_id; + } + + if (contextType === 'ride' && rideId) { const { data: rideData } = await supabase .from('rides') .select(` @@ -189,7 +203,7 @@ export const ModerationQueue = forwardRef((props, ref) => { (submission as any).entity_name = rideData.name; (submission as any).park_name = rideData.parks?.name; } - } else if (context === 'park' && parkId) { + } else if (contextType === 'park' && parkId) { const { data: parkData } = await supabase .from('parks') .select('name') @@ -852,15 +866,27 @@ export const ModerationQueue = forwardRef((props, ref) => {
Context: - {item.content.content.context} + + {typeof item.content.content.context === 'object' + ? (item.content.content.context.ride_id ? 'ride' : + item.content.content.context.park_id ? 'park' : 'unknown') + : item.content.content.context} +
{item.entity_name && (
- {item.content.content.context === 'ride' ? 'Ride:' : 'Park:'} + + {(typeof item.content.content.context === 'object' + ? (item.content.content.context.ride_id ? 'ride' : 'park') + : item.content.content.context) === 'ride' ? 'Ride:' : 'Park:'} + {item.entity_name}
)} - {item.park_name && item.content.content.context === 'ride' && ( + {item.park_name && + (typeof item.content.content.context === 'object' + ? !!item.content.content.context.ride_id + : item.content.content.context === 'ride') && (
Park: {item.park_name} diff --git a/src/components/upload/UppyPhotoSubmissionUpload.tsx b/src/components/upload/UppyPhotoSubmissionUpload.tsx index 765811b8..0b338e1e 100644 --- a/src/components/upload/UppyPhotoSubmissionUpload.tsx +++ b/src/components/upload/UppyPhotoSubmissionUpload.tsx @@ -202,10 +202,10 @@ export function UppyPhotoSubmissionUpload({ title: photo.title?.trim(), order: index, })), - context: { - park_id: parkId, - ride_id: rideId, - }, + // NEW STRUCTURE: context as string, IDs at top level + context: rideId ? 'ride' : parkId ? 'park' : undefined, + ride_id: rideId, + park_id: parkId, }, };