Rev 3544 | Rev 3546 | 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 = () => {} }) => {try {setMessage(message);setOnConfirm(() => onConfirm);setOnCancel(() => onCancel);setShow(true);} catch (error) {console.error('Error showing alert:', error);setShow(false);}}, []);const closeAlert = useCallback(() => {setMessage('');setShow(false);// Limpiar las funciones después de cerrarsetOnConfirm(() => {});setOnCancel(() => {});}, []);return (<AlertModalContext.Providervalue={{show,message,showAlert,closeAlert,onConfirm,onCancel: onCancel || closeAlert}}>{children}</AlertModalContext.Provider>);}