"use client"; import { createContext, useContext, useState, ReactNode } from "react"; export type DoomOverlayContextValue = { isOpen: boolean; open: () => void; close: () => void; }; const DoomOverlayContext = createContext( undefined ); interface DoomOverlayProviderProps { children: ReactNode; } export function DoomOverlayProvider({ children }: DoomOverlayProviderProps) { const [isOpen, setIsOpen] = useState(false); const open = () => { try { console.log("[DoomOverlay] open"); } catch {} setIsOpen(true); }; const close = () => { try { console.log("[DoomOverlay] close"); } catch {} setIsOpen(false); }; const value: DoomOverlayContextValue = { isOpen, open, close, }; return ( {children} ); } export function useDoomOverlay(): DoomOverlayContextValue { const context = useContext(DoomOverlayContext); if (context === undefined) { throw new Error("useDoomOverlay must be used within a DoomOverlayProvider"); } return context; }