From cb05b739a8909c0da1d0f8706af9fc60a72e8324 Mon Sep 17 00:00:00 2001 From: Mattias Tall Date: Tue, 26 May 2026 12:30:23 +0200 Subject: [PATCH] Mobile UX: fixed bottom nav, compact header, less cramped cards MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - App-shell layout (height:100dvh, only main scrolls) so the bottom nav is a natural flex child and never disappears regardless of browser chrome show/hide behaviour - Bottom nav reduced from h-16 to h-14, icons from 20px to 18px, labels from 10px to 9px — slimmer bar, still readable - Header: min-w-0 on search prevents horizontal overflow; user/sign-out hidden on mobile (accessible via Settings); logo shortened to "YT" on mobile; px-3 / h-12 on mobile instead of px-4 / h-14 - Grid card descriptions hidden on mobile (hidden sm:block) — reduces height cramping in the 2-column feed - scrollToTop() utility replaces window.scrollTo so pagination still scrolls to top within the new scroll container Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/components/Layout.jsx | 52 +++++++++++++++------------ frontend/src/components/VideoCard.jsx | 2 +- frontend/src/pages/Discovery.jsx | 9 ++--- frontend/src/pages/History.jsx | 5 +-- frontend/src/pages/Home.jsx | 7 ++-- frontend/src/utils/scroll.js | 5 +++ 6 files changed, 47 insertions(+), 33 deletions(-) create mode 100644 frontend/src/utils/scroll.js diff --git a/frontend/src/components/Layout.jsx b/frontend/src/components/Layout.jsx index 3822d77..cefddbf 100644 --- a/frontend/src/components/Layout.jsx +++ b/frontend/src/components/Layout.jsx @@ -30,17 +30,17 @@ function BottomNav({ newCount }) { return (