@@ -9,36 +9,38 @@ import {
99 DropdownMenuTrigger ,
1010} from '@/components/ui/dropdownMenu' ;
1111import { useInstanceManagePermission } from '@/hooks/usePermissions' ;
12- import { Link } from '@tanstack/react-router' ;
12+ import { buildAbsoluteLinkToPage } from '@/lib/urls/buildAbsoluteLinkToPage' ;
13+ import { Link , useParams } from '@tanstack/react-router' ;
1314import { DatabaseIcon , GaugeIcon , Menu , NotepadText , Package , SettingsIcon } from 'lucide-react' ;
1415
1516function DesktopInstanceNavBar ( ) {
1617 const canManage = useInstanceManagePermission ( ) ;
18+ const params = useParams ( { strict : false } ) ;
1719 return (
1820 < div className = "hidden md:flex items-center justify-between h-full text-sm text-white" >
1921 < Breadcrumbs />
2022 < div className = "flex space-x-2 *:hover:text-grey" >
21- < Link to = "applications" className = "p-2" >
23+ < Link to = { buildAbsoluteLinkToPage ( params ) } className = "p-2" >
2224 < Package className = "inline-block" />
2325 < span className = "hidden xl:inline-block ml-1" > Applications</ span >
2426 < span className = "visible xl:hidden ml-1" > Apps</ span >
2527
2628 </ Link >
27- < Link to = " databases" className = "p-2" >
29+ < Link to = { buildAbsoluteLinkToPage ( params , ' databases' ) } className = "p-2" >
2830 < DatabaseIcon className = "inline-block" />
2931 < span className = "hidden xl:inline-block ml-1" > Databases</ span >
3032 </ Link >
3133 { canManage && (
3234 < >
33- < Link to = " status" className = "p-2" >
35+ < Link to = { buildAbsoluteLinkToPage ( params , ' status' ) } className = "p-2" >
3436 < GaugeIcon className = "inline-block" />
3537 < span className = "hidden xl:inline-block ml-1" > Status</ span >
3638 </ Link >
37- < Link to = " logs" className = "p-2" >
39+ < Link to = { buildAbsoluteLinkToPage ( params , ' logs' ) } className = "p-2" >
3840 < NotepadText className = "inline-block" />
3941 < span className = "hidden xl:inline-block ml-1" > Logs</ span >
4042 </ Link >
41- < Link to = " config" className = "p-2" >
43+ < Link to = { buildAbsoluteLinkToPage ( params , ' config' ) } className = "p-2" >
4244 < SettingsIcon className = "inline-block" />
4345 < span className = "hidden xl:inline-block ml-1" > Config</ span >
4446 </ Link >
@@ -51,41 +53,42 @@ function DesktopInstanceNavBar() {
5153
5254function MobileInstanceNavBar ( ) {
5355 const canManage = useInstanceManagePermission ( ) ;
56+ const params = useParams ( { strict : false } ) ;
5457 return (
5558 < >
56- < div className = "flex md:hidden items-center justify-between p-2 text-white" >
57- < Breadcrumbs />
58- < DropdownMenu >
59- < DropdownMenuTrigger asChild >
60- < Button variant = "ghost" className = "p-0" >
61- < Menu className = "h-8 w-8" />
62- </ Button >
63- </ DropdownMenuTrigger >
64- < DropdownMenuContent >
65- < DropdownMenuLabel > Instance Menu</ DropdownMenuLabel >
66- < DropdownMenuSeparator />
67- < DropdownMenuItem asChild >
68- < Link to = "applications" > Applications</ Link >
69- </ DropdownMenuItem >
70- < DropdownMenuItem asChild >
71- < Link to = " databases" > Databases</ Link >
72- </ DropdownMenuItem >
73- { canManage && (
74- < >
75- < DropdownMenuItem asChild >
76- < Link to = " status" > Status</ Link >
77- </ DropdownMenuItem >
78- < DropdownMenuItem asChild >
79- < Link to = " config" > Config</ Link >
80- </ DropdownMenuItem >
81- < DropdownMenuItem asChild >
82- < Link to = " logs" > Logs</ Link >
83- </ DropdownMenuItem >
84- </ >
85- ) }
86- </ DropdownMenuContent >
87- </ DropdownMenu >
88- </ div >
59+ < div className = "flex md:hidden items-center justify-between p-2 text-white" >
60+ < Breadcrumbs />
61+ < DropdownMenu >
62+ < DropdownMenuTrigger asChild >
63+ < Button variant = "ghost" className = "p-0" >
64+ < Menu className = "h-8 w-8" />
65+ </ Button >
66+ </ DropdownMenuTrigger >
67+ < DropdownMenuContent >
68+ < DropdownMenuLabel > Instance Menu</ DropdownMenuLabel >
69+ < DropdownMenuSeparator />
70+ < DropdownMenuItem asChild >
71+ < Link to = { buildAbsoluteLinkToPage ( params ) } > Applications</ Link >
72+ </ DropdownMenuItem >
73+ < DropdownMenuItem asChild >
74+ < Link to = { buildAbsoluteLinkToPage ( params , ' databases' ) } > Databases</ Link >
75+ </ DropdownMenuItem >
76+ { canManage && (
77+ < >
78+ < DropdownMenuItem asChild >
79+ < Link to = { buildAbsoluteLinkToPage ( params , ' status' ) } > Status</ Link >
80+ </ DropdownMenuItem >
81+ < DropdownMenuItem asChild >
82+ < Link to = { buildAbsoluteLinkToPage ( params , ' config' ) } > Config</ Link >
83+ </ DropdownMenuItem >
84+ < DropdownMenuItem asChild >
85+ < Link to = { buildAbsoluteLinkToPage ( params , ' logs' ) } > Logs</ Link >
86+ </ DropdownMenuItem >
87+ </ >
88+ ) }
89+ </ DropdownMenuContent >
90+ </ DropdownMenu >
91+ </ div >
8992 </ >
9093 ) ;
9194}
0 commit comments