"use client"; import { createContext, useContext, useState } from "react"; // Define the context type interface ModalContextType { isOpen: boolean; open: () => void; close: () => void; toggle: () => void; } // Create context with default values (no null) const ModalContext = createContext({ isOpen: false, open: () => {}, close: () => {}, toggle: () => {}, }); export function ModalProvider({ children }: { children: React.ReactNode }) { const [isOpen, setIsOpen] = useState(false); const open = () => setIsOpen(true); const close = () => setIsOpen(false); const toggle = () => setIsOpen((prev) => !prev); const value: ModalContextType = { isOpen, open, close, toggle, }; return ( {children} ); } export function useModal(): ModalContextType { return useContext(ModalContext); }