Triggered from the avatar button in the global header using the User layout component (src/components/layout/user/user.tsx).
Shows the authenticated user’s name, email, current team, and quick links for navigation, support, and account management.
Team picker drives ActiveTeamContext; switching teams calls setActiveTeamId so the rest of the Admin reads the same active team without reshuffling memberships.
Superuser accounts expose a permission simulation control so operators can emulate different team role combinations without switching accounts.
Permission Simulation
The View as selector reflects the current simulation state stored by permission-simulation-context.
Control styling mirrors the team picker directly above it: a pastel two-line button with leading icon and dropdown chevron, keeping spacing and typography consistent.
Availability is based on the user’s original super-user membership, so the control remains visible even while simulating lower-permission roles.
Options cover team role types (Support agent, Standard team) paired with membership roles (Owner, Admin, User) plus a reset option for real permissions. Each entry shows the membership role in the primary line, with the team type beneath in a colour-matched accent that matches the indicator dot.
The dropdown renders inside the user menu card with overflow enabled so the menu surface no longer clips the option list; interaction keeps the user menu open while choosing a simulated role.
Debug Actions
The Actions card lets operators seed demo data for the active team by selecting a data volume (Small, Medium, Large) and confirming via the modal safeguard.
Super-user members see an additional Seed random groups control with a configurable count field (1–500) that queues randomly named groups across existing teams (each with members, descriptions, and placeholder imagery) for data setup in lower environments.
Super-user members also see a Fix all beer categories control that reassigns every beer in the active team to a random BJCP category. The button opens a confirmation dialog with an explicit warning and checkbox acknowledgement so operators confirm no one else has already triggered the job.
Both super-user actions surface success and failure feedback through snackbars; each button stays disabled while work is in-flight or when the user lacks a valid access token.