Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
7292 stevensc 1
import React, { useEffect, useState } from 'react'
7279 stevensc 2
import { Container, Grid } from '@mui/material'
3
import { Calendar, momentLocalizer } from 'react-big-calendar'
4
import moment from 'moment'
5
import EventsList from '../../components/calendar/EventsList'
7287 stevensc 6
import ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos'
7
import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'
7283 stevensc 8
import 'react-big-calendar/lib/sass/styles.scss'
7292 stevensc 9
import { axios } from '../../utils'
7279 stevensc 10
 
7281 stevensc 11
moment.locale('es-ES')
7279 stevensc 12
const localizer = momentLocalizer(moment)
13
 
14
const CalendarPage = () => {
7292 stevensc 15
  const [events, setEvents] = useState([])
7279 stevensc 16
 
7292 stevensc 17
  useEffect(() => {
18
    axios.get('/calendar/events').then((response) => {
19
      const events = response.data
20
 
21
      const formattedData = events.map((event) => ({
22
        ...event,
23
        start: new Date(event.start),
24
        end: new Date(event.start),
25
      }))
26
 
27
      setEvents(formattedData)
28
    })
29
  }, [])
30
 
7279 stevensc 31
  return (
32
    <Container as="main" className="px-0">
33
      <Grid container spacing={2}>
34
        <Grid item xs={12} md={8} spacing={3}>
35
          <Calendar
7290 stevensc 36
            views={['day', 'week', 'month']}
7279 stevensc 37
            selectable
38
            localizer={localizer}
39
            defaultDate={new Date()}
40
            defaultView="month"
41
            onSelectEvent={(event) => alert(event.title)}
42
            events={events}
7283 stevensc 43
            messages={{
7288 stevensc 44
              next: <ArrowForwardIosIcon />,
45
              previous: <ArrowBackIosIcon />,
7283 stevensc 46
              today: 'Hoy',
47
              month: 'Mes',
48
              week: 'Semana',
49
              day: 'Día',
50
            }}
7294 stevensc 51
            eventPropGetter={(event) => {
52
              console.log(event)
53
            }}
7279 stevensc 54
          />
55
        </Grid>
56
        <Grid item xs={12} md={4}>
57
          <EventsList />
58
        </Grid>
59
      </Grid>
60
    </Container>
61
  )
62
}
63
 
64
export default CalendarPage