Rev 3658 | 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 [title, setTitle] = useState('');const [message, setMessage] = useState('');const [onConfirm, setOnConfirm] = useState(() => {});const [onCancel, setOnCancel] = useState(() => {});const showAlert = useCallback(({ title = '', message = '', onConfirm = () => {}, onCancel }) => {try {setTitle(title);setMessage(message);setOnConfirm(() => onConfirm);setOnCancel(() => (onCancel ? onCancel : closeAlert));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,title,message,showAlert,closeAlert,onConfirm,onCancel}}>{children}</AlertModalContext.Provider>);}