From b2fea8ee661564764041697f3f3261164b9ae74c Mon Sep 17 00:00:00 2001 From: chanx <1243304602@qq.com> Date: Wed, 5 Aug 2026 19:27:05 +0800 Subject: [PATCH] fix: enhance agent tags display with tooltip for better visibility (#17879) --- web/src/pages/agents/agent-card.tsx | 61 +++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 12 deletions(-) diff --git a/web/src/pages/agents/agent-card.tsx b/web/src/pages/agents/agent-card.tsx index 23661bda9e..4f96472653 100644 --- a/web/src/pages/agents/agent-card.tsx +++ b/web/src/pages/agents/agent-card.tsx @@ -3,12 +3,18 @@ import { MoreButton } from '@/components/more-button'; import { SharedBadge } from '@/components/shared-badge'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; +import { + Tooltip, + TooltipContent, + TooltipTrigger, +} from '@/components/ui/tooltip'; import { AgentCategory } from '@/constants/agent'; import { useNavigatePage } from '@/hooks/logic-hooks/navigate-hooks'; import { AgentListItemType, IFlow } from '@/interfaces/database/agent'; import { CanvasCategoryToFlowType, FlowType, FlowTypeConfig } from './constant'; import { AgentDropdown } from './agent-dropdown'; import { useRenameAgent } from './use-rename-agent'; +import { useRef, useState } from 'react'; import { Tag } from 'lucide-react'; export type DatasetCardProps = { @@ -45,20 +51,51 @@ function AgentTags({ tags }: { tags?: string }) { .split(',') .map((t) => t.trim()) .filter(Boolean); + const containerRef = useRef(null); + const [open, setOpen] = useState(false); + if (list.length === 0) return null; + + const handleOpenChange = (isOpen: boolean) => { + if (isOpen) { + const el = containerRef.current; + setOpen(el ? el.scrollHeight > el.clientHeight : false); + } else { + setOpen(false); + } + }; + return ( -
- {list.map((tag) => ( - - - {tag} - - ))} -
+ + +
+ {list.map((tag) => ( + + + {tag} + + ))} +
+
+ +
+ {list.map((tag) => ( + + + {tag} + + ))} +
+
+
); }