blob: 637b52957e4a906c14b89bec64eb09a599a0c03f [file] [log] [blame]
simond47ef9e2022-09-28 22:24:28 -04001import { Box, Button, Menu, MenuItem } from '@mui/material';
simon07b4eb02022-09-29 17:50:26 -04002import { useState } from 'react';
simond47ef9e2022-09-28 22:24:28 -04003import { useNavigate, useParams } from 'react-router-dom';
simon07b4eb02022-09-29 17:50:26 -04004
simond47ef9e2022-09-28 22:24:28 -04005import authManager from '../AuthManager';
Larbi Gharibe9af9732021-03-31 15:08:01 +01006
7export default function Header() {
simond47ef9e2022-09-28 22:24:28 -04008 const navigate = useNavigate();
9 const [anchorEl, setAnchorEl] = useState(null);
10 const handleClick = (event) => setAnchorEl(event.currentTarget);
11 const handleClose = () => setAnchorEl(null);
12 const params = useParams();
Larbi Gharibe9af9732021-03-31 15:08:01 +010013
simond47ef9e2022-09-28 22:24:28 -040014 const goToAccountSelection = () => navigate(`/account`);
15 const goToContacts = () => navigate(`/Contacts`);
16 const goToAccountSettings = () => navigate(`/account/${params.accountId}/settings`);
Larbi Gharibe9af9732021-03-31 15:08:01 +010017
Adrien Béraud150b4782021-04-21 19:40:59 -040018 return (
19 <Box>
20 <Button aria-controls="simple-menu" aria-haspopup="true" onClick={handleClick}>
21 Menu
22 </Button>
simond47ef9e2022-09-28 22:24:28 -040023 <Menu id="simple-menu" anchorEl={anchorEl} open={Boolean(anchorEl)} onClose={handleClose}>
Adrien Béraud150b4782021-04-21 19:40:59 -040024 <MenuItem onClick={goToAccountSelection}>Change account</MenuItem>
idillon531b6f22022-09-16 14:02:00 -040025 <MenuItem onClick={goToContacts}>Contacts</MenuItem>
Adrien Béraud150b4782021-04-21 19:40:59 -040026 {params.accountId && <MenuItem onClick={goToAccountSettings}>Account settings</MenuItem>}
27 <MenuItem onClick={() => authManager.disconnect()}>Log out</MenuItem>
28 </Menu>
simond47ef9e2022-09-28 22:24:28 -040029 </Box>
30 );
31}