diff --git a/docs/systems/mobile-ui.md b/docs/systems/mobile-ui.md index a2674b06..14dc926d 100644 --- a/docs/systems/mobile-ui.md +++ b/docs/systems/mobile-ui.md @@ -510,27 +510,52 @@ File: `MobileVoiceFullScreen.tsx` **Header:** Collapse chevron (down arrow, pops screen), channel name, space name subtitle, participant count, members button (space channels only). -**Participant grid:** -- `grid-cols-1` for 1-2 participants, `grid-cols-2` for 3+ -- Avatar size: 80px for 1-2 participants, 56px for 3+ -- Mute/deafen badge overlay on avatar (bottom-right, rose circle with icon) -- Shows self-mute, space mute, permission mute, self-deafen, space deafen -- Context menu on other participants: voice mod items, local mute checkbox, volume slider +**Participant grid:** **Renders `` from `packages/web/src/components/voice/VoiceGrid.tsx` — the same component desktop uses.** This is the source of the camera + screen-share rendering pipeline; mobile has no separate tile components. Reusing `VoiceGrid` gives mobile feature parity with desktop for free: -**Control bar:** `glass-bubble` container with safe area padding. +- Camera tracks (`p.videoTrack` from `ParticipantInfo`) attach to a `