infio-copilot/src/contexts/DialogContext.tsx
duanfuxiang 0c7ee142cb init
2025-01-05 11:51:39 +08:00

28 lines
586 B
TypeScript

import React, { createContext, useContext } from 'react'
const DialogContext = createContext<HTMLElement | null>(null)
export function DialogProvider({
children,
container,
}: {
children: React.ReactNode
container: HTMLElement | null
}) {
return (
<DialogContext.Provider value={container}>
{children}
</DialogContext.Provider>
)
}
export function useDialogContainer() {
const context = useContext(DialogContext)
if (!context) {
throw new Error(
'useDialogContainer must be used within a DialogContainerProvider',
)
}
return context
}