Files
frontend/apps/cs/src/shared/lib/use-prompt.tsx
T
2025-05-13 17:37:39 +09:00

27 lines
609 B
TypeScript

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<string>((resolve) => {
setResolve(() => resolve);
});
};
const onSubmit = (value: string) => {
resolve?.(value);
setMessage("");
};
const onCancel = () => {
resolve?.("");
setMessage("");
};
return { message, isOpen: !!message, prompt, onSubmit, onCancel };
};