import React, { useState } from 'react'; import MessageDialog from "../components/MessageDialog"; const useMessage = () => { const [isOpen, setIsOpen] = useState(false); const [title, setTitle] = useState(""); const [subtitle, setSubtitle] = useState(""); const [resolvePromise, setResolvePromise] = useState<(() => void) | null>(null); const message = (title: string, subtitle: string) => { setIsOpen(true); setTitle(title); setSubtitle(subtitle); return new Promise((resolve) => { setResolvePromise(() => resolve); }); }; const handleClose = () => { setIsOpen(false); if (resolvePromise) { resolvePromise(); setResolvePromise(null); } }; const MessageDialogComponent = isOpen && (
); return { message, MessageDialogComponent }; } export default useMessage;