Proyectos de Subversion LeadersLinked - SPA

Rev

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

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