From ff690350b1ac5ec4f415d9d3eabaeb839196fa1c Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Tue, 16 Dec 2025 10:49:22 -0600 Subject: feat(desktop): show write tool output --- packages/ui/src/components/message-part.tsx | 31 ++++++++++++++++------------- packages/ui/src/context/code.tsx | 10 ++++++++++ packages/ui/src/context/diff.tsx | 19 ++++++++---------- 3 files changed, 35 insertions(+), 25 deletions(-) create mode 100644 packages/ui/src/context/code.tsx (limited to 'packages/ui/src') 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 ( @@ -507,19 +510,19 @@ ToolRegistry.register({ } > - {/* */} - {/*
*/} - {/* */} - {/*
*/} - {/*
*/} + +
+ +
+
) }, diff --git a/packages/ui/src/context/code.tsx b/packages/ui/src/context/code.tsx new file mode 100644 index 000000000..3a2511527 --- /dev/null +++ b/packages/ui/src/context/code.tsx @@ -0,0 +1,10 @@ +import type { ValidComponent } from "solid-js" +import { createSimpleContext } from "./helper" + +const ctx = createSimpleContext({ + name: "CodeComponent", + init: (props) => props.component, +}) + +export const CodeComponentProvider = ctx.provider +export const useCodeComponent = ctx.use diff --git a/packages/ui/src/context/diff.tsx b/packages/ui/src/context/diff.tsx index 630437de6..747de9cc8 100644 --- a/packages/ui/src/context/diff.tsx +++ b/packages/ui/src/context/diff.tsx @@ -1,13 +1,10 @@ -import { createContext, useContext, type ParentProps, type ValidComponent } from "solid-js" +import type { ValidComponent } from "solid-js" +import { createSimpleContext } from "./helper" -const DiffComponentContext = createContext() +const ctx = createSimpleContext({ + name: "DiffComponent", + init: (props) => props.component, +}) -export function DiffComponentProvider(props: ParentProps<{ component: ValidComponent }>) { - return {props.children} -} - -export function useDiffComponent() { - const component = useContext(DiffComponentContext) - if (!component) throw new Error("DiffComponentProvider must be used to provide a diff component") - return component -} +export const DiffComponentProvider = ctx.provider +export const useDiffComponent = ctx.use -- cgit v1.2.3