import { type FC, useEffect, useState } from 'react' import Input from '@/components/Input' import UserAvatar from '@/components/UserAvatar' import { ArrowDown2, CloseCircle, HambergerMenu, Logout } from 'iconsax-react' import { Link } from 'react-router-dom' import { useLocation } from 'react-router-dom' import Notifications from '@/pages/notification/Notification' import { useSharedStore } from './store/useSharedStore' import { Popover, PopoverButton, PopoverPanel } from '@headlessui/react' import SidebarItem from './SidebarItem' import { t } from '@/locale' import { useGetAdminMe } from '@/pages/admin/hooks/useAdminData' import { Paths } from '@/config/Paths' const Header: FC = () => { const location = useLocation(); const [popoverKey, setPopoverKey] = useState(0); const { setOpenSidebar, openSidebar } = useSharedStore() const { data } = useGetAdminMe() const admin = data?.data const displayName = [admin?.firstName, admin?.lastName].filter(Boolean).join(' ').trim() const roleTitle = admin?.role?.title || admin?.role?.name || '' useEffect(() => { setPopoverKey((prevKey) => prevKey + 1); }, [location.pathname]); return (
setOpenSidebar(!openSidebar)} className='xl:hidden block'>
{/* */}
{/* */} {admin && (
{displayName || String(admin.phone ?? '')}
{roleTitle && (
{roleTitle}
)}
setPopoverKey((prevKey) => prevKey + 1)} size={20} color='black' />
{displayName || String(admin.phone ?? '')}
{roleTitle && (
{roleTitle}
)}
{String(admin.phone ?? '')}
} title={t('sidebar.logout')} isActive link={Paths.auth.login} isWithoutLine isLogout activeName='' />
)}
) } export default Header