diff options
| author | Jay V <[email protected]> | 2025-07-03 13:15:18 -0400 |
|---|---|---|
| committer | Jay V <[email protected]> | 2025-07-03 13:15:21 -0400 |
| commit | 3e2a0c7281d449452d6808fdff80e2a1d8cf998d (patch) | |
| tree | ed48f85259cee6e41ea110895a0bf8d47487d603 /packages/web/src/components/CodeBlock.tsx | |
| parent | 5a0910ea79b3f219c64f922fc775636b2bfdf07c (diff) | |
| download | opencode-3e2a0c7281d449452d6808fdff80e2a1d8cf998d.tar.gz opencode-3e2a0c7281d449452d6808fdff80e2a1d8cf998d.zip | |
docs: share handle slow loading pages
Diffstat (limited to 'packages/web/src/components/CodeBlock.tsx')
| -rw-r--r-- | packages/web/src/components/CodeBlock.tsx | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/packages/web/src/components/CodeBlock.tsx b/packages/web/src/components/CodeBlock.tsx index 4c6aab48e..6a6846891 100644 --- a/packages/web/src/components/CodeBlock.tsx +++ b/packages/web/src/components/CodeBlock.tsx @@ -1,8 +1,6 @@ import { type JSX, - onCleanup, splitProps, - createEffect, createResource, } from "solid-js" import { codeToHtml } from "shiki" @@ -12,15 +10,15 @@ 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", "onRendered"]) - let containerRef!: HTMLDivElement + const [local, rest] = splitProps(props, ["code", "lang"]) const [html] = createResource( () => [local.code, local.lang], async ([code, lang]) => { + // TODO: For testing delays + // await new Promise((resolve) => setTimeout(resolve, 3000)) return (await codeToHtml(code || "", { lang: lang || "text", themes: { @@ -32,25 +30,7 @@ function CodeBlock(props: CodeBlockProps) { }, ) - onCleanup(() => { - if (containerRef) containerRef.innerHTML = "" - }) - - createEffect(() => { - if (html() && containerRef) { - containerRef.innerHTML = html() as string - - local.onRendered?.() - } - }) - - return ( - <> - {html() ? ( - <div ref={containerRef} class={styles.codeblock} {...rest}></div> - ) : null} - </> - ) + return <div innerHTML={html()} class={styles.codeblock} {...rest}></div > } export default CodeBlock |
