From aa609389fa1dc0afdc85e4bffdb3d32a65f301c6 Mon Sep 17 00:00:00 2001 From: byGalax Date: Wed, 13 May 2026 22:21:05 +0200 Subject: [PATCH] feat(chat): render Media/Files + Group Info drawers inline, not overlaid Both right-hand panels used absolute inset-y-0 right-0 and floated on top of the conversation, hiding the messages directly underneath the panel and looking unlike Discord's actual layout. Restructure: * MediaFilesDrawer: drop absolute/z-index/shadow chrome, become a static flex column (w-[380px] shrink-0) with a left border. Internal layout unchanged. * GroupInfoPanel: same treatment (w-[320px] shrink-0). Dropped the backdrop-blur and slide-up animation that only made sense as a modal. * ConversationPage: wrap the chat content (voice rail, in-call panel, messages list, drag-overlay, input form) in a new `flex min-w-0 flex-1 flex-col` chat-column, and make that column a sibling of the drawers inside a new `flex flex-1 flex-row` row. The conversation header + search bar stay full-width above the row. Result: opening a drawer narrows the chat column instead of covering it, matching Discord's behaviour. The chat-column wrapper also carries the `relative` anchor previously held by the outer wrapper so the drag-and-drop overlay positions correctly. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../desktop/src/components/GroupInfoPanel.tsx | 2 +- .../src/components/MediaFilesDrawer.tsx | 2 +- apps/desktop/src/pages/ConversationPage.tsx | 59 +++++++++++-------- 3 files changed, 36 insertions(+), 27 deletions(-) diff --git a/apps/desktop/src/components/GroupInfoPanel.tsx b/apps/desktop/src/components/GroupInfoPanel.tsx index b1d6cc5..b2d550f 100644 --- a/apps/desktop/src/components/GroupInfoPanel.tsx +++ b/apps/desktop/src/components/GroupInfoPanel.tsx @@ -93,7 +93,7 @@ export function GroupInfoPanel({ open, onClose, conversation }: Props) {