import React, { memo, useState } from 'react'; import { AlertCircle } from 'lucide-react'; import { icons } from '~/hooks/Endpoint/Icons'; export const URLIcon = memo( ({ iconURL, altName, containerStyle = { width: 20, height: 20 }, imageStyle = { width: '100%', height: '100%' }, className = 'icon-md mr-1 shrink-0 overflow-hidden rounded-full', endpoint, }: { iconURL: string; altName?: string | null; className?: string; containerStyle?: React.CSSProperties; imageStyle?: React.CSSProperties; endpoint?: string; }) => { const [imageError, setImageError] = useState(false); const handleImageError = () => { setImageError(true); }; const DefaultIcon: React.ElementType = endpoint && icons[endpoint] ? icons[endpoint]! : icons.unknown!; if (imageError || !iconURL) { return (