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