| 1 | /** |
| 2 | * useNavigationLogic - shared navigation hook |
| 3 | * Provides route calculation and navigation visibility for MobileNav and LayoutSidebar. |
| 4 | */ |
| 5 | 'use client' |
| 6 | |
| 7 | import { useSelectedLayoutSegments } from 'next/navigation' |
| 8 | |
| 9 | const HIDDEN_NAV_ROUTES = ['auth', 'websit', '(welcome)'] |
| 10 | |
| 11 | export function useNavigationLogic() { |
| 12 | const route = useSelectedLayoutSegments() |
| 13 | |
| 14 | let currRouter = '/' |
| 15 | if (route.length === 1) { |
| 16 | currRouter = route[0] |
| 17 | currRouter = currRouter === '/' ? currRouter : `/${currRouter}` |
| 18 | } |
| 19 | else if (route.length >= 2) { |
| 20 | currRouter = `/${route.slice(0, 2).join('/')}` |
| 21 | } |
| 22 | |
| 23 | const rootRoute = route[0] |
| 24 | const isAuthPage = HIDDEN_NAV_ROUTES.includes(rootRoute) |
| 25 | const isBottomNavHidden = isAuthPage |
| 26 | |
| 27 | return { currRouter, isAuthPage, isBottomNavHidden, route } |
| 28 | } |
| 29 |