"use client" import React, { useContext, useState } from "react" import { createContext } from "react" import Modal, { ModalProps } from "../components/Modal" type ModalContextType = { modalProps: ModalProps | null setModalProps: (value: ModalProps | null) => void closeModal: () => void } const ModalContext = createContext(null) type ModalProviderProps = { children?: React.ReactNode } const ModalProvider = ({ children }: ModalProviderProps) => { const [modalProps, setModalProps] = useState(null) const closeModal = () => { setModalProps(null) } return ( {children} {modalProps && ( <>
)}
) } export default ModalProvider export const useModal = () => { const context = useContext(ModalContext) if (!context) { throw new Error("useModal must be used within a ModalProvider") } return context }