"use client"; import * as React from "react"; import { cn } from "@/lib/utils"; interface AvatarProps extends React.HTMLAttributes { className?: string; } const Avatar = React.forwardRef( ({ className, ...props }, ref) => (
) ); Avatar.displayName = "Avatar"; interface AvatarImageProps extends React.ImgHTMLAttributes { className?: string; } const AvatarImage = React.forwardRef( ({ className, src, alt = "", ...props }, ref) => { const [error, setError] = React.useState(false); if (error || !src) return null; return ( // eslint-disable-next-line @next/next/no-img-element {alt} setError(true)} className={cn("aspect-square h-full w-full object-cover", className)} {...props} /> ); } ); AvatarImage.displayName = "AvatarImage"; interface AvatarFallbackProps extends React.HTMLAttributes { className?: string; } const AvatarFallback = React.forwardRef( ({ className, ...props }, ref) => (
) ); AvatarFallback.displayName = "AvatarFallback"; export { Avatar, AvatarImage, AvatarFallback };