import { useEffect, useState } from "react";
import { Trophy } from "lucide-react";
import { cn } from "~/lib/utils";
import { resolveSportIconUrl } from "~/lib/sport-icon-url";
interface SportIconProps {
sportName: string;
iconUrl?: string | null;
size?: "sm" | "md" | "lg" | "xl";
className?: string;
decorative?: boolean;
}
const sizeClasses = {
sm: "h-5 w-5",
md: "h-8 w-8",
lg: "h-12 w-12",
xl: "h-16 w-16",
};
export function SportIcon({
sportName,
iconUrl,
size = "md",
className,
decorative = false,
}: SportIconProps) {
const [failed, setFailed] = useState(false);
const resolvedIconUrl = resolveSportIconUrl(iconUrl);
useEffect(() => {
setFailed(false);
}, [resolvedIconUrl]);
if (resolvedIconUrl && !failed) {
return (
setFailed(true)}
/>
);
}
return (
);
}