summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/components/basic-tool.tsx
diff options
context:
space:
mode:
authorDaniel Polito <[email protected]>2026-01-13 15:28:08 -0300
committerFrank <[email protected]>2026-01-13 19:50:49 -0500
commitdfa59dd21d68e723d35fb56978024ca0335ed334 (patch)
treefc9687d675d7c502485af9e17efa59d843dd7178 /packages/ui/src/components/basic-tool.tsx
parentf642a6c5b9e9476c65b39030cd4fff864f162fda (diff)
downloadopencode-dfa59dd21d68e723d35fb56978024ca0335ed334.tar.gz
opencode-dfa59dd21d68e723d35fb56978024ca0335ed334.zip
feat(desktop): Ask Question Tool Support (#8232)
Diffstat (limited to 'packages/ui/src/components/basic-tool.tsx')
-rw-r--r--packages/ui/src/components/basic-tool.tsx10
1 files changed, 8 insertions, 2 deletions
diff --git a/packages/ui/src/components/basic-tool.tsx b/packages/ui/src/components/basic-tool.tsx
index 15b5d4867..725a7d0d6 100644
--- a/packages/ui/src/components/basic-tool.tsx
+++ b/packages/ui/src/components/basic-tool.tsx
@@ -25,6 +25,7 @@ export interface BasicToolProps {
hideDetails?: boolean
defaultOpen?: boolean
forceOpen?: boolean
+ locked?: boolean
onSubtitleClick?: () => void
}
@@ -35,8 +36,13 @@ export function BasicTool(props: BasicToolProps) {
if (props.forceOpen) setOpen(true)
})
+ const handleOpenChange = (value: boolean) => {
+ if (props.locked && !value) return
+ setOpen(value)
+ }
+
return (
- <Collapsible open={open()} onOpenChange={setOpen}>
+ <Collapsible open={open()} onOpenChange={handleOpenChange}>
<Collapsible.Trigger>
<div data-component="tool-trigger">
<div data-slot="basic-tool-tool-trigger-content">
@@ -95,7 +101,7 @@ export function BasicTool(props: BasicToolProps) {
</Switch>
</div>
</div>
- <Show when={props.children && !props.hideDetails}>
+ <Show when={props.children && !props.hideDetails && !props.locked}>
<Collapsible.Arrow />
</Show>
</div>