Files
full-stack-fastapi-template/frontend/src/components/Common/UserMenu.tsx

60 lines
1.3 KiB
TypeScript
Raw Normal View History

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-03-08 14:58:36 +01:00
import useAuth from '../../hooks/useAuth'
import { Link } from '@tanstack/react-router'
const UserMenu: React.FC = () => {
2024-03-08 14:58:36 +01:00
const { logout } = useAuth()
2024-03-08 14:58:36 +01:00
const handleLogout = async () => {
logout()
}
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-03-08 14:58:36 +01:00
export default UserMenu