Skip to content
Snippets Groups Projects
user-avatar.tsx 758 B
import { User } from "@prisma/client"
import { AvatarProps } from "@radix-ui/react-avatar"

import { Icons } from "@/components/icons"
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"

interface UserAvatarProps extends AvatarProps {
    user: Pick<User, "image" | "username">
}

export function UserAvatar({ user, ...props }: UserAvatarProps) {
    return (
        <Avatar {...props}>
            {user.image ? (
                <AvatarImage alt="Picture" src={user.image} />
            ) : (
                <AvatarFallback>
                    <span className="sr-only">{user.username}</span>
                    <Icons.user className="h-3/5 w-3/5" />
                </AvatarFallback>
            )}
        </Avatar>
    )
}