"use client"; import { useState, useEffect } from "react"; import { Bot } from "lucide-react"; import { cn } from "@multica/ui/lib/utils"; interface ActorAvatarProps { name: string; initials: string; avatarUrl?: string | null; isAgent?: boolean; size?: number; className?: string; } function ActorAvatar({ name, initials, avatarUrl, isAgent, size = 20, className, }: ActorAvatarProps) { const [imgError, setImgError] = useState(false); // Reset error state when URL changes (e.g. user uploads new avatar) useEffect(() => { setImgError(false); }, [avatarUrl]); return (
{avatarUrl && !imgError ? ( {name} setImgError(true)} /> ) : isAgent ? ( ) : ( initials )}
); } export { ActorAvatar, type ActorAvatarProps };