fix(ui): fix ToolCallStatus duplicate label + add fade-in to standalone cards
- Fix ToolCallStatus label duplication: label span was shown twice when failed/done; consolidate into a single span with correct copy - Add animate-in fade-in duration-300 wrapper to standalone Gen-UI cards and streaming orphan cards in main.tsx (already present in ToolCallStatus expanded view) Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
3b1ce32bc4
commit
19cb2e42bc
@@ -101,8 +101,7 @@ function ToolCallRow({
|
||||
) : (
|
||||
<Loader2 className="size-3.5 animate-spin shrink-0" />
|
||||
)}
|
||||
<span>{label}</span>
|
||||
<span>{isFailed ? `失败 · ${label}` : isDone ? (canExpand ? (expanded ? "收起" : "查看结果") : `已完成 · ${label}`) : (tc.name ? (TOOL_LOADING_MAP[tc.name] ?? `正在${label}...`) : "思考中...")}</span>
|
||||
<span>{isFailed ? `${label} · 失败` : isDone ? (canExpand ? `${label} · ${expanded ? "收起" : "查看结果"}` : `${label} · 已完成`) : (tc.name ? (TOOL_LOADING_MAP[tc.name] ?? `正在${label}...`) : "思考中...")}</span>
|
||||
</button>
|
||||
{expanded && uiItem && stream && components && (
|
||||
<div className="mt-2 ml-7">
|
||||
|
||||
+18
-16
@@ -538,14 +538,15 @@ function App() {
|
||||
return tc.name && ui.name === nameMap[tc.name];
|
||||
}))
|
||||
.map((ui: UIMsgLocal) => (
|
||||
<LoadExternalComponent
|
||||
key={ui.id}
|
||||
stream={thread}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
message={ui as any}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
components={ComponentMap as any}
|
||||
/>
|
||||
<div key={ui.id} className="animate-in fade-in duration-300">
|
||||
<LoadExternalComponent
|
||||
stream={thread}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
message={ui as any}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
components={ComponentMap as any}
|
||||
/>
|
||||
</div>
|
||||
))}
|
||||
|
||||
{/* Text reply */}
|
||||
@@ -593,14 +594,15 @@ function App() {
|
||||
})
|
||||
)
|
||||
.map((ui: UIMsgLocal) => (
|
||||
<LoadExternalComponent
|
||||
key={ui.id}
|
||||
stream={thread}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
message={ui as any}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
components={ComponentMap as any}
|
||||
/>
|
||||
<div key={ui.id} className="animate-in fade-in duration-300">
|
||||
<LoadExternalComponent
|
||||
stream={thread}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
message={ui as any}
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
components={ComponentMap as any}
|
||||
/>
|
||||
</div>
|
||||
))}
|
||||
|
||||
<div ref={bottomRef} />
|
||||
|
||||
Reference in New Issue
Block a user