import { useCallback, useState } from "react"; export const useItemActionConfirm = (actionFn) => { const [item, setItem] = useState(null); const onActionConfirm = useCallback(() => { if (item) { actionFn.run(item); setItem(null); } }, [item, setItem, actionFn]); const onActionCancel = useCallback(() => { setItem(null); }, [setItem]); return [item, setItem, onActionConfirm, onActionCancel]; }; export const useActionConfirm = (actionFn, actionArgs) => { const [showConfirm, setShowConfirm] = useState(false); const onActionConfirm = useCallback(() => { if (showConfirm) { actionFn.run(actionArgs); setShowConfirm(false); } }, [showConfirm, setShowConfirm, actionFn, actionArgs]); const onActionCancel = useCallback(() => { setShowConfirm(false); }, [setShowConfirm]); return [showConfirm, setShowConfirm, onActionConfirm, onActionCancel]; };