import { useState } from 'react'; import Avatar from '@mui/material/Avatar'; import Box from '@mui/material/Box'; import IconButton from '@mui/material/IconButton'; import Menu from '@mui/material/Menu'; import MenuItem from '@mui/material/MenuItem'; import ListItemIcon from '@mui/material/ListItemIcon'; import ListItemText from '@mui/material/ListItemText'; import LogoutIcon from '@mui/icons-material/Logout'; import BusinessIcon from '@mui/icons-material/Business'; import { useAuth } from '../auth/useAuth'; import CompanySettingsDialog from './CompanySettingsDialog'; // Menu open/close state is local; toggling it only re-renders this component. export default function UserMenu() { const { user, logout } = useAuth(); const [anchorEl, setAnchorEl] = useState(null); const [settingsOpen, setSettingsOpen] = useState(false); const open = Boolean(anchorEl); return ( <> setAnchorEl(e.currentTarget)} onMouseDown={(e) => e.preventDefault()} sx={{ p: 0, width: 32, height: 32, borderRadius: '50%' }} > {user?.email?.[0]?.toUpperCase()} setAnchorEl(null)} anchorOrigin={{ vertical: 'top', horizontal: 'left' }} transformOrigin={{ vertical: 'bottom', horizontal: 'left' }} > {user?.email} { setAnchorEl(null); setSettingsOpen(true); }} > Unternehmen { setAnchorEl(null); logout(); }} > Sign out setSettingsOpen(false)} /> ); }