summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/components/share/content-text.tsx
diff options
context:
space:
mode:
authorDax <[email protected]>2025-07-07 15:53:43 -0400
committerGitHub <[email protected]>2025-07-07 15:53:43 -0400
commitf884766445bbf1fbce11f1db4bc6174e72d9baa5 (patch)
treee7d9e7b3d8efc8bed249f9d29e2d8fb838a275f2 /packages/web/src/components/share/content-text.tsx
parent76b2e4539cb97bae5812ed2d832ce49d02e70c64 (diff)
downloadopencode-f884766445bbf1fbce11f1db4bc6174e72d9baa5.tar.gz
opencode-f884766445bbf1fbce11f1db4bc6174e72d9baa5.zip
v2 message format and upgrade to ai sdk v5 (#743)
Co-authored-by: GitHub Action <[email protected]> Co-authored-by: Liang-Shih Lin <[email protected]> Co-authored-by: Dominik Engelhardt <[email protected]> Co-authored-by: Jay V <[email protected]> Co-authored-by: adamdottv <[email protected]>
Diffstat (limited to 'packages/web/src/components/share/content-text.tsx')
-rw-r--r--packages/web/src/components/share/content-text.tsx35
1 files changed, 35 insertions, 0 deletions
diff --git a/packages/web/src/components/share/content-text.tsx b/packages/web/src/components/share/content-text.tsx
new file mode 100644
index 000000000..c52e0dfcc
--- /dev/null
+++ b/packages/web/src/components/share/content-text.tsx
@@ -0,0 +1,35 @@
+import style from "./content-text.module.css"
+import { createSignal } from "solid-js"
+import { createOverflow } from "./common"
+
+interface Props {
+ text: string
+ expand?: boolean
+ compact?: boolean
+}
+export function ContentText(props: Props) {
+ const [expanded, setExpanded] = createSignal(false)
+ const overflow = createOverflow()
+
+ return (
+ <div
+ class={style.root}
+ data-expanded={expanded() || props.expand === true ? true : undefined}
+ data-compact={props.compact === true ? true : undefined}
+ >
+ <pre data-slot="text" ref={overflow.ref}>
+ {props.text}
+ </pre>
+ {((!props.expand && overflow.status) || expanded()) && (
+ <button
+ type="button"
+ data-component="text-button"
+ data-slot="expand-button"
+ onClick={() => setExpanded((e) => !e)}
+ >
+ {expanded() ? "Show less" : "Show more"}
+ </button>
+ )}
+ </div>
+ )
+}