File size: 653 Bytes
f56a29b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import { cn } from '@/lib/utils';
interface AvatarDisplayProps {
readonly src: string;
readonly alt?: string;
readonly className?: string;
}
export function AvatarDisplay({ src, alt, className }: AvatarDisplayProps) {
const isUrl = src.startsWith('http') || src.startsWith('data:') || src.startsWith('/');
if (isUrl) {
return (
<img src={src} alt={alt || ''} className={cn('w-full h-full object-cover', className)} />
);
}
return (
<span
role="img"
aria-label={alt || ''}
className={cn('flex items-center justify-center w-full h-full select-none', className)}
>
{src}
</span>
);
}
|