mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-07-08 17:41:48 +08:00
42 lines
996 B
TypeScript
42 lines
996 B
TypeScript
'use client'
|
|
|
|
import type { ReactNode } from 'react'
|
|
import { useState } from 'react'
|
|
import {
|
|
createContext,
|
|
useContextSelector,
|
|
} from 'use-context-selector'
|
|
|
|
export type MarketplaceContextValue = {
|
|
scrollIntersected: boolean
|
|
setScrollIntersected: (scrollIntersected: boolean) => void
|
|
}
|
|
|
|
export const MarketplaceContext = createContext<MarketplaceContextValue>({
|
|
scrollIntersected: false,
|
|
setScrollIntersected: () => {},
|
|
})
|
|
|
|
type MarketplaceContextProviderProps = {
|
|
children: ReactNode
|
|
}
|
|
|
|
export function useMarketplaceContext(selector: (value: MarketplaceContextValue) => any) {
|
|
return useContextSelector(MarketplaceContext, selector)
|
|
}
|
|
|
|
export const MarketplaceContextProvider = ({
|
|
children,
|
|
}: MarketplaceContextProviderProps) => {
|
|
const [scrollIntersected, setScrollIntersected] = useState(false)
|
|
|
|
return (
|
|
<MarketplaceContext.Provider value={{
|
|
scrollIntersected,
|
|
setScrollIntersected,
|
|
}}>
|
|
{children}
|
|
</MarketplaceContext.Provider>
|
|
)
|
|
}
|