import { useState, useCallback, useRef } from 'react'; import { ConfirmContext } from './confirmContextValue'; import './Confirm.css'; export function ConfirmProvider({ children }) { const [dialog, setDialog] = useState(null); const resolveRef = useRef(null); const confirm = useCallback((message) => { return new Promise((resolve) => { resolveRef.current = resolve; setDialog({ message }); }); }, []); const handleConfirm = useCallback(() => { resolveRef.current?.(true); resolveRef.current = null; setDialog(null); }, []); const handleCancel = useCallback(() => { resolveRef.current?.(false); resolveRef.current = null; setDialog(null); }, []); return ( {children} {dialog && (
e.stopPropagation()}>

{dialog.message}

)}
); }