diff options
| author | adamdotdevin <[email protected]> | 2025-08-10 19:24:16 -0500 |
|---|---|---|
| committer | adamdotdevin <[email protected]> | 2025-08-10 19:25:03 -0500 |
| commit | b8d2aebf09313d451cec873b3d0807b818015b32 (patch) | |
| tree | 05f4edc9e4b15b6754e555a7b4eb03b46c997a58 /packages/web/src/components/share/part.tsx | |
| parent | 20e818ad05b385b51a29d265f0731155562e88c2 (diff) | |
| download | opencode-b8d2aebf09313d451cec873b3d0807b818015b32.tar.gz opencode-b8d2aebf09313d451cec873b3d0807b818015b32.zip | |
feat: thinking blocks rendered in tui and share page
Diffstat (limited to 'packages/web/src/components/share/part.tsx')
| -rw-r--r-- | packages/web/src/components/share/part.tsx | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/packages/web/src/components/share/part.tsx b/packages/web/src/components/share/part.tsx index 772a80dc6..30f927fc4 100644 --- a/packages/web/src/components/share/part.tsx +++ b/packages/web/src/components/share/part.tsx @@ -19,7 +19,7 @@ import { IconMagnifyingGlass, IconDocumentMagnifyingGlass, } from "../icons" -import { IconMeta, IconRobot, IconOpenAI, IconGemini, IconAnthropic } from "../icons/custom" +import { IconMeta, IconRobot, IconOpenAI, IconGemini, IconAnthropic, IconBrain } from "../icons/custom" import { ContentCode } from "./content-code" import { ContentDiff } from "./content-diff" import { ContentText } from "./content-text" @@ -83,6 +83,9 @@ export function Part(props: PartProps) { > {(model) => <ProviderIcon model={model()} size={18} />} </Match> + <Match when={props.part.type === "reasoning" && props.message.role === "assistant"}> + <IconBrain width={18} height={18} /> + </Match> <Match when={props.part.type === "tool" && props.part.tool === "todowrite"}> <IconQueueList width={18} height={18} /> </Match> @@ -157,6 +160,13 @@ export function Part(props: PartProps) { )} </div> )} + {props.message.role === "assistant" && props.part.type === "reasoning" && ( + <div data-component="assistant-reasoning"> + <div data-component="assistant-reasoning-markdown"> + <ContentMarkdown expand={props.last} text={props.part.text || "Thinking..."} /> + </div> + </div> + )} {props.message.role === "user" && props.part.type === "file" && ( <div data-component="attachment"> <div data-slot="copy">Attachment</div> |
