feat: admin avatar in header with settings link

This commit is contained in:
Kirill
2026-05-21 20:45:23 +05:00
parent 52290e162e
commit d1e4cc67aa
2 changed files with 9 additions and 7 deletions
+2 -4
View File
@@ -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>
</>