Skip to content

Commit 58ce2aa

Browse files
committed
Much de-emphasized API calls
1 parent 68eeb4d commit 58ce2aa

File tree

1 file changed

+30
-5
lines changed

1 file changed

+30
-5
lines changed

webview-ui/src/components/chat/ChatRow.tsx

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ import { McpExecution } from "./McpExecution"
4747
import { ChatTextArea } from "./ChatTextArea"
4848
import { MAX_IMAGES_PER_MESSAGE } from "./ChatView"
4949
import { useSelectedModel } from "../ui/hooks/useSelectedModel"
50-
import { CircleCheck, Eye, FileDiff, ListTree } from "lucide-react"
50+
import { ChevronRight, ChevronDown, Eye, FileDiff, ListTree } from "lucide-react"
5151

5252
interface ChatRowProps {
5353
message: ClineMessage
@@ -288,7 +288,11 @@ export const ChatRowContent = ({
288288
getIconSpan("error", errorColor)
289289
)
290290
) : cost !== null && cost !== undefined ? (
291-
<CircleCheck className="w-4" />
291+
isExpanded ? (
292+
<ChevronDown className="w-4" />
293+
) : (
294+
<ChevronRight className="w-4" />
295+
)
292296
) : apiRequestFailedMessage ? (
293297
getIconSpan("error", errorColor)
294298
) : (
@@ -323,7 +327,17 @@ export const ChatRowContent = ({
323327
default:
324328
return [null, null]
325329
}
326-
}, [type, isCommandExecuting, message, isMcpServerResponding, apiReqCancelReason, cost, apiRequestFailedMessage, t])
330+
}, [
331+
type,
332+
isCommandExecuting,
333+
message,
334+
isMcpServerResponding,
335+
apiReqCancelReason,
336+
cost,
337+
apiRequestFailedMessage,
338+
t,
339+
isExpanded,
340+
])
327341

328342
const headerStyle: React.CSSProperties = {
329343
display: "flex",
@@ -890,6 +904,7 @@ export const ChatRowContent = ({
890904
}}
891905
onClick={handleToggleExpand}>
892906
<ToolUseBlockHeader
907+
className="group"
893908
style={{
894909
display: "flex",
895910
alignItems: "center",
@@ -906,7 +921,8 @@ export const ChatRowContent = ({
906921
</VSCodeBadge>
907922
)}
908923
</div>
909-
<span className={`codicon codicon-chevron-${isExpanded ? "up" : "down"}`}></span>
924+
<span
925+
className={`codicon codicon-chevron-${isExpanded ? "up" : "down"} opacity-0 group-hover:opacity-100 transition-opacity duration-200`}></span>
910926
</ToolUseBlockHeader>
911927
{isExpanded && (slashCommandInfo.args || slashCommandInfo.description) && (
912928
<div
@@ -1116,9 +1132,19 @@ export const ChatRowContent = ({
11161132
/>
11171133
)
11181134
case "api_req_started":
1135+
// Determine if the API request is in progress
1136+
const isApiRequestInProgress =
1137+
apiReqCancelReason === null &&
1138+
apiReqCancelReason === undefined &&
1139+
(cost === null || cost === undefined) &&
1140+
!apiRequestFailedMessage
1141+
11191142
return (
11201143
<>
11211144
<div
1145+
className={`group text-sm transition-opacity ${
1146+
isApiRequestInProgress ? "opacity-100" : "opacity-40 hover:opacity-100"
1147+
}`}
11221148
style={{
11231149
...headerStyle,
11241150
marginBottom:
@@ -1143,7 +1169,6 @@ export const ChatRowContent = ({
11431169
style={{ opacity: cost !== null && cost !== undefined && cost > 0 ? 1 : 0 }}>
11441170
${Number(cost || 0)?.toFixed(4)}
11451171
</div>
1146-
<span className={`codicon codicon-chevron-${isExpanded ? "up" : "down"}`}></span>
11471172
</div>
11481173
{(((cost === null || cost === undefined) && apiRequestFailedMessage) ||
11491174
apiReqStreamingFailedMessage) && (

0 commit comments

Comments
 (0)