all repos — caroster @ 2a6cef8fdcb99be287c564a17ba00403a151d327

[Octree] Group carpool to your event https://caroster.io

frontend/containers/DrawerMenu/index.tsx (view raw)

 1import Drawer from '@material-ui/core/Drawer';
 2import Icon from '@material-ui/core/Icon';
 3import {useTranslation} from 'react-i18next';
 4import {useRouter} from 'next/router';
 5import DrawerMenuItem from './DrawerMenuItem';
 6import useStyles from './styles';
 7import useEventStore from '../../stores/useEventStore';
 8
 9const DrawerMenu = () => {
10  const {t} = useTranslation();
11  const areDetailsOpened = useEventStore(s => s.areDetailsOpened);
12  const setAreDetailsOpened = useEventStore(s => s.setAreDetailsOpened);
13  const classes = useStyles();
14  const router = useRouter();
15  const {
16    query: {uuid},
17  } = router;
18
19  return (
20    <Drawer variant="permanent" className={classes.drawer}>
21      <DrawerMenuItem
22        title={t('drawer.travels')}
23        onClick={() => {
24          router.push(`/e/${uuid}`, null, {shallow: true});
25          setAreDetailsOpened(false);
26        }}
27        Icon={<Icon>directions_car</Icon>}
28        active={router.pathname == `/e/[uuid]`}
29      />
30      <DrawerMenuItem
31        title={t('drawer.waitingList')}
32        onClick={() => {
33          router.push(`/e/${uuid}/waitingList`, null, {shallow: true});
34          setAreDetailsOpened(false);
35        }}
36        Icon={<Icon>group</Icon>}
37        active={router.pathname == `/e/[uuid]/waitingList`}
38      />
39      <DrawerMenuItem
40        title={t('drawer.information')}
41        onClick={() => setAreDetailsOpened(true)}
42        Icon={<Icon>info</Icon>}
43        active={areDetailsOpened}
44      />
45    </Drawer>
46  );
47};
48
49export default DrawerMenu;