diff --git a/manual_trading_hub/static/app.js b/manual_trading_hub/static/app.js index cc16f95..6b9d1ef 100644 --- a/manual_trading_hub/static/app.js +++ b/manual_trading_hub/static/app.js @@ -537,13 +537,24 @@ return "monitor"; } + function pageElementId(page) { + if (page === "settings") return "page-settings"; + if (page === "market") return "page-market"; + return "page-monitor"; + } + function setActiveNav() { const page = currentPage(); + const pageId = pageElementId(page); document.querySelectorAll(".top-nav a").forEach((a) => { - a.classList.toggle("active", a.getAttribute("href").includes(page)); + const href = (a.getAttribute("href") || "").split("?")[0]; + a.classList.toggle( + "active", + href === "/" + page || (page === "monitor" && (href === "/" || href === "/monitor")) + ); }); document.querySelectorAll(".page").forEach((el) => { - el.classList.toggle("hidden", !el.id.includes(page)); + el.classList.toggle("hidden", el.id !== pageId); }); if (page === "monitor") startMonitorPoll(); else stopMonitorPoll(); @@ -1140,10 +1151,15 @@ const mobileTiles = isMobileLayout() && !expandedExchangeId; const displayRows = mobileTiles ? sortRowsForMobileDashboard(rows) : rows; box.classList.toggle("grid-monitor-tiles", mobileTiles); - box.innerHTML = - displayRows - .map((r) => (mobileTiles ? renderMonitorTile(r) : renderMonitorCard(r))) - .join("") || '