From 7de9b3b51be095da15a9035c98d0aefa4b526838 Mon Sep 17 00:00:00 2001 From: c0mrade Date: Fri, 5 Jun 2026 17:21:21 +0300 Subject: [PATCH] feat(desktop-header): group nav into a centered segmented capsule MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Wrap the always-visible nav items in a single rounded track (segmented-control look): rounded-full border + subtle bg + backdrop blur, centered between the logo and the right-side actions via mx-auto (fills the previously empty middle). - All items stay visible with icon + label — no scroll, no shrink, no collapse, no hover-reveal. Purely a visual grouping. - Items become rounded-full pills; the framer-motion active indicator slides within the capsule and is lifted above the track (bg + ring + shadow). - Admin link stays inside the capsule after a thin divider, warning-tinted. - Right-side actions sit at the edge (dropped ml-auto since nav now centers). --- src/components/layout/AppShell/AppShell.tsx | 27 ++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/components/layout/AppShell/AppShell.tsx b/src/components/layout/AppShell/AppShell.tsx index ad9e7c8..a8370f3 100644 --- a/src/components/layout/AppShell/AppShell.tsx +++ b/src/components/layout/AppShell/AppShell.tsx @@ -147,22 +147,25 @@ export function AppShell({ children }: AppShellProps) { onClick={handleNavClick} aria-label={label} className={cn( - 'relative flex shrink-0 items-center gap-1.5 rounded-lg px-2.5 py-1.5 text-[13px] font-medium transition-colors duration-200', + 'relative flex shrink-0 items-center gap-1.5 rounded-full px-3 py-1.5 text-[13px] font-medium transition-colors duration-200', active ? admin - ? 'text-warning-400' + ? 'text-warning-300' : 'text-dark-50' : admin - ? 'text-warning-500/70 hover:bg-warning-500/10 hover:text-warning-400' - : 'text-dark-400 hover:bg-dark-800/50 hover:text-dark-100', + ? 'text-warning-500/70 hover:bg-warning-500/10 hover:text-warning-300' + : 'text-dark-400 hover:bg-dark-800/60 hover:text-dark-100', )} > {active && ( @@ -214,19 +217,21 @@ export function AppShell({ children }: AppShellProps) { {appName} - {/* Navigation — labels always visible, all items shown, no scroll/shrink */} -