user menu - BevvyTech/BrewskiDocs GitHub Wiki

User Menu

Overview

  • 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.
⚠️ **GitHub.com Fallback** ⚠️