import {forwardRef, useMemo} from "react"; import {AvatarIcon, useAvatar, AvatarProps as BaseAvatarProps} from "@heroui/react"; export interface AvatarProps extends BaseAvatarProps {} const MyAvatar = forwardRef((props, ref) => { const { src, icon = , alt, classNames, slots, name, showFallback, fallback: fallbackComponent, getInitials, getAvatarProps, getImageProps, } = useAvatar({ ref, ...props, }); const fallback = useMemo(() => { if (!showFallback && src) return null; const ariaLabel = alt || name || "avatar"; if (fallbackComponent) { return (
{fallbackComponent}
); } return name ? ( {getInitials(name)} ) : ( {icon} ); }, [showFallback, src, fallbackComponent, name, classNames]); return (
{src && {alt}} {fallback}
); }); MyAvatar.displayName = "MyAvatar"; export default MyAvatar;