summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/context/diff.tsx
blob: 630437de6297ef9aeb96b4e8f8fbf3d3090e9eed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
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
}