import { useContext } from "react"; import { PromptContext } from "../providers/prompt-provider"; export const usePrompt = () => { const { message, resolve, setMessage, setResolve } = useContext(PromptContext); const prompt = (message: string) => { setMessage(message); return new Promise<{ resolved: boolean; value?: string }>((resolve) => { setResolve(() => resolve); }); }; const onSubmit = (value: string) => { resolve?.({ resolved: true, value }); setMessage(""); }; const onCancel = () => { resolve?.({ resolved: false }); setMessage(""); }; return { message, isOpen: !!message, prompt, onSubmit, onCancel }; };