import type { CommonProps } from '@/@types/common' import Dropdown from '@/components/ui/Dropdown' import { ROUTES_ENUM } from '@/routes/route.constant' import { useStoreState } from '@/store' import withHeaderItem from '@/utils/hoc/withHeaderItem' import useAuth from '@/utils/hooks/useAuth' import { useLocalization } from '@/utils/hooks/useLocalization' import classNames from 'classnames' import { FiActivity } from 'react-icons/fi' import { HiOutlineLogout, HiOutlineUser } from 'react-icons/hi' import { Link } from 'react-router-dom' import { Avatar } from '../ui' type DropdownList = { label: string path: string icon: JSX.Element } const _UserDropdown = ({ className }: CommonProps) => { const { userName, name, email, avatar } = useStoreState((state) => state.auth.user) const tenant = useStoreState((state) => state.abpConfig.config?.currentTenant) const { translate } = useLocalization() const { signOut } = useAuth() const dropdownItemList: DropdownList[] = [ { label: translate('::Abp.Identity.Profile'), path: ROUTES_ENUM.protected.admin.profile.general, icon: , }, { label: translate('::Abp.Identity.ActivityLogs'), path: ROUTES_ENUM.protected.admin.activityLog, icon: , }, ] const UserAvatar = (
{userName}
{name}
{tenant?.name}
) return (
{name}
{email}
{dropdownItemList.map((item) => ( {item.icon} {item.label} ))} {/* */} {translate('::Abp.Identity.SignOut')}
) } const UserDropdown = withHeaderItem(_UserDropdown) export default UserDropdown