import { Avatar } from "./Avatar.tsx"; import { cn } from "../utils/cn.ts"; interface WaitlistRequest { profile?: { handle?: string; avatar?: { url?: string; } | null; } | null; } interface AvatarStackProps { requests: WaitlistRequest[]; maxDisplay?: number; size?: number; className?: string; } export function AvatarStack({ requests, maxDisplay = 20, size = 24, className, }: AvatarStackProps) { const displayedRequests = requests.slice(0, maxDisplay); const overlapClass = size === 32 ? "-ml-2.5" : "-ml-2"; return (
{displayedRequests.map((request, index) => { const avatarSrc = request.profile?.avatar?.url; const handle = request.profile?.handle || "user"; return (
0 && overlapClass )} >
); })}
); }