From 8e353620deaeb0b57db49363894cca703abfae0b Mon Sep 17 00:00:00 2001 From: Stan Grams Date: Sun, 1 Mar 2026 14:56:24 +0100 Subject: [PATCH] [style](trx-frontend-http): replace coord sub-line with inline pin button MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When a frame carries a position, show a small 📍 button between the timestamp and callsign on the same line. Title tooltip shows the coordinates; clicking navigates to the Map tab. Removes the two-line per-entry layout. Co-Authored-By: Claude Sonnet 4.6 Signed-off-by: Stan Grams --- .../assets/web/plugins/aprs.js | 7 +++--- .../trx-frontend-http/assets/web/style.css | 22 +++++++++++-------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/plugins/aprs.js b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/plugins/aprs.js index 5d1bc56..080183a 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/plugins/aprs.js +++ b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/plugins/aprs.js @@ -118,12 +118,11 @@ function updateAprsBar() { const call = `${escapeMapHtml(pkt.srcCall)}`; const dest = escapeMapHtml(pkt.destCall || ""); const info = escapeMapHtml(pkt.info || ""); - const posHtml = pkt.lat != null && pkt.lon != null - ? `` + const pin = pkt.lat != null && pkt.lon != null + ? `` : ""; html += `
` + - `
${ts}${call}>${dest}: ${info}
` + - (posHtml ? `
${posHtml}
` : "") + + `
${ts}${pin}${call}>${dest}: ${info}
` + `
`; } aprsBarOverlay.innerHTML = html; 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 eb01019..d31db8a 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 @@ -680,9 +680,7 @@ small { color: var(--text-muted); } .aprs-bar-frame { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: clamp(0.58rem, 1.05vw, 0.74rem); - display: flex; - flex-direction: column; - line-height: 1.3; + line-height: 1.45; opacity: 1; } .aprs-bar-frame-main { @@ -690,13 +688,19 @@ small { color: var(--text-muted); } overflow: hidden; text-overflow: ellipsis; } -.aprs-bar-frame-pos { - line-height: 1.1; - margin-bottom: 0.1rem; +.aprs-bar-pin { + background: none; + border: none; + padding: 0 0.2em 0 0; + font-size: 0.85em; + line-height: 1; + cursor: pointer; + vertical-align: middle; + opacity: 0.8; + transition: opacity 120ms; } -.aprs-bar-frame-pos { - display: block; - white-space: nowrap; +.aprs-bar-pin:hover { + opacity: 1; } .aprs-bar-frame + .aprs-bar-frame { opacity: 0.72;