summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/components
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-16 10:49:22 -0600
committerAdam <[email protected]>2025-12-16 12:53:11 -0600
commitff690350b1ac5ec4f415d9d3eabaeb839196fa1c (patch)
treed37fa491e5739fa22e05be08d4112c5814e2bc89 /packages/ui/src/components
parentebefb26e8f7abe2de27e3ece95e425c12d55c62d (diff)
downloadopencode-ff690350b1ac5ec4f415d9d3eabaeb839196fa1c.tar.gz
opencode-ff690350b1ac5ec4f415d9d3eabaeb839196fa1c.zip
feat(desktop): show write tool output
Diffstat (limited to 'packages/ui/src/components')
-rw-r--r--packages/ui/src/components/message-part.tsx31
1 files changed, 17 insertions, 14 deletions
diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx
index 33b519ea4..b838bebc2 100644
--- a/packages/ui/src/components/message-part.tsx
+++ b/packages/ui/src/components/message-part.tsx
@@ -11,6 +11,7 @@ import {
} from "@opencode-ai/sdk/v2"
import { useData } from "../context"
import { useDiffComponent } from "../context/diff"
+import { useCodeComponent } from "../context/code"
import { BasicTool } from "./basic-tool"
import { GenericTool } from "./basic-tool"
import { Card } from "./card"
@@ -19,6 +20,7 @@ import { Checkbox } from "./checkbox"
import { DiffChanges } from "./diff-changes"
import { Markdown } from "./markdown"
import { getDirectory as _getDirectory, getFilename } from "@opencode-ai/util/path"
+import { checksum } from "@opencode-ai/util/encode"
export interface MessageProps {
message: MessageType
@@ -488,9 +490,10 @@ ToolRegistry.register({
ToolRegistry.register({
name: "write",
render(props) {
- console.log(props)
+ const codeComponent = useCodeComponent()
return (
<BasicTool
+ defaultOpen
icon="code-lines"
trigger={
<div data-component="write-trigger">
@@ -507,19 +510,19 @@ ToolRegistry.register({
</div>
}
>
- {/* <Show when={props.input.content}> */}
- {/* <div data-component="write-content"> */}
- {/* <Code */}
- {/* file={{ */}
- {/* name: props.input.filePath, */}
- {/* contents: props.input.content, */}
- {/* cacheKey: checksum(props.input.content), */}
- {/* }} */}
- {/* overflow="scroll" */}
- {/* class="pb-40" */}
- {/* /> */}
- {/* </div> */}
- {/* </Show> */}
+ <Show when={props.input.content}>
+ <div data-component="write-content">
+ <Dynamic
+ component={codeComponent}
+ file={{
+ name: props.input.filePath,
+ contents: props.input.content,
+ cacheKey: checksum(props.input.content),
+ }}
+ overflow="scroll"
+ />
+ </div>
+ </Show>
</BasicTool>
)
},