From 4a4dede105cff49c8b5101d88e19957dc748ce9f Mon Sep 17 00:00:00 2001 From: Jared Vititoe Date: Fri, 19 Jun 2026 16:14:50 -0400 Subject: [PATCH] fix(media-gallery): dock as a flex sibling like MembersDrawer (was floating) The real reason the gallery didn't look or function like the Members drawer or Saved Messages: it was a position:fixed overlay floating over the timeline, mounted from RoomViewHeader. Now it docks into the room layout row exactly like MembersDrawer. - new mediaGalleryAtom (mirrors bookmarksPanelAtom) holds the open state - RoomViewHeader toggles the atom instead of local useState and no longer renders the panel - Room.tsx renders as a flex sibling of the timeline with a vertical Line separator on desktop and key={room.roomId} to reset per room - MediaGallery.css: static width on desktop, position:fixed inset:0 full-screen only on mobile (identical strategy to MembersDrawer.css); root Box shrink="No" The panel now shares the row with the timeline instead of overlapping it. Co-Authored-By: Claude Opus 4.8 --- LOTUS_BUGS.md | 48 +++++++++++------------ src/app/features/room/MediaGallery.css.ts | 20 ++++------ src/app/features/room/MediaGallery.tsx | 1 + src/app/features/room/Room.tsx | 14 ++++++- src/app/features/room/RoomViewHeader.tsx | 7 ++-- src/app/state/mediaGallery.ts | 3 ++ 6 files changed, 52 insertions(+), 41 deletions(-) create mode 100644 src/app/state/mediaGallery.ts diff --git a/LOTUS_BUGS.md b/LOTUS_BUGS.md index c486ae5fc..ad22ce581 100644 --- a/LOTUS_BUGS.md +++ b/LOTUS_BUGS.md @@ -307,30 +307,30 @@ This document tracks identified bugs, edge cases, and architectural discrepancie ### 🟠 Moderate β€” Interaction Pattern or Visual Deviations -| # | Area | File | Lines | Issue | Native Pattern | -| :-- | :------------------------- | :---------------------------------------- | :---------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| N5 | Read Receipts | `ReadReceiptAvatars.tsx` | 62–137 | Trigger button is raw `