()
| 4 | |
| 5 | let resolveCallback |
| 6 | const useConfirm = () => { |
| 7 | const [confirmState, dispatch] = useContext(ConfirmContext) |
| 8 | |
| 9 | const closeConfirm = () => { |
| 10 | dispatch({ |
| 11 | type: HIDE_CONFIRM |
| 12 | }) |
| 13 | } |
| 14 | |
| 15 | const onConfirm = () => { |
| 16 | closeConfirm() |
| 17 | resolveCallback(true) |
| 18 | } |
| 19 | |
| 20 | const onCancel = () => { |
| 21 | closeConfirm() |
| 22 | resolveCallback(false) |
| 23 | } |
| 24 | const confirm = (confirmPayload) => { |
| 25 | dispatch({ |
| 26 | type: SHOW_CONFIRM, |
| 27 | payload: confirmPayload |
| 28 | }) |
| 29 | return new Promise((res) => { |
| 30 | resolveCallback = res |
| 31 | }) |
| 32 | } |
| 33 | |
| 34 | return { confirm, onConfirm, onCancel, confirmState } |
| 35 | } |
| 36 | |
| 37 | export default useConfirm |
no outgoing calls
no test coverage detected