import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Badge } from '@/components/ui/badge'; import { Zap, TrendingUp, Award, Sparkles } from 'lucide-react'; import { MeasurementDisplay } from '@/components/ui/measurement-display'; interface RideHighlight { icon: React.ReactNode; label: string; value: React.ReactNode; } interface RideWithStats { id: string; name: string; max_speed_kmh?: number; max_height_meters?: number; inversions?: number; average_rating?: number; } interface RideHighlightsProps { ride: RideWithStats; } export function RideHighlights({ ride }: RideHighlightsProps) { const highlights: RideHighlight[] = []; // Add speed highlight if notable if (ride.max_speed_kmh && ride.max_speed_kmh > 60) { highlights.push({ icon: , label: 'High Speed', value: }); } // Add height highlight if notable if (ride.max_height_meters && ride.max_height_meters > 30) { highlights.push({ icon: , label: 'Tall Structure', value: }); } // Add inversions highlight if (ride.inversions && ride.inversions > 0) { highlights.push({ icon: , label: 'Inversions', value: `${ride.inversions} ${ride.inversions === 1 ? 'inversion' : 'inversions'}` }); } // Add rating highlight if high if (ride.average_rating && ride.average_rating >= 4.0) { highlights.push({ icon: , label: 'Highly Rated', value: `${ride.average_rating.toFixed(1)} stars` }); } if (highlights.length === 0) { return null; } return ( Ride Highlights {highlights.map((highlight, index) => ( {highlight.icon} {highlight.label} {highlight.value} ))} ); }