Rev 3539 | Rev 3545 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { createContext, useCallback, useState } from 'react';
export const AlertModalContext = createContext({
show: false,
message: '',
onConfirm: () => {},
onCancel: () => {},
showAlert: () => {},
closeAlert: () => {}
});
export function AlertModalProvider({ children }) {
const [show, setShow] = useState(false);
const [message, setMessage] = useState('');
const [onConfirm, setOnConfirm] = useState(() => {});
const [onCancel, setOnCancel] = useState(() => {});
const showAlert = useCallback(({ message = '', onConfirm = () => {}, onCancel = () => {} }) => {
setMessage(message);
setOnConfirm(() => {
onConfirm();
});
setOnCancel(() => {
onCancel();
});
setShow(true);
}, []);
const closeAlert = useCallback(() => {
setMessage('');
setShow(false);
}, []);
return (
<AlertModalContext.Provider
value={{
show,
message,
showAlert,
closeAlert,
onConfirm,
onCancel: onCancel || closeAlert
}}
>
{children}
</AlertModalContext.Provider>
);
}