| 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> | |
| ) | |
| } | |