From 250abd6b16cd139a1052d5a21f52df0e073db886 Mon Sep 17 00:00:00 2001 From: Tahsin Shahriar Date: Tue, 1 Sep 2026 15:35:28 +0600 Subject: [PATCH 01/11] feat(nav): responsive side rail (landscape) + bottom nav (portrait) with hamburger overflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace NavBar with orientation-aware navigation per spec: - Desktop/landscape: collapsible side rail (72px rail ↔ 256px expanded, persisted) with all nav items, search, theme, PWA install, auth - Mobile/portrait: bottom nav with 4 core items (Home, Forum, Chat, AI) + top-left hamburger for overflow (Blogs, Support, About, Join, Donate) + Search + Notifications - Auth-aware: guest Login vs authed Profile/Admin, admin link, etc. - Frees footer space: Footer hidden on portrait (bottom nav occupies), visible on landscape; reduces top bar clutter - TypeScript: navigation.ts (NavItem types), useOrientation.ts (matchMedia orientation), Vue SFC + + diff --git a/resources/js/components/navigation/OverflowDrawer.vue b/resources/js/components/navigation/OverflowDrawer.vue new file mode 100644 index 00000000..8248ccc9 --- /dev/null +++ b/resources/js/components/navigation/OverflowDrawer.vue @@ -0,0 +1,334 @@ + + + diff --git a/resources/js/components/navigation/ResponsiveNavigation.vue b/resources/js/components/navigation/ResponsiveNavigation.vue new file mode 100644 index 00000000..e8a91be5 --- /dev/null +++ b/resources/js/components/navigation/ResponsiveNavigation.vue @@ -0,0 +1,56 @@ + + + diff --git a/resources/js/components/navigation/SideRail.vue b/resources/js/components/navigation/SideRail.vue new file mode 100644 index 00000000..7efe7402 --- /dev/null +++ b/resources/js/components/navigation/SideRail.vue @@ -0,0 +1,276 @@ + + + diff --git a/resources/js/layouts/AppLayout.vue b/resources/js/layouts/AppLayout.vue index 6abd825f..77a8a795 100644 --- a/resources/js/layouts/AppLayout.vue +++ b/resources/js/layouts/AppLayout.vue @@ -1,9 +1,40 @@