feat(workspaces): add WorkspaceAvatar component for displaying workspace images

This commit is contained in:
ngc2207 2025-02-06 09:21:23 +08:00
parent 5304524d75
commit bdd852ccc6

View File

@ -0,0 +1,33 @@
import Image from "next/image";
import { cn } from "@/lib/utils";
import { Avatar, AvatarFallback } from "@/components/ui/avatar";
interface WorkspaceAvatarProps {
image?: string;
name: string;
className?: string;
}
export const WorkspaceAvatar = ({
image,
name,
className,
}: WorkspaceAvatarProps) => {
if (image) {
return (
<div
className={cn("size-10 relative rounded-md overflow-hidden", className)}
>
<Image src={image} alt={name} fill className="object-cover" />
</div>
);
}
return (
<Avatar className={cn("size-10 rounded-md", className)}>
<AvatarFallback className="border bg-background text-foreground font-semibold text-lg uppercase rounded-md">
{name[0]}
</AvatarFallback>
</Avatar>
);
};