import { Package, Building, Calendar, ExternalLink, AlertCircle } from 'lucide-react'; import { Badge } from '@/components/ui/badge'; import { Separator } from '@/components/ui/separator'; import type { RideModelSubmissionData } from '@/types/submission-data'; import { useEffect, useState } from 'react'; import { supabase } from '@/lib/supabaseClient'; interface RichRideModelDisplayProps { data: RideModelSubmissionData; actionType: 'create' | 'edit' | 'delete'; showAllFields?: boolean; } export function RichRideModelDisplay({ data, actionType, showAllFields = true }: RichRideModelDisplayProps) { const [manufacturer, setManufacturer] = useState(null); useEffect(() => { const fetchManufacturer = async () => { if (data.manufacturer_id) { const { data: mfgData } = await supabase .from('companies') .select('name') .eq('id', data.manufacturer_id) .single(); setManufacturer(mfgData?.name || null); } }; fetchManufacturer(); }, [data.manufacturer_id]); return (
{/* Header Section */}

{data.name}

{manufacturer && (
by {manufacturer}
)}
{data.category?.replace(/_/g, ' ').replace(/\b\w/g, l => l.toUpperCase())} {data.ride_type && ( {data.ride_type.replace(/_/g, ' ').replace(/\b\w/g, l => l.toUpperCase())} )} {actionType === 'create' && ( New Model )} {actionType === 'edit' && ( Edit )} {actionType === 'delete' && ( Delete )}
{/* Manufacturer */} {manufacturer && (
Manufacturer
{manufacturer}
)} {/* Description */} {data.description && (
Description
{data.description}
)} {/* Source */} {data.source_url && ( Source )} {/* Submission Notes */} {data.submission_notes && (
Submitter Notes
{data.submission_notes}
)} {/* Images Preview */} {(data.banner_image_url || data.card_image_url) && (
Images
{data.banner_image_url && (
Banner
Banner {data.banner_image_id && ( ID: {data.banner_image_id.slice(0, 8)}... )}
)} {data.card_image_url && (
Card
Card {data.card_image_id && ( ID: {data.card_image_id.slice(0, 8)}... )}
)}
)}
); }