Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 1437 | Rev 3719 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3432 stevensc 1
import React from "react";
2
import { useDispatch } from "react-redux";
3
import parse from "html-react-parser";
5 stevensc 4
 
3432 stevensc 5
import { axios } from "utils/index";
6
import { addNotification } from "../../redux/notification/notification.actions";
7
import Modal from "components/UI/modal/Modal";
8
import { Box } from "@mui/material";
1437 stevensc 9
 
5 stevensc 10
const EventModal = ({ event, show, onClose }) => {
3432 stevensc 11
  const dispatch = useDispatch();
5 stevensc 12
 
3432 stevensc 13
  const getBackendVarUrl = (url = "") => {
14
    if (!url) return;
5 stevensc 15
 
16
    axios
17
      .get(url)
3432 stevensc 18
      .then((response) => {
19
        const { data, success } = response.data;
5 stevensc 20
 
21
        if (!success) {
725 stevensc 22
          const errorMessage =
3432 stevensc 23
            typeof data === "string"
725 stevensc 24
              ? data
3432 stevensc 25
              : "Error interno. Por favor, intente más tarde.";
26
          throw new Error(errorMessage);
5 stevensc 27
        }
28
 
3432 stevensc 29
        window.open(data, "_blank");
5 stevensc 30
      })
655 stevensc 31
      .catch((err) => {
3432 stevensc 32
        dispatch(addNotification({ style: "danger", message: err.message }));
33
      });
34
  };
5 stevensc 35
 
36
  return (
1437 stevensc 37
    <Modal title={event?.title} show={show} onClose={onClose}>
38
      <Box
3432 stevensc 39
        sx={{ cursor: event?.ur ? "pointer" : "default" }}
1437 stevensc 40
        onClick={() => getBackendVarUrl(event?.url)}
41
      >
42
        {event?.agenda && parse(event?.agenda)}
43
      </Box>
5 stevensc 44
    </Modal>
3432 stevensc 45
  );
46
};
5 stevensc 47
 
3432 stevensc 48
export default EventModal;