diff options
| author | Adam <[email protected]> | 2025-12-02 07:08:18 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-02 07:08:25 -0600 |
| commit | 67ab9dc4d049d6a1090cee9b51913e0c440a875f (patch) | |
| tree | 479f685cc697795fd5c63937e2e5d4a4319703b2 | |
| parent | 77494cb7df511964cf20be61461e5d69a372d316 (diff) | |
| download | opencode-67ab9dc4d049d6a1090cee9b51913e0c440a875f.tar.gz opencode-67ab9dc4d049d6a1090cee9b51913e0c440a875f.zip | |
fix: share page ssr
| -rw-r--r-- | packages/ui/src/components/message-progress.tsx | 29 | ||||
| -rw-r--r-- | packages/ui/src/components/session-turn.tsx | 6 |
2 files changed, 30 insertions, 5 deletions
diff --git a/packages/ui/src/components/message-progress.tsx b/packages/ui/src/components/message-progress.tsx index 7717e5e76..afd7f754a 100644 --- a/packages/ui/src/components/message-progress.tsx +++ b/packages/ui/src/components/message-progress.tsx @@ -1,11 +1,27 @@ -import { For, JSXElement, Match, Show, Switch, createEffect, createMemo, createSignal, onCleanup } from "solid-js" +import { + For, + JSXElement, + Match, + Show, + Switch, + ValidComponent, + createEffect, + createMemo, + createSignal, + onCleanup, +} from "solid-js" import { Part } from "./message-part" import { Spinner } from "./spinner" import { useData } from "../context/data" import type { AssistantMessage as AssistantMessageType, ToolPart } from "@opencode-ai/sdk" -import { Diff } from "./diff" -export function MessageProgress(props: { assistantMessages: () => AssistantMessageType[]; done?: boolean }) { +export interface MessageProgressProps { + assistantMessages: () => AssistantMessageType[] + diffComponent: ValidComponent + done?: boolean +} + +export function MessageProgress(props: MessageProgressProps) { const data = useData() const sanitizer = createMemo(() => (data.directory ? new RegExp(`${data.directory}/`, "g") : undefined)) const parts = createMemo(() => props.assistantMessages().flatMap((m) => data.store.part[m.id])) @@ -156,7 +172,12 @@ export function MessageProgress(props: { assistantMessages: () => AssistantMessa ) return ( <div data-slot="message-progress-item"> - <Part message={message()!} part={part} sanitize={sanitizer()} diffComponent={Diff} /> + <Part + message={message()!} + part={part} + sanitize={sanitizer()} + diffComponent={props.diffComponent} + /> </div> ) }} diff --git a/packages/ui/src/components/session-turn.tsx b/packages/ui/src/components/session-turn.tsx index 2dc83a9a7..963713a22 100644 --- a/packages/ui/src/components/session-turn.tsx +++ b/packages/ui/src/components/session-turn.tsx @@ -206,7 +206,11 @@ export function SessionTurn( <div data-slot="session-turn-response-section"> <Switch> <Match when={!completed()}> - <MessageProgress assistantMessages={assistantMessages} done={!messageWorking()} /> + <MessageProgress + assistantMessages={assistantMessages} + done={!messageWorking()} + diffComponent={props.diffComponent} + /> </Match> <Match when={completed() && hasToolPart()}> <Collapsible variant="ghost" open={detailsExpanded()} onOpenChange={setDetailsExpanded}> |
