Proyectos de Subversion LeadersLinked - SPA

Rev

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