From 02ed6d918c5fbe4d88920c2100d85e9c3d378bfb Mon Sep 17 00:00:00 2001 From: Stan Grams Date: Sat, 4 Apr 2026 12:54:11 +0200 Subject: [PATCH] [fix](trx-frontend-http): redirect to login when navigating to protected tabs unauthenticated, right-align recorder table buttons Show the auth gate instead of silently blocking navigation to non-main tabs when not logged in. Also fix recorder file table layout so the file column takes full width and action buttons are right-aligned. Co-Authored-By: Claude Opus 4.6 (1M context) Signed-off-by: Stan Grams --- .../trx-frontend/trx-frontend-http/assets/web/app.js | 5 ++++- .../trx-frontend/trx-frontend-http/assets/web/style.css | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/app.js b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/app.js index 0da8135..a39a7e5 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/app.js +++ b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/app.js @@ -4433,7 +4433,10 @@ function updateTabHistory(name, replaceHistory = false) { function navigateToTab(name, options = {}) { const { updateHistory = true, replaceHistory = false } = options; - if (authEnabled && !authRole && name !== "main") return; + if (authEnabled && !authRole && name !== "main") { + showAuthGate(false); + return; + } const btn = document.querySelector(`.tab-bar .tab[data-tab="${name}"]`); if (!btn) return; _activeTab = name; diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/style.css b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/style.css index 2e4d700..cb31d6c 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/style.css +++ b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/style.css @@ -1244,9 +1244,16 @@ small { color: var(--text-muted); } text-transform: uppercase; letter-spacing: 0.03em; } +.recorder-table td:first-child, +.recorder-table th:first-child { width: 100%; } +.recorder-table td:nth-child(2), +.recorder-table th:nth-child(2) { white-space: nowrap; } +.recorder-table td:last-child, +.recorder-table th:last-child { text-align: right; white-space: nowrap; } .recorder-table .rec-file-actions { display: flex; align-items: center; + justify-content: flex-end; gap: 0.4rem; } .recorder-table .rec-file-btn {