feat: update UI components to use Avatar for member display

- Replaced image rendering with Avatar component in PublicChatSnapshotRow, ImageModelManager, and ModelConfigManager for improved consistency.
- Adjusted DocumentsFilters to modify PopoverContent width for better layout.
- Enhanced DocumentsTableShell with new state management for member data and added bulk delete functionality.
This commit is contained in:
Anish Sarkar 2026-03-17 18:31:58 +05:30
parent f9606679e0
commit 1db716ab6d
5 changed files with 252 additions and 262 deletions

View file

@ -12,8 +12,8 @@ import {
Trash2,
Wand2,
} from "lucide-react";
import Image from "next/image";
import { useCallback, useMemo, useState } from "react";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
import { membersAtom, myAccessAtom } from "@/atoms/members/members-query.atoms";
import {
createNewLLMConfigMutationAtom,
@ -431,21 +431,14 @@ export function ModelConfigManager({ searchSpaceId }: ModelConfigManagerProps) {
<Tooltip open={isDesktop ? undefined : false}>
<TooltipTrigger asChild>
<div className="flex items-center gap-1.5 cursor-default">
{member.avatarUrl ? (
<Image
src={member.avatarUrl}
alt={member.name}
width={18}
height={18}
className="h-4.5 w-4.5 rounded-full object-cover shrink-0"
/>
) : (
<div className="flex h-4.5 w-4.5 items-center justify-center rounded-full bg-gradient-to-br from-primary/20 to-primary/5 shrink-0">
<span className="text-[9px] font-semibold text-primary">
{getInitials(member.name)}
</span>
</div>
)}
<Avatar className="size-4.5 shrink-0">
{member.avatarUrl && (
<AvatarImage src={member.avatarUrl} alt={member.name} />
)}
<AvatarFallback className="text-[9px]">
{getInitials(member.name)}
</AvatarFallback>
</Avatar>
<span className="text-[11px] text-muted-foreground/60 truncate max-w-[120px]">
{member.name}
</span>