fix(ui): scope tool input toggle to current tool call
This commit is contained in:
@@ -84,7 +84,7 @@ interface ToolCallProps {
|
|||||||
|
|
||||||
|
|
||||||
export default function ToolCall(props: ToolCallProps) {
|
export default function ToolCall(props: ToolCallProps) {
|
||||||
const { preferences, setDiffViewMode, setToolInputsVisibility } = useConfig()
|
const { preferences, setDiffViewMode } = useConfig()
|
||||||
const { isDark } = useTheme()
|
const { isDark } = useTheme()
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const toolCallMemo = createMemo(() => props.toolCall)
|
const toolCallMemo = createMemo(() => props.toolCall)
|
||||||
@@ -173,8 +173,10 @@ export default function ToolCall(props: ToolCallProps) {
|
|||||||
|
|
||||||
const [userExpanded, setUserExpanded] = createSignal<boolean | null>(null)
|
const [userExpanded, setUserExpanded] = createSignal<boolean | null>(null)
|
||||||
const toolInputsVisibility = createMemo(() => preferences().toolInputsVisibility || "hidden")
|
const toolInputsVisibility = createMemo(() => preferences().toolInputsVisibility || "hidden")
|
||||||
const isToolInputVisible = createMemo(() => toolInputsVisibility() !== "hidden")
|
const [toolInputVisibilityOverride, setToolInputVisibilityOverride] = createSignal<"hidden" | "expanded" | null>(null)
|
||||||
const inputDefaultExpanded = createMemo(() => toolInputsVisibility() === "expanded")
|
const effectiveToolInputsVisibility = createMemo(() => toolInputVisibilityOverride() ?? toolInputsVisibility())
|
||||||
|
const isToolInputVisible = createMemo(() => effectiveToolInputsVisibility() !== "hidden")
|
||||||
|
const inputDefaultExpanded = createMemo(() => effectiveToolInputsVisibility() === "expanded")
|
||||||
const [inputSectionOverride, setInputSectionOverride] = createSignal<boolean | null>(null)
|
const [inputSectionOverride, setInputSectionOverride] = createSignal<boolean | null>(null)
|
||||||
const [outputSectionOverride, setOutputSectionOverride] = createSignal<boolean | null>(null)
|
const [outputSectionOverride, setOutputSectionOverride] = createSignal<boolean | null>(null)
|
||||||
const inputSectionExpanded = () => {
|
const inputSectionExpanded = () => {
|
||||||
@@ -616,11 +618,9 @@ export default function ToolCall(props: ToolCallProps) {
|
|||||||
if (!expanded()) {
|
if (!expanded()) {
|
||||||
toggle()
|
toggle()
|
||||||
}
|
}
|
||||||
if (isToolInputVisible()) {
|
|
||||||
setToolInputsVisibility("hidden")
|
const currentlyVisible = isToolInputVisible()
|
||||||
return
|
setToolInputVisibilityOverride(currentlyVisible ? "hidden" : "expanded")
|
||||||
}
|
|
||||||
setToolInputsVisibility("expanded")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const renderer = createMemo(() => resolveToolRenderer(toolName()))
|
const renderer = createMemo(() => resolveToolRenderer(toolName()))
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ function normalizeUiSettings(input?: Partial<UiSettings> | null): UiSettings {
|
|||||||
toolOutputExpansion: sanitized.toolOutputExpansion ?? defaultUiSettings.toolOutputExpansion,
|
toolOutputExpansion: sanitized.toolOutputExpansion ?? defaultUiSettings.toolOutputExpansion,
|
||||||
diagnosticsExpansion: sanitized.diagnosticsExpansion ?? defaultUiSettings.diagnosticsExpansion,
|
diagnosticsExpansion: sanitized.diagnosticsExpansion ?? defaultUiSettings.diagnosticsExpansion,
|
||||||
toolInputsVisibility:
|
toolInputsVisibility:
|
||||||
sanitized.toolInputsVisibility === "collapsed" || sanitized.toolInputsVisibility === "expanded"
|
sanitized.toolInputsVisibility === "hidden" || sanitized.toolInputsVisibility === "collapsed" || sanitized.toolInputsVisibility === "expanded"
|
||||||
? sanitized.toolInputsVisibility
|
? sanitized.toolInputsVisibility
|
||||||
: defaultUiSettings.toolInputsVisibility,
|
: defaultUiSettings.toolInputsVisibility,
|
||||||
showUsageMetrics: sanitized.showUsageMetrics ?? defaultUiSettings.showUsageMetrics,
|
showUsageMetrics: sanitized.showUsageMetrics ?? defaultUiSettings.showUsageMetrics,
|
||||||
|
|||||||
Reference in New Issue
Block a user