| import { |
| createContext, |
| useRef, |
| } from 'react' |
| import { createWorkflowStore } from './store' |
|
|
| type WorkflowStore = ReturnType<typeof createWorkflowStore> |
| export const WorkflowContext = createContext<WorkflowStore | null>(null) |
|
|
| type WorkflowProviderProps = { |
| children: React.ReactNode |
| } |
| export const WorkflowContextProvider = ({ children }: WorkflowProviderProps) => { |
| const storeRef = useRef<WorkflowStore>() |
|
|
| if (!storeRef.current) |
| storeRef.current = createWorkflowStore() |
|
|
| return ( |
| <WorkflowContext.Provider value={storeRef.current}> |
| {children} |
| </WorkflowContext.Provider> |
| ) |
| } |
|
|