summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/components/Share.tsx
diff options
context:
space:
mode:
authorJay V <[email protected]>2025-06-24 19:02:16 -0400
committerJay V <[email protected]>2025-06-24 19:28:51 -0400
commita3cf18c905a65368dd39daaaeab49c98499ae4e8 (patch)
tree3e34c4539154e77ace61182270876ce94b7665a0 /packages/web/src/components/Share.tsx
parent0b1a8ae699a4bccc379f7f6569171163e1caa7cf (diff)
downloadopencode-a3cf18c905a65368dd39daaaeab49c98499ae4e8.tar.gz
opencode-a3cf18c905a65368dd39daaaeab49c98499ae4e8.zip
docs: share page bash tool output
Diffstat (limited to 'packages/web/src/components/Share.tsx')
-rw-r--r--packages/web/src/components/Share.tsx52
1 files changed, 36 insertions, 16 deletions
diff --git a/packages/web/src/components/Share.tsx b/packages/web/src/components/Share.tsx
index 73001e2ed..07b12946b 100644
--- a/packages/web/src/components/Share.tsx
+++ b/packages/web/src/components/Share.tsx
@@ -463,6 +463,7 @@ function MarkdownPart(props: MarkdownPartProps) {
interface TerminalPartProps extends JSX.HTMLAttributes<HTMLDivElement> {
command: string
+ error?: string
result?: string
desc?: string
expand?: boolean
@@ -470,6 +471,7 @@ interface TerminalPartProps extends JSX.HTMLAttributes<HTMLDivElement> {
function TerminalPart(props: TerminalPartProps) {
const [local, rest] = splitProps(props, [
"command",
+ "error",
"result",
"desc",
"expand",
@@ -508,12 +510,25 @@ function TerminalPart(props: TerminalPartProps) {
</div>
<div data-section="content">
<CodeBlock lang="bash" code={local.command} />
- <CodeBlock
- lang="console"
- onRendered={checkOverflow}
- ref={(el) => (preEl = el)}
- code={local.result || ""}
- />
+ <Switch>
+ <Match when={local.error}>
+ <CodeBlock
+ data-section="error"
+ lang="text"
+ onRendered={checkOverflow}
+ ref={(el) => (preEl = el)}
+ code={local.error || ""}
+ />
+ </Match>
+ <Match when={local.result}>
+ <CodeBlock
+ lang="console"
+ onRendered={checkOverflow}
+ ref={(el) => (preEl = el)}
+ code={local.result || ""}
+ />
+ </Match>
+ </Switch>
</div>
</div>
{((!local.expand && overflowed()) || expanded()) && (
@@ -1601,8 +1616,10 @@ export default function Share(props: {
}
>
{(_part) => {
- const command = () => toolData()?.args.command
- const desc = () => toolData()?.args.description
+ const command = () => toolData()?.metadata?.title
+ const desc = () => toolData()?.metadata?.description
+ const result = () => toolData()?.metadata?.stdout
+ const error = () => toolData()?.metadata?.stderr
return (
<div
@@ -1617,14 +1634,17 @@ export default function Share(props: {
<div></div>
</div>
<div data-section="content">
- <div data-part-tool-body>
- <TerminalPart
- desc={desc()}
- data-size="sm"
- command={command()}
- result={toolData()?.result}
- />
- </div>
+ {command() && (
+ <div data-part-tool-body>
+ <TerminalPart
+ desc={desc()}
+ data-size="sm"
+ command={command()!}
+ result={result()}
+ error={error()}
+ />
+ </div>
+ )}
<ToolFooter
time={toolData()?.duration || 0}
/>