summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/context
diff options
context:
space:
mode:
Diffstat (limited to 'packages/ui/src/context')
-rw-r--r--packages/ui/src/context/diff.tsx13
-rw-r--r--packages/ui/src/context/index.ts1
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"