'use client' interface AgentAvatarProps { name: string size?: 'xs' | 'sm' | 'md' className?: string } function getInitials(name: string): string { const parts = name .trim() .split(/\s+/) .filter(Boolean) if (parts.length === 0) return '?' if (parts.length === 1) return parts[0].slice(0, 2).toUpperCase() return `${parts[0][0] || ''}${parts[1][0] || ''}`.toUpperCase() } function hashString(value: string): number { let hash = 0 for (let i = 0; i < value.length; i += 1) { hash = (hash * 31 + value.charCodeAt(i)) >>> 0 } return hash } function getAvatarColors(name: string): { backgroundColor: string; color: string } { const hash = hashString(name.toLowerCase()) const hue = hash % 360 return { backgroundColor: `hsl(${hue} 70% 38%)`, color: 'hsl(0 0% 98%)', } } const sizeClasses: Record, string> = { xs: 'w-5 h-5 text-[10px]', sm: 'w-6 h-6 text-[10px]', md: 'w-8 h-8 text-xs', } export function AgentAvatar({ name, size = 'sm', className = '' }: AgentAvatarProps) { const initials = getInitials(name) const colors = getAvatarColors(name) return (
{initials}
) }