dify/web/app/components/workflow/context.tsx
Stephen Zhou a84c2d36a3
style: format with vp fmt (#38803)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-07-12 15:57:46 +00:00

23 lines
841 B
TypeScript

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