blob: c2dc29e9b81fd0f6f345311fd656767a24f47b36 [file] [log] [blame]
Adrien Béraud150b4782021-04-21 19:40:59 -04001import React, { useState } from 'react'
Adrien Béraudab519ff2022-05-03 15:34:48 -04002import { Box, Button, Menu, MenuItem } from '@mui/material'
3import { useNavigate, useParams } from "react-router-dom"
Adrien Béraud6ecaa402021-04-06 17:37:25 -04004import authManager from '../AuthManager'
Larbi Gharibe9af9732021-03-31 15:08:01 +01005
6export default function Header() {
Adrien Béraudab519ff2022-05-03 15:34:48 -04007 const navigate = useNavigate()
Adrien Béraud150b4782021-04-21 19:40:59 -04008 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
Adrien Béraudab519ff2022-05-03 15:34:48 -040013 const goToAccountSelection = () => navigate(`/account`)
idillon531b6f22022-09-16 14:02:00 -040014 const goToContacts = () => navigate(`/Contacts`)
Adrien Béraudab519ff2022-05-03 15:34:48 -040015 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>
22 <Menu
23 id="simple-menu"
24 anchorEl={anchorEl}
25 open={Boolean(anchorEl)}
26 onClose={handleClose}
27 >
28 <MenuItem onClick={goToAccountSelection}>Change account</MenuItem>
idillon531b6f22022-09-16 14:02:00 -040029 <MenuItem onClick={goToContacts}>Contacts</MenuItem>
Adrien Béraud150b4782021-04-21 19:40:59 -040030 {params.accountId && <MenuItem onClick={goToAccountSettings}>Account settings</MenuItem>}
31 <MenuItem onClick={() => authManager.disconnect()}>Log out</MenuItem>
32 </Menu>
33 </Box>
34 )
Larbi Gharibe9af9732021-03-31 15:08:01 +010035}