Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4984 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 4984 Rev 5066
Línea 2... Línea 2...
2
import axios from '../../utils/axios'
2
import axios from '../../utils/axios'
3
import { useDispatch } from 'react-redux'
3
import { useDispatch } from 'react-redux'
4
import { addNotification } from '../../redux/notification/notification.actions'
4
import { addNotification } from '../../redux/notification/notification.actions'
Línea 5... Línea 5...
5
 
5
 
6
const EventsList = () => {
6
const EventsList = () => {
7
    const [eventsAndTasks, setEventsAndTasks] = useState([])
7
  const [eventsAndTasks, setEventsAndTasks] = useState([])
Línea 8... Línea 8...
8
    const dispatch = useDispatch()
8
  const dispatch = useDispatch()
9
 
9
 
10
    const getEvents = async () => {
10
  const getEvents = async () => {
11
        try {
11
    try {
12
            const { data: response } = await axios.get('/helpers/next-events')
12
      const { data: response } = await axios.get('/helpers/next-events')
13
 
13
 
14
            if (!response.success) {
14
      if (!response.success) {
15
                dispatch(addNotification({ style: 'danger', message: response.data }))
15
        dispatch(addNotification({ style: 'danger', message: response.data }))
16
                return
16
        return
17
            }
17
      }
18
 
18
 
19
            setEventsAndTasks(response.data)
19
      setEventsAndTasks(response.data)
20
        } catch (error) {
20
    } catch (error) {
21
            dispatch(addNotification({ style: 'danger', message: 'Ha ocurrido un error' }))
-
 
22
            console.log(`Error: ${error.message}`)
21
      dispatch(addNotification({ style: 'danger', message: 'Ha ocurrido un error' }))
-
 
22
      console.log(`Error: ${error.message}`)
Línea 23... Línea 23...
23
        }
23
    }
24
    }
24
  }
25
 
25
 
26
    useEffect(() => {
26
  useEffect(() => {
27
        getEvents()
27
    getEvents()
28
    }, [])
28
  }, [])
29
 
29
 
30
    return (
30
  return (
31
        <div className='task-widget'>
31
    <div className='task-widget'>
32
            <div className="sd-title d-flex align-items-center justify-content-between">
32
      <div className="sd-title d-flex align-items-center justify-content-between">
33
                <h3>Eventos y Tareas</h3>
33
        <h3>Eventos y Tareas</h3>
34
            </div>
34
      </div>
35
            <div className="d-flex flex-column" style={{ gap: '.5rem', maxHeight: 500, overflow: 'hidden scroll' }}>
35
      <div className="d-flex flex-column" style={{ gap: '.5rem', maxHeight: 500, overflow: 'hidden scroll' }}>
36
                {eventsAndTasks.length
36
        {eventsAndTasks.length
37
                    ? eventsAndTasks.map((event) => {
37
          ? eventsAndTasks.map((event) => {
38
                        const eventStart = new Date(event.start).toLocaleString()
38
            const eventStart = new Date(event.start).toLocaleString()
39
                        const eventEnd = new Date(event.end).toLocaleString()
39
            const eventEnd = new Date(event.end).toLocaleString()
40
 
40
 
41
                        return (
41
            return (
42
                            <a
42
              <a
43
                                key={event.id}
43
                key={event.id}
44
                                href={event.url}
44
                href={event.url}
45
                                target='_blank'
45
                target='_blank'
46
                                rel="noreferrer"
46
                rel="noreferrer"
47
                            >
47
              >
48
                                <div className='calendar-event' style={{ color: event.textColor, background: event.backgroundColor }}>
48
                <div className='calendar-event' style={{ color: event.textColor, background: event.backgroundColor }}>
49
                                    <h4>
49
                  <h4>
50
                                        <b>Evento: </b> {event.title}
50
                    <b>Evento: </b> {event.title}
51
                                    </h4>
51
                  </h4>
52
                                    <span>
52
                  <span>
53
                                        <b>Inicio: </b>{eventStart}
53
                    <b>Inicio: </b>{eventStart}
54
                                    </span>
54
                  </span>
55
                                    {event.end &&
55
                  {event.end &&
56
                                        <span>
56
                    <span>
57
                                            <b>Fin: </b>{eventEnd}
57
                      <b>Fin: </b>{eventEnd}
58
                                        </span>
58
                    </span>
59
                                    }
59
                  }
60
                                </div>
60
                </div>
61
                            </a>
61
              </a>
62
                        )
62
            )
63
                    })
63
          })
64
                    : <div className="view-more">No hay eventos</div>
64
          : <div className="view-more">No hay eventos</div>
65
                }
65
        }
66
            </div>
66
      </div>
Línea 67... Línea -...
67
        </div>
-
 
68
    )
67
    </div>
-
 
68
  )