blob: 165ff1ba94dd1d11e8bfea04bc944f317f1696af [file] [log] [blame]
simond47ef9e2022-09-28 22:24:28 -04001import { useState } from 'react';
2import { Box, Button, Menu, MenuItem } from '@mui/material';
3import { useNavigate, useParams } from 'react-router-dom';
4import authManager from '../AuthManager';
Larbi Gharibe9af9732021-03-31 15:08:01 +01005
6export default function Header() {
simond47ef9e2022-09-28 22:24:28 -04007 const navigate = useNavigate();
8 const [anchorEl, setAnchorEl] = useState(null);
9 const handleClick = (event) => setAnchorEl(event.currentTarget);
10 const handleClose = () => setAnchorEl(null);
11 const params = useParams();
Larbi Gharibe9af9732021-03-31 15:08:01 +010012
simond47ef9e2022-09-28 22:24:28 -040013 const goToAccountSelection = () => navigate(`/account`);
14 const goToContacts = () => navigate(`/Contacts`);
15 const goToAccountSettings = () => navigate(`/account/${params.accountId}/settings`);
Larbi Gharibe9af9732021-03-31 15:08:01 +010016
Adrien Béraud150b4782021-04-21 19:40:59 -040017 return (
18 <Box>
19 <Button aria-controls="simple-menu" aria-haspopup="true" onClick={handleClick}>
20 Menu
21 </Button>
simond47ef9e2022-09-28 22:24:28 -040022 <Menu id="simple-menu" anchorEl={anchorEl} open={Boolean(anchorEl)} onClose={handleClose}>
Adrien Béraud150b4782021-04-21 19:40:59 -040023 <MenuItem onClick={goToAccountSelection}>Change account</MenuItem>
idillon531b6f22022-09-16 14:02:00 -040024 <MenuItem onClick={goToContacts}>Contacts</MenuItem>
Adrien Béraud150b4782021-04-21 19:40:59 -040025 {params.accountId && <MenuItem onClick={goToAccountSettings}>Account settings</MenuItem>}
26 <MenuItem onClick={() => authManager.disconnect()}>Log out</MenuItem>
27 </Menu>
simond47ef9e2022-09-28 22:24:28 -040028 </Box>
29 );
30}