Untitled
unknown
plain_text
a year ago
800 B
14
Indexable
import { createContext, useState, ReactNode, useContext } from "react";
interface IModalContext {
isOpen: boolean;
setIsOpen: (value: boolean) => void;
}
export const ModalContext = createContext<IModalContext | undefined>(undefined);
interface IModalContextProps {
children: ReactNode;
}
export const ModalProvider: React.FC<IModalContextProps> = ({ children }) => {
const [isOpen, setIsOpen] = useState<boolean>(false);
return (
<ModalContext.Provider value={{ isOpen, setIsOpen }}>
{children}
</ModalContext.Provider>
);
};
export function useModal() {
const context = useContext(ModalContext);
if (context === undefined) {
throw new Error("useModal deve ser usado dentro de um ModalProvider");
}
return context;
}
Editor is loading...
Leave a Comment