diff options
| author | Adam <[email protected]> | 2025-12-31 09:23:24 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-31 09:23:24 -0600 |
| commit | 2ec6a21cc0018be6677e4cbad6bf48dbf8b37786 (patch) | |
| tree | 6ad3f27288f660b4bba43772075c5138764f25b3 /packages/ui/src/components/diff.tsx | |
| parent | ebf5ad25c5f5cdf42bcb93199d9913f260ebe767 (diff) | |
| download | opencode-2ec6a21cc0018be6677e4cbad6bf48dbf8b37786.tar.gz opencode-2ec6a21cc0018be6677e4cbad6bf48dbf8b37786.zip | |
feat(desktop): unified diff toggle
Diffstat (limited to 'packages/ui/src/components/diff.tsx')
| -rw-r--r-- | packages/ui/src/components/diff.tsx | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/packages/ui/src/components/diff.tsx b/packages/ui/src/components/diff.tsx index 75dde0440..ff70cece9 100644 --- a/packages/ui/src/components/diff.tsx +++ b/packages/ui/src/components/diff.tsx @@ -1,7 +1,7 @@ import { FileDiff } from "@pierre/diffs" import { createEffect, createMemo, onCleanup, splitProps } from "solid-js" import { createDefaultOptions, type DiffProps, styleVariables } from "../pierre" -import { workerPool } from "../pierre/worker" +import { getWorkerPool } from "../pierre/worker" // interface ThreadMetadata { // threadId: string @@ -20,26 +20,23 @@ export function Diff<T>(props: DiffProps<T>) { ...createDefaultOptions(props.diffStyle), ...others, }, - workerPool, + getWorkerPool(props.diffStyle), ), ) - const cleanupFunctions: Array<() => void> = [] - createEffect(() => { + const diff = fileDiff() container.innerHTML = "" - fileDiff().render({ + diff.render({ oldFile: local.before, newFile: local.after, lineAnnotations: local.annotations, containerWrapper: container, }) - }) - onCleanup(() => { - // Clean up FileDiff event handlers and dispose SolidJS components - fileDiff()?.cleanUp() - cleanupFunctions.forEach((dispose) => dispose()) + onCleanup(() => { + diff.cleanUp() + }) }) return <div data-component="diff" style={styleVariables} ref={container} /> |
