all repos — caroster @ 8308eb9f10e3a9fa98fe1da5c7fb724984d58f47

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

app/src/containers/GenericMenu/Toolbar.js (view raw)

 1import React from 'react';
 2import Divider from '@material-ui/core/Divider';
 3import {makeStyles} from '@material-ui/core/styles';
 4import Menu from '@material-ui/core/Menu';
 5import MenuItem from '@material-ui/core/MenuItem';
 6
 7const Toolbar = ({anchorEl, setAnchorEl, actions = []}) => {
 8  const classes = useStyles();
 9  if (actions.length === 0) return null;
10  return (
11    <Menu
12      anchorEl={anchorEl}
13      anchorOrigin={{
14        vertical: 'top',
15        horizontal: 'right',
16      }}
17      keepMounted
18      transformOrigin={{
19        vertical: 'top',
20        horizontal: 'right',
21      }}
22      open={!!anchorEl}
23      onClose={() => setAnchorEl(null)}
24    >
25      {actions &&
26        actions.map(
27          ({onClick, id, label, divider = false, ...menuItemProps}, idx) =>
28            divider ? (
29              <Divider variant="fullWidth" className={classes.divider} />
30            ) : (
31              <MenuItem
32                onClick={() => {
33                  if (!!onClick) onClick();
34                  setAnchorEl(null);
35                }}
36                key={idx}
37                id={id || `MenuItem${idx}`}
38                {...menuItemProps}
39              >
40                {label}
41              </MenuItem>
42            )
43        )}
44    </Menu>
45  );
46};
47
48const useStyles = makeStyles(theme => ({
49  divider: {
50    margin: theme.spacing(1, 0),
51  },
52}));
53export default Toolbar;