import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Tag, Calendar } from "lucide-react"; interface FormerName { former_name?: string; name?: string; from_year?: number; to_year?: number; reason?: string; date_changed?: string; } interface FormerNamesSectionProps { currentName: string; formerNames: FormerName[]; entityType: 'ride' | 'park' | 'company' | 'ride_model'; } export function FormerNamesSection({ currentName, formerNames, entityType }: FormerNamesSectionProps) { if (!formerNames || formerNames.length === 0) { return ( Former Names This {entityType} has not had any previous names ); } // Sort by date (most recent first) const sortedNames = [...formerNames].sort((a, b) => { const yearA = a.to_year || (a.date_changed ? new Date(a.date_changed).getFullYear() : 0); const yearB = b.to_year || (b.date_changed ? new Date(b.date_changed).getFullYear() : 0); return yearB - yearA; }); return ( Former Names Historical names for this {entityType}
{/* Current name */}

{currentName}

Current Name

{/* Former names */} {sortedNames.map((name, index) => { const displayName = name.former_name || name.name; const yearRange = name.from_year && name.to_year ? `${name.from_year} - ${name.to_year}` : name.date_changed ? `Until ${new Date(name.date_changed).getFullYear()}` : null; return (

{displayName}

{yearRange && (

{yearRange}

)} {name.reason && (

{name.reason}

)}
); })}
); }