From ebd8ddee6eedbcfc099577fdc2f558c7cf1d3e80 Mon Sep 17 00:00:00 2001 From: Mattias Tall Date: Tue, 26 May 2026 17:09:17 +0200 Subject: [PATCH] Fix channel page mobile layout On mobile: move action buttons below the banner into their own row (flex-1 Follow + Download, compact Re-index) instead of cramming three full-size buttons inside the banner overlay alongside the avatar and name. Desktop keeps the original inline layout. Also reduced banner height, avatar size, and description to 2-line clamp on mobile. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/pages/Channel.jsx | 108 ++++++++++++++++----------------- 1 file changed, 52 insertions(+), 56 deletions(-) diff --git a/frontend/src/pages/Channel.jsx b/frontend/src/pages/Channel.jsx index 7659bbf..9c51d1c 100644 --- a/frontend/src/pages/Channel.jsx +++ b/frontend/src/pages/Channel.jsx @@ -78,80 +78,76 @@ export default function ChannelPage() { const isFollowed = channel.status === "followed"; return ( -
- {/* Channel header — banner with overlay, or plain if no banner */} +
+ {/* Banner */}
{channel.banner_url && ( - + )} - {/* Gradient overlay */} -
+
- {/* Info row sits at the bottom of the banner */} -
- {/* Avatar */} + {/* Avatar + name — always in the banner overlay */} +
{channel.thumbnail_url ? ( - {channel.name} + {channel.name} ) : ( -
+
{channel.name?.[0]?.toUpperCase()}
)} - - {/* Name + meta */}
-

{channel.name}

-

+

{channel.name}

+

{[ - formatSubs(channel.subscriber_count) && `${formatSubs(channel.subscriber_count)} subscribers`, - `${channel.video_count} videos indexed`, + formatSubs(channel.subscriber_count) && `${formatSubs(channel.subscriber_count)} subs`, + channel.video_count && `${channel.video_count} videos`, ].filter(Boolean).join(" · ")}

- - {/* Action buttons */} -
- {dlResult != null && ( - - {dlResult === 0 ? "Already up to date" : `${dlResult} queued`} - - )} - - - -
+ {/* Desktop action buttons inline */} +
+ + + +
- {/* Description below banner */} + {/* Mobile action row — below banner */} +
+ + + +
+ + {dlResult != null && ( +

+ {dlResult === 0 ? "Already up to date" : `${dlResult} downloads queued`} +

+ )} + + {/* Description */} {channel.description && ( -

{channel.description}

+

{channel.description}

)} {/* Video grid */}