mirror of
https://github.com/YspCoder/clawgo.git
synced 2026-05-08 15:17:28 +08:00
fix(webui): simplify agents tooltip preview
This commit is contained in:
@@ -1174,7 +1174,7 @@ const Subagents: React.FC = () => {
|
|||||||
</div>
|
</div>
|
||||||
{topologyTooltip && (
|
{topologyTooltip && (
|
||||||
<div
|
<div
|
||||||
className="pointer-events-none fixed z-50 w-[360px] max-w-[min(360px,calc(100vw-24px))] max-h-[min(70vh,560px)] overflow-y-auto brand-card-subtle border border-zinc-700/80 p-4 shadow-2xl shadow-black/50 backdrop-blur-md transition-opacity duration-200"
|
className="pointer-events-none fixed z-50 w-[360px] max-w-[min(360px,calc(100vw-24px))] brand-card-subtle border border-zinc-700/80 p-4 shadow-2xl shadow-black/50 backdrop-blur-md transition-opacity duration-200"
|
||||||
style={{ left: topologyTooltip.x, top: topologyTooltip.y }}
|
style={{ left: topologyTooltip.x, top: topologyTooltip.y }}
|
||||||
>
|
>
|
||||||
<div className="flex items-center gap-2 mb-2">
|
<div className="flex items-center gap-2 mb-2">
|
||||||
@@ -1215,21 +1215,27 @@ const Subagents: React.FC = () => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{streamPreviewByAgent[topologyTooltip.agentID]?.items?.length ? (
|
{streamPreviewByAgent[topologyTooltip.agentID]?.items?.length ? (
|
||||||
streamPreviewByAgent[topologyTooltip.agentID].items.slice(-3).reverse().map((item, idx) => (
|
<div className="brand-card-subtle border border-zinc-800 p-3 space-y-2">
|
||||||
<div key={`${item.kind || 'item'}-${item.at || 0}-${idx}`} className="brand-card-subtle border border-zinc-800 p-3 space-y-2">
|
<div className="flex items-center justify-between gap-2">
|
||||||
<div className="flex items-center justify-between gap-2">
|
<div className="text-xs font-medium text-zinc-200">
|
||||||
<div className="text-xs font-medium text-zinc-200">
|
{(() => {
|
||||||
{item.kind === 'event'
|
const item = streamPreviewByAgent[topologyTooltip.agentID].items[streamPreviewByAgent[topologyTooltip.agentID].items.length - 1];
|
||||||
|
return item.kind === 'event'
|
||||||
? `${item.event_type || 'event'}${item.status ? ` · ${item.status}` : ''}`
|
? `${item.event_type || 'event'}${item.status ? ` · ${item.status}` : ''}`
|
||||||
: `${item.from_agent || '-'} -> ${item.to_agent || '-'} · ${item.message_type || 'message'}`}
|
: `${item.from_agent || '-'} -> ${item.to_agent || '-'} · ${item.message_type || 'message'}`;
|
||||||
</div>
|
})()}
|
||||||
<div className="text-[11px] text-zinc-500">{formatStreamTime(item.at)}</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="text-xs text-zinc-300 leading-5">
|
<div className="text-[11px] text-zinc-500">
|
||||||
{summarizePreviewText(item.kind === 'event' ? (item.message || '(no event message)') : (item.content || '(empty message)'))}
|
{formatStreamTime(streamPreviewByAgent[topologyTooltip.agentID].items[streamPreviewByAgent[topologyTooltip.agentID].items.length - 1]?.at)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
))
|
<div className="text-xs text-zinc-300 leading-5 whitespace-pre-wrap break-words">
|
||||||
|
{(() => {
|
||||||
|
const item = streamPreviewByAgent[topologyTooltip.agentID].items[streamPreviewByAgent[topologyTooltip.agentID].items.length - 1];
|
||||||
|
return summarizePreviewText(item.kind === 'event' ? (item.message || '(no event message)') : (item.content || '(empty message)'), 520);
|
||||||
|
})()}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="text-xs text-zinc-400">No internal stream events yet.</div>
|
<div className="text-xs text-zinc-400">No internal stream events yet.</div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
Reference in New Issue
Block a user