feat: admin avatar in header with settings link
This commit is contained in:
@@ -146,12 +146,10 @@ export function AppHeader() {
|
||||
</>
|
||||
)}
|
||||
|
||||
{!isAdmin && <UserMenu user={user} onNavigate={navigate} onLogout={onLogout} />}
|
||||
{!isAdmin && <UserMenu user={user} isAdmin={false} onNavigate={navigate} onLogout={onLogout} />}
|
||||
|
||||
{isAdmin && user && !isMobile && (
|
||||
<Button color="inherit" onClick={onLogout} sx={{ ml: 1 }}>
|
||||
Выход
|
||||
</Button>
|
||||
<UserMenu user={user} isAdmin={true} onNavigate={navigate} onLogout={onLogout} />
|
||||
)}
|
||||
|
||||
{!isMobile && (
|
||||
|
||||
@@ -9,11 +9,12 @@ import { UserAvatar } from '@/shared/ui/UserAvatar'
|
||||
|
||||
type Props = {
|
||||
user: AuthUser | null
|
||||
isAdmin?: boolean
|
||||
onNavigate: (to: string) => void
|
||||
onLogout: () => void
|
||||
}
|
||||
|
||||
export function UserMenu({ user, onNavigate, onLogout }: Props) {
|
||||
export function UserMenu({ user, isAdmin = false, onNavigate, onLogout }: Props) {
|
||||
const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)
|
||||
const open = Boolean(anchorEl)
|
||||
|
||||
@@ -63,8 +64,11 @@ export function UserMenu({ user, onNavigate, onLogout }: Props) {
|
||||
>
|
||||
{user ? (
|
||||
<>
|
||||
<MenuItem onClick={() => go('/me')}>
|
||||
<ListItemText primary={(user.displayName && user.displayName.trim()) || user.email} secondary="Профиль" />
|
||||
<MenuItem onClick={() => go(isAdmin ? '/admin/settings' : '/me')}>
|
||||
<ListItemText
|
||||
primary={(user.displayName && user.displayName.trim()) || user.email}
|
||||
secondary={isAdmin ? 'Настройки' : 'Профиль'}
|
||||
/>
|
||||
</MenuItem>
|
||||
<MenuItem onClick={handleLogout}>Выход</MenuItem>
|
||||
</>
|
||||
|
||||
Reference in New Issue
Block a user