返回 AiToEarn
useNavigationLogic.ts
根目录 / project / aitoearn-web / src / app / layout / shared / hooks / useNavigationLogic.ts
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
29 lines TYPESCRIPT