2024-03-08 14:58:36 +01:00
|
|
|
import React from 'react'
|
|
|
|
import {
|
|
|
|
Box,
|
|
|
|
IconButton,
|
|
|
|
Menu,
|
|
|
|
MenuButton,
|
|
|
|
MenuItem,
|
|
|
|
MenuList,
|
|
|
|
} from '@chakra-ui/react'
|
|
|
|
import { FaUserAstronaut } from 'react-icons/fa'
|
|
|
|
import { FiLogOut, FiUser } from 'react-icons/fi'
|
2024-02-15 17:17:26 -05:00
|
|
|
|
2024-03-08 14:58:36 +01:00
|
|
|
import useAuth from '../../hooks/useAuth'
|
|
|
|
import { Link } from '@tanstack/react-router'
|
2024-02-15 17:17:26 -05:00
|
|
|
|
|
|
|
const UserMenu: React.FC = () => {
|
2024-03-08 14:58:36 +01:00
|
|
|
const { logout } = useAuth()
|
2024-02-15 17:17:26 -05:00
|
|
|
|
2024-03-08 14:58:36 +01:00
|
|
|
const handleLogout = async () => {
|
|
|
|
logout()
|
|
|
|
}
|
2024-02-15 17:17:26 -05:00
|
|
|
|
2024-03-08 14:58:36 +01:00
|
|
|
return (
|
|
|
|
<>
|
|
|
|
{/* Desktop */}
|
|
|
|
<Box
|
|
|
|
display={{ base: 'none', md: 'block' }}
|
|
|
|
position="fixed"
|
|
|
|
top={4}
|
|
|
|
right={4}
|
|
|
|
>
|
|
|
|
<Menu>
|
|
|
|
<MenuButton
|
|
|
|
as={IconButton}
|
|
|
|
aria-label="Options"
|
|
|
|
icon={<FaUserAstronaut color="white" fontSize="18px" />}
|
|
|
|
bg="ui.main"
|
|
|
|
isRound
|
|
|
|
/>
|
|
|
|
<MenuList>
|
|
|
|
<MenuItem icon={<FiUser fontSize="18px" />} as={Link} to="settings">
|
|
|
|
My profile
|
|
|
|
</MenuItem>
|
|
|
|
<MenuItem
|
|
|
|
icon={<FiLogOut fontSize="18px" />}
|
|
|
|
onClick={handleLogout}
|
|
|
|
color="ui.danger"
|
|
|
|
fontWeight="bold"
|
|
|
|
>
|
|
|
|
Log out
|
|
|
|
</MenuItem>
|
|
|
|
</MenuList>
|
|
|
|
</Menu>
|
|
|
|
</Box>
|
|
|
|
</>
|
|
|
|
)
|
|
|
|
}
|
2024-02-15 17:17:26 -05:00
|
|
|
|
2024-03-08 14:58:36 +01:00
|
|
|
export default UserMenu
|