// ── Globaler Bestätigungs-Dialog ───────────────────────────────────────────── // Verwendung: const { confirm, ConfirmDialog } = useConfirm(); // await confirm('Wirklich löschen?') && deleteFn(); import { useState, useCallback } from 'react'; export function useConfirm() { const [state, setState] = useState({ open:false, msg:'', resolve:null }); const confirm = useCallback((msg='Wirklich fortfahren?') => { return new Promise(resolve => { setState({ open:true, msg, resolve }); }); }, []); const handle = yes => { state.resolve?.(yes); setState({ open:false, msg:'', resolve:null }); }; const ConfirmDialog = () => !state.open ? null : (
{state.msg}