From 9b1964d634cae20e9e969be2e200d1c670119f43 Mon Sep 17 00:00:00 2001
From: "gpt-engineer-app[bot]"
<159125892+gpt-engineer-app[bot]@users.noreply.github.com>
Date: Tue, 4 Nov 2025 01:48:11 +0000
Subject: [PATCH] Implement Phase 2 display enhancements
---
.../moderation/SubmissionItemsList.tsx | 24 +-
.../displays/RichCompanyDisplay.tsx | 26 +-
.../moderation/displays/RichParkDisplay.tsx | 38 +-
.../moderation/displays/RichRideDisplay.tsx | 473 ++++++++++++++++--
.../displays/RichRideModelDisplay.tsx | 156 ++++++
5 files changed, 658 insertions(+), 59 deletions(-)
create mode 100644 src/components/moderation/displays/RichRideModelDisplay.tsx
diff --git a/src/components/moderation/SubmissionItemsList.tsx b/src/components/moderation/SubmissionItemsList.tsx
index 50e237be..25eb3d31 100644
--- a/src/components/moderation/SubmissionItemsList.tsx
+++ b/src/components/moderation/SubmissionItemsList.tsx
@@ -5,13 +5,14 @@ import { PhotoSubmissionDisplay } from './PhotoSubmissionDisplay';
import { RichParkDisplay } from './displays/RichParkDisplay';
import { RichRideDisplay } from './displays/RichRideDisplay';
import { RichCompanyDisplay } from './displays/RichCompanyDisplay';
+import { RichRideModelDisplay } from './displays/RichRideModelDisplay';
import { Skeleton } from '@/components/ui/skeleton';
import { Alert, AlertDescription } from '@/components/ui/alert';
import { Badge } from '@/components/ui/badge';
import { AlertCircle, Loader2 } from 'lucide-react';
import { format } from 'date-fns';
import type { SubmissionItemData } from '@/types/submissions';
-import type { ParkSubmissionData, RideSubmissionData, CompanySubmissionData } from '@/types/submission-data';
+import type { ParkSubmissionData, RideSubmissionData, CompanySubmissionData, RideModelSubmissionData } from '@/types/submission-data';
import { logger } from '@/lib/logger';
import { getErrorMessage } from '@/lib/errorHandler';
import { ModerationErrorBoundary } from '@/components/error/ModerationErrorBoundary';
@@ -109,6 +110,15 @@ export const SubmissionItemsList = memo(function SubmissionItemsList({
entityData = data as any;
break;
}
+ case 'ride_model': {
+ const { data } = await supabase
+ .from('ride_model_submissions')
+ .select('*')
+ .eq('id', item.item_data_id)
+ .maybeSingle();
+ entityData = data as any;
+ break;
+ }
default:
entityData = null;
}
@@ -267,6 +277,18 @@ export const SubmissionItemsList = memo(function SubmissionItemsList({
);
}
+ if (item.item_type === 'ride_model' && entityData) {
+ return (
+ <>
+ {itemMetadata}
+
{data.story_description}
+