diff --git a/src/lib/submissionChangeDetection.ts b/src/lib/submissionChangeDetection.ts index 2823c45b..b97c59eb 100644 --- a/src/lib/submissionChangeDetection.ts +++ b/src/lib/submissionChangeDetection.ts @@ -412,6 +412,46 @@ export async function detectChanges( // No entity reference, just use the milestone title entityName = itemData.title; } + + // Add resolved entity name as an explicit field for milestone submissions + if (itemData.entity_type && itemData.entity_id) { + let resolvedEntityName = 'Unknown Entity'; + + try { + const entityType = itemData.entity_type; + const entityId = itemData.entity_id; + + if (entityType === 'park') { + const { data } = await supabase.from('parks').select('name').eq('id', entityId).maybeSingle(); + if (data?.name) { + resolvedEntityName = data.name; + } + } else if (entityType === 'ride') { + const { data: rideData } = await supabase + .from('rides') + .select('name, park:parks(name)') + .eq('id', entityId) + .maybeSingle(); + + if (rideData?.name) { + const parkName = rideData.park?.name; + resolvedEntityName = parkName + ? `${rideData.name} at ${parkName}` + : rideData.name; + } + } + } catch (err) { + console.error('Error resolving entity name for field display:', err); + } + + // Add entity name as an explicit field change at the beginning + fieldChanges.unshift({ + field: 'entity_name', + oldValue: null, + newValue: resolvedEntityName, + changeType: 'added', + }); + } } else { // For regular entities, use name field entityName = itemData.name || originalData?.name || 'Unknown';