From b8ce05ad6c242131d3375c0bb17fae41f1daf991 Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Mon, 2 Mar 2026 16:17:42 +0100 Subject: [PATCH] fix: precise chat layout alignment to match Aether Drift prototype Message rows: 20px horizontal padding, 3px vertical, 56px avatar column, subtle 2.5% hover. Channel headers: border instead of shadow, text # hash, 10px gap, 6px button radius. Date dividers: 8px margin, 11px text, border-hard lines. Input bubble: 34px buttons with 18px SVGs, 10px textarea padding. Inline code: lavender on #111115 with border-soft border. --- .../src/components/chat/MarkdownRenderer.tsx | 2 +- packages/web/src/components/chat/Message.tsx | 16 ++--- .../web/src/components/chat/MessageInput.tsx | 20 +++---- .../web/src/components/chat/MessageList.tsx | 10 ++-- .../web/src/components/layout/MainContent.tsx | 58 +++++++++---------- 5 files changed, 52 insertions(+), 54 deletions(-) diff --git a/packages/web/src/components/chat/MarkdownRenderer.tsx b/packages/web/src/components/chat/MarkdownRenderer.tsx index d356ef04..17b74d72 100644 --- a/packages/web/src/components/chat/MarkdownRenderer.tsx +++ b/packages/web/src/components/chat/MarkdownRenderer.tsx @@ -149,7 +149,7 @@ function buildComponents(): Components { // Inline code return ( {children} diff --git a/packages/web/src/components/chat/Message.tsx b/packages/web/src/components/chat/Message.tsx index 25b4151e..74593a4f 100644 --- a/packages/web/src/components/chat/Message.tsx +++ b/packages/web/src/components/chat/Message.tsx @@ -146,23 +146,23 @@ export function Message({ message, isCompact, isFirstInGroup }: MessageProps) { const content = (
setIsHovered(true)} onMouseLeave={() => setIsHovered(false)} > {/* Reply Line */} {message.replyTo && ( -
+
)} {/* Avatar or timestamp column */} -
+
{isFirstInGroup || message.replyTo ? ( -
+
) : ( - + {formatHoverTime(message.createdAt)} )}
{/* Content */} -
+
{message.replyTo && (
@@ -204,7 +204,7 @@ export function Message({ message, isCompact, isFirstInGroup }: MessageProps) { > {displayName} - + {formatTime(message.createdAt)}
diff --git a/packages/web/src/components/chat/MessageInput.tsx b/packages/web/src/components/chat/MessageInput.tsx index a34d5b8d..586c4953 100644 --- a/packages/web/src/components/chat/MessageInput.tsx +++ b/packages/web/src/components/chat/MessageInput.tsx @@ -291,14 +291,14 @@ export function MessageInput({ channelId, channelName }: MessageInputProps) {
)} -
+
{/* File attach button */} @@ -324,7 +324,7 @@ export function MessageInput({ channelId, channelName }: MessageInputProps) { onKeyDown={handleKeyDown} onPaste={handlePaste} placeholder={`Message ${channelName.startsWith('@') ? channelName : `#${channelName}`}`} - className="flex-1 py-[11px] px-1 bg-transparent text-txt-primary placeholder-txt-tertiary/60 outline-none resize-none text-[15px] leading-[1.375rem] max-h-[50vh] scrollbar-thin" + className="flex-1 py-[10px] px-1 bg-transparent text-txt-primary placeholder-txt-tertiary/60 outline-none resize-none text-[15px] leading-[1.375rem] max-h-[50vh] scrollbar-thin" rows={1} disabled={isUploading} /> @@ -340,22 +340,22 @@ export function MessageInput({ channelId, channelName }: MessageInputProps) { )} {/* GIF button */} -
)} -
-
+
+
@@ -158,7 +158,7 @@ export function MainContent() { - - - - -
- - -