aboutsummaryrefslogtreecommitdiff
path: root/src/components/EventCard/EventCard.tsx
blob: 88984ff25770417c4fadf97dbbfd6e0e02cca32a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import React from 'react';
import { makeStyles } from '@material-ui/core/styles';
import { 
  Card,
  CardHeader,
  CardContent,
  CardActions,
  Button
} from '@material-ui/core';
import { Event } from '../../types';

interface PropTypes {
  event: Event;
}

const useStyles = makeStyles(theme => ({
  root: {
    margin: theme.spacing(1),
    maxWidth: theme.spacing(60)
  }
}));

const EventCard: React.FC<PropTypes> = ({ event }) => {
  const classes = useStyles();
  const { data: { 
    name,
    date,
    participants,
    conferenceId,
    attendanceId
  }} = event;

  return (
    <Card variant="outlined" className={classes.root}>
      <CardHeader title={name || 'Event'} subheader={date}  />
      <CardContent>
        {conferenceId && <div> ConferenceID: {conferenceId} </div>}
        {attendanceId && <div> AttendanceID: {attendanceId} </div>}
        <div>
          Participants ({participants?.length || 0} / 3)
          <ul>
            {participants?.map(username => (
              <li> {username} </li>
            ))}
          </ul>
        </div>
      </CardContent>
      {(participants?.length || 0) < 3 && (
        <CardActions>
          <Button variant="contained" color="primary" size="large">
            Join
          </Button>
        </CardActions>
      )}
    </Card>
  );
};

export default EventCard;