From f80bd8afbec4321fcb1800f9e8d28f702887e486 Mon Sep 17 00:00:00 2001 From: Marco Sadjadi Date: Mon, 25 May 2026 23:15:44 +0200 Subject: [PATCH] =?UTF-8?q?feat(web):=20app-like=20mobile=20dashboard=20?= =?UTF-8?q?=E2=80=94=20bottom=20tab=20bar,=20minimal=20top?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Top header on mobile was cramped: Logo + 5 icon-only nav buttons + avatar crammed into a 48px-tall row. Felt like a desktop nav shrunk down. Pivot to native-mobile-app pattern: - Top mobile: just Logo (left) + UserMenu avatar (right). Desktop top nav is `hidden sm:flex` so it disappears on phones. - Bottom: full tab bar replacing the single-button MobileActionBar. Five destinations: Overview · Servers · Create (FAB-style center) · Market · Settings. - "Create" is a raised FAB-style button (round accent fill, -mt-3 to overlap the bar border) — same prominent-action pattern as Instagram / Notion mobile. - Active tab gets accent color + aria-current=page. - Audit demoted from primary nav on mobile (low frequency); still reachable via direct /audit URL. Desktop unchanged — top nav stays. Co-Authored-By: Claude Opus 4.7 (1M context) --- apps/web/app/(dashboard)/layout.tsx | 4 +- apps/web/components/mobile-action-bar.tsx | 113 ++++++++++++++++++---- 2 files changed, 96 insertions(+), 21 deletions(-) diff --git a/apps/web/app/(dashboard)/layout.tsx b/apps/web/app/(dashboard)/layout.tsx index 3a8becd..da4002d 100644 --- a/apps/web/app/(dashboard)/layout.tsx +++ b/apps/web/app/(dashboard)/layout.tsx @@ -12,7 +12,9 @@ export default function DashboardLayout({ children }: { children: React.ReactNod
-