import { useState } from 'react' import PersonIcon from '@mui/icons-material/Person' import Badge from '@mui/material/Badge' import IconButton from '@mui/material/IconButton' import ListItemText from '@mui/material/ListItemText' import Menu from '@mui/material/Menu' import MenuItem from '@mui/material/MenuItem' import type { AuthUser } from '@/shared/model/auth' import { UserAvatar } from '@/shared/ui/UserAvatar' type Props = { user: AuthUser | null isAdmin?: boolean onNavigate: (to: string) => void onLogout: () => void } export function UserMenu({ user, isAdmin = false, onNavigate, onLogout }: Props) { const [anchorEl, setAnchorEl] = useState(null) const open = Boolean(anchorEl) const openMenu = (e: React.MouseEvent) => setAnchorEl(e.currentTarget) const closeMenu = () => setAnchorEl(null) const go = (to: string) => { closeMenu() onNavigate(to) } const handleLogout = () => { closeMenu() onLogout() } return ( <> {user ? ( ) : ( )} {user ? ( <> go(isAdmin ? '/admin/settings' : '/me')}> Выход ) : ( go('/auth')}>Войти / регистрация )} ) }