<!-- source-hash: e8fdad9190b0ce783dc9a5712636e90d -->
A client-side React component that renders a user profile summary card with avatar, name, email/subtitle, auth provider icons, and optional MSP organization preview data.

## Key Components

### `UserSummary` (exported component)
The primary export. Accepts a `Props` interface and renders in two layout modes:
- **Compact mode** (`compact=true`): Horizontal row with small avatar, name, and subtitle — intended for comment headers or inline contexts.
- **Full mode** (default): Vertical card with large avatar, name, email, MSP info row, and auth provider badges. Responsive with a separate mobile row for auth/edit controls.

### `getAuthProviderIcon(provider)`
Internal helper that maps provider strings (`"google"`, `"microsoft"`, `"azure"`, `"slack"`) to icon elements.

### `formatNumber(n)`
Internal utility that abbreviates large numbers (e.g., `1200 → 1.2K`, `2000000 → 2M`, `1500000000 → 1.5B`).

## Key Props

| Prop | Type | Description |
|---|---|---|
| `name` / `email` | `string` | Required user identity fields |
| `avatarUrl` | `string \| null` | Optional avatar, proxied via `getProxiedImageUrl` |
| `mspPreview` | object | Optional MSP org info (name, seats, revenue, logo badge) |
| `compact` | `boolean` | Switches to minimal horizontal layout |
| `authProviders` | `string[]` | Displays provider icons (Google, Microsoft, Slack) |
| `showEditButton` | `boolean` | Shows an edit profile affordance |

## Usage Example

```typescript
import { UserSummary } from "./user-summary-stub";

// Full card with MSP info
<UserSummary
  name="Jane Smith"
  email="jane@example.com"
  avatarUrl="https://cdn.example.com/jane.jpg"
  authProviders={["google"]}
  showEditButton
  mspPreview={{
    name: "Acme MSP",
    seatCount: 1500,
    technicianCount: 12,
    annualRevenue: 2000000,
    logoUrl: "https://cdn.example.com/acme-logo.png",
  }}
/>

// Compact mode for comment headers
<UserSummary
  name="Jane Smith"
  email="jane@example.com"
  compact
  avatarSize={32}
  subtitle="2 hours ago"
/>
```