Rev 4983 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useEffect, useState } from 'react'import axios from '../../utils/axios'import { useDispatch } from 'react-redux'import { addNotification } from '../../redux/notification/notification.actions'const EventsList = () => {const [eventsAndTasks, setEventsAndTasks] = useState([])const dispatch = useDispatch()const getEvents = async () => {try {const { data: response } = await axios.get('/helpers/next-events')if (!response.success) {dispatch(addNotification({ style: 'danger', message: response.data }))return}setEventsAndTasks(response.data)} catch (error) {dispatch(addNotification({ style: 'danger', message: 'Ha ocurrido un error' }))console.log(`Error: ${error.message}`)}}useEffect(() => {getEvents()}, [])return (<div className='task-widget'><div className="sd-title d-flex align-items-center justify-content-between"><h3>Eventos y Tareas</h3></div><div className="d-flex flex-column" style={{ gap: '.5rem', maxHeight: 500, overflow: 'hidden scroll' }}>{eventsAndTasks.length? eventsAndTasks.map((event) => {const eventStart = new Date(event.start).toLocaleString()const eventEnd = new Date(event.end).toLocaleString()return (<akey={event.id}href={event.url}target='_blank'rel="noreferrer"><div className='calendar-event' style={{ color: event.textColor, background: event.backgroundColor }}><h4><b>Evento: </b> {event.title}</h4><span><b>Inicio: </b>{eventStart}</span>{event.end &&<span><b>Fin: </b>{eventEnd}</span>}</div></a>)}): <div className="view-more">No hay eventos</div>}</div></div>)}export default EventsList