import { cn } from "@/lib/utils"; type ProfileAvatarProps = { avatarUrl: string | null; displayName: string | null; email?: string | null; size?: "xs" | "sm" | "md" | "lg"; className?: string; }; const avatarSizeClasses = { xs: "size-6 text-[10px]", sm: "size-12 text-sm", md: "size-16 text-base", lg: "size-20 text-xl", } as const; function getProfileInitials(displayName: string | null, email?: string | null) { const source = displayName?.trim() || email?.trim() || ""; if (!source) { return "IM"; } const parts = source .split(/\s+/) .map((part) => part.trim()) .filter(Boolean); if (parts.length === 0) { return "IM"; } if (parts.length === 1) { return parts[0].slice(0, 2).toUpperCase(); } return `${parts[0][0] ?? ""}${parts[1][0] ?? ""}`.toUpperCase(); } export function ProfileAvatar({ avatarUrl, displayName, email = null, size = "md", className, }: ProfileAvatarProps) { const initials = getProfileInitials(displayName, email); const label = displayName || email || "Profielavatar"; return (
{avatarUrl ? ( ); }