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 6eea5e5..9bfc122 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 @@ -408,10 +408,11 @@ function setDecodeHistoryOverlayVisible(visible, title = "", sub = "") { decodeHistoryOverlayEl.classList.toggle("is-hidden", !visible); } -function setConnLostOverlay(visible, title = "Connection lost", sub = "Retrying\u2026") { +function setConnLostOverlay(visible, title = "Connection lost", sub = "Retrying\u2026", fullscreen = false) { if (!connLostOverlayEl) return; if (connLostOverlayTitleEl) connLostOverlayTitleEl.textContent = title; if (connLostOverlaySubEl) connLostOverlaySubEl.textContent = sub; + connLostOverlayEl.classList.toggle("conn-lost-fullscreen", fullscreen); connLostOverlayEl.classList.toggle("is-hidden", !visible); } const decodeHistoryTextDecoder = typeof TextDecoder === "function" ? new TextDecoder() : null; @@ -3362,7 +3363,7 @@ function connect() { // Check if this is an auth error by looking at readyState if (es.readyState === EventSource.CLOSED) { powerHint.textContent = "trx-client connection lost, retrying\u2026"; - setConnLostOverlay(true, "trx-client connection lost", "Retrying\u2026"); + setConnLostOverlay(true, "trx-client connection lost", "Retrying\u2026", true); es.close(); pollFreshSnapshot(); scheduleReconnect(1000); @@ -3373,7 +3374,7 @@ function connect() { const now = Date.now(); if (now - lastEventAt > 15000) { powerHint.textContent = "trx-client connection lost, retrying\u2026"; - setConnLostOverlay(true, "trx-client connection lost", "Retrying\u2026"); + setConnLostOverlay(true, "trx-client connection lost", "Retrying\u2026", true); es.close(); pollFreshSnapshot(); scheduleReconnect(250); diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/index.html b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/index.html index 93aa01c..b60a55e 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/index.html +++ b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/index.html @@ -1036,6 +1036,12 @@
Connecting…
+ - 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 b11e528..7096ac1 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 @@ -1142,7 +1142,7 @@ small { color: var(--text-muted); } .meter-bar { flex: 1 1 auto; height: 12px; border-radius: 999px; background: var(--btn-bg); border: 1px solid var(--border-light); overflow: hidden; } .meter-fill { height: 100%; width: 0%; background: linear-gradient(90deg, var(--accent-green), var(--accent-yellow), var(--accent-red)); transition: width 150ms ease; } .meter-value { font-size: 0.95rem; color: var(--text-heading); min-width: 64px; text-align: right; } -#content { display: flex; flex-direction: column; gap: 1.1rem; min-height: 0; flex: 1 1 auto; overflow: visible; } +#content { display: flex; flex-direction: column; gap: 1.1rem; min-height: 0; flex: 1 1 auto; overflow: visible; position: relative; } .tab-panel { flex: 1 1 auto; min-height: 0; overflow: visible; display: flex; flex-direction: column; } .sub-tab-panel { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; } .tab-bar { @@ -1340,6 +1340,14 @@ small { color: var(--text-muted); } opacity: 0; visibility: hidden; } +.decode-history-overlay.content-overlay { + position: absolute; + border-radius: 0 0 0.9rem 0.9rem; +} +.decode-history-overlay.content-overlay.conn-lost-fullscreen { + position: fixed; + border-radius: 0; +} .decode-history-overlay-card { min-width: min(26rem, calc(100vw - 2.4rem)); max-width: min(30rem, calc(100vw - 2.4rem));