Rev 4190 | Rev 4192 | 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 parse from 'html-react-parser'import { useDispatch } from 'react-redux'import { addNotification } from '../../redux/notification/notification.actions'const EventsList = () => {const [events, setEvents] = 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}setEvents(response.data)} catch (error) {dispatch(addNotification({ style: 'danger', message: 'Ha ocurrido un error' }))console.log(`Error: ${error.message}`)}}useEffect(() => {getEvents()}, [])return (<div className='peopleYouMayKnow'><div className="sd-title d-flex align-items-center justify-content-between"><h3>Proximos eventos</h3></div><div className="w-100 d-flex flex-column" style={{ gap: '.5rem' }}>{events.length? events.map((event) =><div className='rounded' key={event.id} style={{ background: event.backgroundColor }}><div className="d-flex align-items-center flex-column" style={{ gap: '.5rem' }}><h4 className='break-ellipsis'>{event.title}</h4><span>{new Date(event.start).toLocaleString()}</span><span>{new Date(event.end).toLocaleString()}</span></div><div className="d-flex align-items-center flex-column" style={{ gap: '.5rem' }}><aclassName="btn btn-primary"href={event.url}>Ingresar</a>{parse(event.agenda)}</div></div>): <div className="view-more">No hay eventos</div>}</div></div>)}export default EventsList