import { createContext, useRef, } from 'react' import { createWorkflowStore, } from './store' import type { StateCreator } from 'zustand' import type { WorkflowSliceShape } from '@/app/components/workflow-app/store/workflow/workflow-slice' type WorkflowStore = ReturnType export const WorkflowContext = createContext(null) export type WorkflowProviderProps = { children: React.ReactNode injectWorkflowStoreSliceFn?: StateCreator } export const WorkflowContextProvider = ({ children, injectWorkflowStoreSliceFn }: WorkflowProviderProps) => { const storeRef = useRef(undefined) if (!storeRef.current) storeRef.current = createWorkflowStore({ injectWorkflowStoreSliceFn }) return ( {children} ) }