Reusable horizontal layout component that renders a user's avatar alongside their name and an optional subtitle, following the visual pattern established by `CommentCard` headers. ## Key Components ### `UserDisplay` (exported function component) Composes a `SquareAvatar` with a text column for user identity display. **Props (`UserDisplayProps`):** | Prop | Type | Default | Description | |---|---|---|---| | `name` | `string` | — | Display name; also used as avatar fallback initials | | `avatarUrl` | `string \| null` | — | Optional avatar image URL; routed through the image proxy | | `subtitle` | `string \| null` | — | Secondary text (e.g., relative timestamp) | | `size` | `number` | `32` | Avatar size in pixels | | `shape` | `'square' \| 'round'` | `'square'` | Corner treatment forwarded to `SquareAvatar` | | `compact` | `boolean` | `false` | Switches to smaller typography (`text-h6`) for dense overlays | | `className` | `string` | — | Additional CSS classes on the root element | ## Usage Example ```typescript // Standard header row // Compact rounded avatar for video-bite overlays // Name-only, no avatar URL (falls back to initials) ``` > **Image proxying:** `avatarUrl` is automatically passed through `getProxiedImageUrl`; the original URL is used as a fallback if the proxy returns `null`. **Source:** [`user-display.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/user-display.tsx)