dify/web/app/components/plugins/marketplace/context.tsx

46 lines
960 B
TypeScript
Raw Normal View History

2024-10-12 18:02:24 +08:00
'use client'
import type { ReactNode } from 'react'
import {
useState,
} from 'react'
import {
createContext,
useContextSelector,
} from 'use-context-selector'
export type MarketplaceContextValue = {
intersected: boolean
setIntersected: (intersected: boolean) => void
}
export const MarketplaceContext = createContext<MarketplaceContextValue>({
intersected: true,
setIntersected: () => {},
})
type MarketplaceContextProviderProps = {
children: ReactNode
}
export function useMarketplaceContext(selector: (value: MarketplaceContextValue) => any) {
return useContextSelector(MarketplaceContext, selector)
}
export const MarketplaceContextProvider = ({
children,
}: MarketplaceContextProviderProps) => {
const [intersected, setIntersected] = useState(true)
return (
<MarketplaceContext.Provider
value={{
intersected,
setIntersected,
}}
>
{children}
</MarketplaceContext.Provider>
)
}