@@ -635,6 +635,7 @@ function navigateTo(page) {
635635 const parts = page . split ( '/' ) ;
636636 let basePage = parts [ 0 ] || 'overview' ;
637637 const param = parts [ 1 ] ;
638+ const tab = parts [ 2 ] ;
638639
639640 // Auth pages - redirect to / if already logged in
640641 if ( ( basePage === 'login' || basePage === 'signup' ) && state . token ) {
@@ -671,7 +672,7 @@ function navigateTo(page) {
671672
672673 state . currentPage = basePage ;
673674 state . serverId = param ? parseInt ( param ) : null ;
674- state . serverDetailTab = 'info' ;
675+ state . serverDetailTab = tab || 'info' ;
675676 const url = basePage === 'overview' && ! param ? '/' : `/${ page } ` ;
676677 history . pushState ( { page : basePage , serverId : state . serverId } , '' , url ) ;
677678
@@ -724,6 +725,7 @@ window.addEventListener('popstate', () => {
724725 const parts = path . replace ( / ^ \/ / , '' ) . split ( '/' ) ;
725726 let basePage = parts [ 0 ] || 'overview' ;
726727 const param = parts [ 1 ] ;
728+ const tab = parts [ 2 ] ;
727729
728730 // Auth pages - redirect to / if already logged in
729731 if ( ( basePage === 'login' || basePage === 'signup' ) && state . token ) {
@@ -739,7 +741,7 @@ window.addEventListener('popstate', () => {
739741
740742 state . currentPage = basePage ;
741743 state . serverId = param ? parseInt ( param ) : null ;
742- state . serverDetailTab = 'info' ;
744+ state . serverDetailTab = tab || 'info' ;
743745
744746 if ( basePage === 'server' && state . serverId ) {
745747 const targetPage = $ ( '#page-server-detail' ) ;
@@ -2200,6 +2202,9 @@ function switchTab(tabBtn) {
22002202 fetchLiveResources ( state . serverIdentifier ) ;
22012203 }
22022204 }
2205+
2206+ const newUrl = `/server/${ state . serverId } /${ tabName } ` ;
2207+ history . pushState ( { page : 'server' , serverId : state . serverId , tab : tabName } , '' , newUrl ) ;
22032208}
22042209
22052210// ===== DELETE SERVER =====
0 commit comments