Skip to content
This repository was archived by the owner on Jul 28, 2026. It is now read-only.

Commit 1db3956

Browse files
committed
feat: add tab-based nested routing for /server/:id/:tab
1 parent 09b3a48 commit 1db3956

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

public/js/app.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)