fix: router add() signature, setActivePage typo, connect race condition

- Router.add() now takes 3 params (pattern, title, onEnter) matching app.js usage
- Fixed setActiveSidebar → setActivePage in all route callbacks
- Removed premature hash-setting from connect.js — app.js now sole navigator
  (was firing router into a hidden container before showConnected ran)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-06-13 17:57:48 +02:00
co-authored by Copilot
parent c5679feb82
commit 19c5247c90
3 changed files with 8 additions and 8 deletions
+5 -5
View File
@@ -97,11 +97,11 @@
}); });
// ---- Router setup ---- // ---- Router setup ----
Router.add(/^\/([^/]+)\/info$/, 'Server', function (p, c) { setActiveSidebar('Server'); ServerInfoPage(p, c); }); Router.add(/^\/([^/]+)\/info$/, 'Server', function (p, c) { setActivePage('Server'); ServerInfoPage(p, c); });
Router.add(/^\/([^/]+)\/console$/, 'Console', function (p, c) { setActiveSidebar('Console'); ConsolePage(p, c); }); Router.add(/^\/([^/]+)\/console$/, 'Console', function (p, c) { setActivePage('Console'); ConsolePage(p, c); });
Router.add(/^\/([^/]+)\/chat$/, 'Chat', function (p, c) { setActiveSidebar('Chat'); ChatPage(p, c); }); Router.add(/^\/([^/]+)\/chat$/, 'Chat', function (p, c) { setActivePage('Chat'); ChatPage(p, c); });
Router.add(/^\/([^/]+)\/playerlist$/, 'Player List', function (p, c) { setActiveSidebar('Player List'); PlayerListPage(p, c); }); Router.add(/^\/([^/]+)\/playerlist$/, 'Player List', function (p, c) { setActivePage('Player List'); PlayerListPage(p, c); });
Router.add(/^\/([^/]+)\/player\/(.+)$/, 'Player Info', function (p, c) { setActiveSidebar('Player Info'); PlayerInfoPage(p, c); }); Router.add(/^\/([^/]+)\/player\/(.+)$/, 'Player Info', function (p, c) { setActivePage('Player Info'); PlayerInfoPage(p, c); });
Router.start('#app-view'); Router.start('#app-view');
+1 -1
View File
@@ -110,7 +110,7 @@ function ConnectPage(params, container) {
}); });
function onConnected() { function onConnected() {
window.location.hash = '#/' + Rcon.getAddress() + '/info'; // Navigation handled by app.js — don't set hash here
} }
function onDisconnected(ev) { function onDisconnected(ev) {
showError('Connection was closed — Error ' + (ev ? ev.code : 'unknown')); showError('Connection was closed — Error ' + (ev ? ev.code : 'unknown'));
+2 -2
View File
@@ -18,8 +18,8 @@ var Router = (function () {
var viewSelector = null; var viewSelector = null;
var currentCleanup = null; var currentCleanup = null;
function add(pattern, title, template, onEnter) { function add(pattern, title, onEnter) {
routes.push({ pattern: pattern, title: title, template: template, onEnter: onEnter }); routes.push({ pattern: pattern, title: title, onEnter: onEnter });
} }
function navigate(hash) { function navigate(hash) {