mirror of
				https://github.com/langgenius/dify.git
				synced 2025-11-04 04:43:09 +00:00 
			
		
		
		
	Co-authored-by: Joel <iamjoel007@gmail.com> Co-authored-by: Yeuoly <admin@srmxy.cn> Co-authored-by: JzoNg <jzongcode@gmail.com> Co-authored-by: StyleZhang <jasonapring2015@outlook.com> Co-authored-by: jyong <jyong@dify.ai> Co-authored-by: nite-knite <nkCoding@gmail.com> Co-authored-by: jyong <718720800@qq.com>
		
			
				
	
	
		
			28 lines
		
	
	
		
			650 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			650 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import {
 | 
						|
  createContext,
 | 
						|
  useRef,
 | 
						|
} from 'react'
 | 
						|
import type {
 | 
						|
  FeaturesState,
 | 
						|
  FeaturesStore,
 | 
						|
} from './store'
 | 
						|
import { createFeaturesStore } from './store'
 | 
						|
 | 
						|
export const FeaturesContext = createContext<FeaturesStore | null>(null)
 | 
						|
 | 
						|
type FeaturesProviderProps = {
 | 
						|
  children: React.ReactNode
 | 
						|
} & Partial<FeaturesState>
 | 
						|
export const FeaturesProvider = ({ children, ...props }: FeaturesProviderProps) => {
 | 
						|
  const storeRef = useRef<FeaturesStore>()
 | 
						|
 | 
						|
  if (!storeRef.current)
 | 
						|
    storeRef.current = createFeaturesStore(props)
 | 
						|
 | 
						|
  return (
 | 
						|
    <FeaturesContext.Provider value={storeRef.current}>
 | 
						|
      {children}
 | 
						|
    </FeaturesContext.Provider>
 | 
						|
  )
 | 
						|
}
 |