import React, { useState } from 'react'; import ConfirmDialog from '@components/ConfirmDialog'; const useConfirm = () => { const [isOpen, setIsOpen] = useState(false); const [title, setTitle] = useState(""); const [subtitle, setSubtitle] = useState(""); const [resolvePromise, setResolvePromise] = useState<((value: boolean) => void) | null>(null); const confirm = ( titleN: string, subtitleN: string ) => { setIsOpen(true); setTitle(titleN); setSubtitle(subtitleN); return new Promise((resolve) => { setResolvePromise(() => resolve); }); }; const handleConfirm = () => { setIsOpen(false); if (resolvePromise) { resolvePromise(true); } } const handleCancel = () => { setIsOpen(false); if (resolvePromise) { resolvePromise(false); } } const ConfirmDialogComponent = isOpen && ( ); return { confirm, ConfirmDialogComponent }; } export default useConfirm;