summaryrefslogtreecommitdiffhomepage
path: root/packages
diff options
context:
space:
mode:
authorJay V <[email protected]>2025-06-03 17:20:24 -0400
committerJay V <[email protected]>2025-06-03 17:20:30 -0400
commit8206da4d9ef5871ebf1cf56f9231eba5b7036fc3 (patch)
treec6254891ed4534405f952fe9e7abfd7e3e7abf5a /packages
parent0c6bda825518326cc5fc81ad379636fb1d79db40 (diff)
downloadopencode-8206da4d9ef5871ebf1cf56f9231eba5b7036fc3.tar.gz
opencode-8206da4d9ef5871ebf1cf56f9231eba5b7036fc3.zip
share page bugs
Diffstat (limited to 'packages')
-rw-r--r--packages/web/src/components/CodeBlock.tsx5
-rw-r--r--packages/web/src/components/Share.tsx11
2 files changed, 7 insertions, 9 deletions
diff --git a/packages/web/src/components/CodeBlock.tsx b/packages/web/src/components/CodeBlock.tsx
index b3a0d3f2e..a9bfae8be 100644
--- a/packages/web/src/components/CodeBlock.tsx
+++ b/packages/web/src/components/CodeBlock.tsx
@@ -12,9 +12,10 @@ import { transformerNotationDiff } from "@shikijs/transformers"
interface CodeBlockProps extends JSX.HTMLAttributes<HTMLDivElement> {
code: string
lang?: string
+ onRendered?: () => void
}
function CodeBlock(props: CodeBlockProps) {
- const [local, rest] = splitProps(props, ["code", "lang"])
+ const [local, rest] = splitProps(props, ["code", "lang", "onRendered"])
let containerRef!: HTMLDivElement
const [html] = createResource(async () => {
@@ -35,6 +36,8 @@ function CodeBlock(props: CodeBlockProps) {
createEffect(() => {
if (html() && containerRef) {
containerRef.innerHTML = html() as string
+
+ local.onRendered?.()
}
})
diff --git a/packages/web/src/components/Share.tsx b/packages/web/src/components/Share.tsx
index d572dcdd5..e0a73edc7 100644
--- a/packages/web/src/components/Share.tsx
+++ b/packages/web/src/components/Share.tsx
@@ -188,7 +188,7 @@ function TextPart(props: TextPartProps) {
{...rest}
>
<pre ref={(el) => (preEl = el)}>{local.text}</pre>
- {overflowed() && (
+ {((!local.expand && overflowed()) || expanded()) && (
<button
type="button"
data-element-button-text
@@ -223,15 +223,9 @@ function TerminalPart(props: TerminalPartProps) {
}
onMount(() => {
- checkOverflow()
window.addEventListener("resize", checkOverflow)
})
- createEffect(() => {
- local.text
- setTimeout(checkOverflow, 0)
- })
-
onCleanup(() => {
window.removeEventListener("resize", checkOverflow)
})
@@ -247,12 +241,13 @@ function TerminalPart(props: TerminalPartProps) {
<div data-section="content">
<CodeBlock
lang="ansi"
+ onRendered={checkOverflow}
ref={(el) => (preEl = el)}
code={`\x1b[90m>\x1b[0m ${local.text}`}
/>
</div>
</div>
- {overflowed() && (
+ {((!local.expand && overflowed()) || expanded()) && (
<button
type="button"
data-element-button-text