import { Factory, MapPin, Star, Globe, FerrisWheel, Ruler, Hammer, Building2 } from 'lucide-react'; import { useNavigate } from 'react-router-dom'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { CompanyWithStats } from '@/types/database'; import { getCloudflareImageUrl } from '@/lib/cloudflareImageUtils'; interface ManufacturerCardProps { company: CompanyWithStats; } export function ManufacturerCard({ company }: ManufacturerCardProps) { const navigate = useNavigate(); const handleClick = () => { const basePath = company.company_type === 'designer' ? '/designers' : '/manufacturers'; navigate(`${basePath}/${company.slug}/`); }; const getCompanyIcon = (type: string) => { switch (type) { case 'manufacturer': return ; case 'operator': return ; case 'designer': return ; case 'contractor': return ; default: return ; } }; const formatCompanyType = (type: string) => { return type.split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1) ).join(' '); }; return ( {/* Logo/Image Section */}
{(company.card_image_url || company.card_image_id) ? ( {company.name} ) : ( <>
{/* Company Type Badge */}
{formatCompanyType(company.company_type)}
{/* Logo Display */}
{company.logo_url ? (
{`${company.name}
) : (
{getCompanyIcon(company.company_type)}
)}
)}
{/* Company Name */}

{company.name}

{/* Company Info */}
{company.founded_year && (
Founded: {company.founded_year}
)} {company.headquarters_location && (
{company.headquarters_location}
)}
{/* Stats Display */}
{company.ride_count && company.ride_count > 0 && (
{company.ride_count} rides
)} {company.coaster_count && company.coaster_count > 0 && (
{company.coaster_count} coasters
)} {company.model_count && company.model_count > 0 && (
{company.model_count} models
)}
{company.average_rating && company.average_rating > 0 && (
{company.average_rating.toFixed(1)} {company.review_count && company.review_count > 0 && ( ({company.review_count}) )}
)}
); }