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 { Company } from '@/types/database'; interface ManufacturerCardProps { company: Company; } 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 Type Badge */} {formatCompanyType(company.company_type)} {/* Logo Display */} {company.logo_url ? ( ) : ( {getCompanyIcon(company.company_type)} )} > )} {/* Company Name */} {company.name} {/* Description */} {company.description && ( {company.description} )} {/* Company Info */} {company.founded_year && ( Founded: {company.founded_year} )} {company.headquarters_location && ( {company.headquarters_location} )} {/* Rating */} {company.average_rating > 0 && ( {company.average_rating.toFixed(1)} {company.review_count > 0 && ( ({company.review_count}) )} )} {/* Stats Display */} {(company as any).ride_count > 0 && ( {(company as any).ride_count} rides )} {(company as any).coaster_count > 0 && ( • {(company as any).coaster_count} coasters )} {(company as any).model_count > 0 && ( • {(company as any).model_count} models )} ); }
{company.description}