diff options
| author | Adam <[email protected]> | 2025-12-07 21:21:13 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-07 21:21:18 -0600 |
| commit | 9a90939ac410e3ebffb741994383d7a434069682 (patch) | |
| tree | f3621d491af6eb97e0bf9039c7f82f0451ebd9d7 /packages/ui/src/context | |
| parent | 123a136093968376935e7166efd26b17a3f68b39 (diff) | |
| download | opencode-9a90939ac410e3ebffb741994383d7a434069682.tar.gz opencode-9a90939ac410e3ebffb741994383d7a434069682.zip | |
fix: use diff context instead of prop drilling
Diffstat (limited to 'packages/ui/src/context')
| -rw-r--r-- | packages/ui/src/context/diff.tsx | 13 | ||||
| -rw-r--r-- | packages/ui/src/context/index.ts | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/packages/ui/src/context/diff.tsx b/packages/ui/src/context/diff.tsx new file mode 100644 index 000000000..630437de6 --- /dev/null +++ b/packages/ui/src/context/diff.tsx @@ -0,0 +1,13 @@ +import { createContext, useContext, type ParentProps, type ValidComponent } from "solid-js" + +const DiffComponentContext = createContext<ValidComponent>() + +export function DiffComponentProvider(props: ParentProps<{ component: ValidComponent }>) { + return <DiffComponentContext.Provider value={props.component}>{props.children}</DiffComponentContext.Provider> +} + +export function useDiffComponent() { + const component = useContext(DiffComponentContext) + if (!component) throw new Error("DiffComponentProvider must be used to provide a diff component") + return component +} diff --git a/packages/ui/src/context/index.ts b/packages/ui/src/context/index.ts index fdff32bf2..3e0f5de74 100644 --- a/packages/ui/src/context/index.ts +++ b/packages/ui/src/context/index.ts @@ -1,2 +1,3 @@ export * from "./helper" export * from "./data" +export * from "./diff" |
