Files
wr.do/components/shared/user-avatar.tsx
T
2024-07-26 22:08:57 +08:00

25 lines
706 B
TypeScript

import { User } from "@prisma/client"
import { AvatarProps } from "@radix-ui/react-avatar"
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"
import { Icons } from "@/components/shared/icons"
interface UserAvatarProps extends AvatarProps {
user: Pick<User, "image" | "name">
}
export function UserAvatar({ user, ...props }: UserAvatarProps) {
return (
<Avatar {...props}>
{user.image ? (
<AvatarImage alt="Picture" src={user.image} referrerPolicy="no-referrer" />
) : (
<AvatarFallback>
<span className="sr-only">{user.name}</span>
<Icons.user className="size-4" />
</AvatarFallback>
)}
</Avatar>
)
}