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 d963264..29054d7 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 @@ -2469,6 +2469,24 @@ function aprsSymbolIcon(symbolTable, symbolCode) { }); } +window.navigateToAprsMap = function(lat, lon) { + // Activate the map tab + document.querySelectorAll(".tab-bar .tab").forEach((t) => t.classList.remove("active")); + const mapTabBtn = document.querySelector(".tab-bar .tab[data-tab='map']"); + if (mapTabBtn) mapTabBtn.classList.add("active"); + document.querySelectorAll(".tab-panel").forEach((p) => (p.style.display = "none")); + const mapPanel = document.getElementById("tab-map"); + if (mapPanel) mapPanel.style.display = ""; + initAprsMap(); + sizeAprsMapToViewport(); + if (aprsMap) { + setTimeout(() => { + aprsMap.invalidateSize(); + aprsMap.setView([lat, lon], 13); + }, 50); + } +}; + window.aprsMapAddStation = function(call, lat, lon, info, symbolTable, symbolCode) { if (!aprsMap) initAprsMap(); if (!aprsMap) return; 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 bed7e5b..e63d8e5 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,7 +118,10 @@ function updateAprsBar() { const call = `${escapeMapHtml(pkt.srcCall)}`; const dest = escapeMapHtml(pkt.destCall || ""); const info = escapeMapHtml(pkt.info || ""); - html += `
${ts}${call}>${dest}: ${info}
`; + const posHtml = pkt.lat != null && pkt.lon != null + ? ` ` + : ""; + html += `
${ts}${call}>${dest}: ${info}${posHtml}
`; } aprsBarOverlay.innerHTML = html; aprsBarOverlay.style.display = "flex"; 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 2128526..e8a37d2 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 @@ -984,6 +984,8 @@ small { color: var(--text-muted); } .aprs-symbol { display: inline-block; width: 24px; height: 24px; background-size: 384px 192px; vertical-align: middle; margin-right: 0.3rem; } .aprs-pos { color: var(--accent-green); text-decoration: none; margin-left: 0.3rem; font-size: 0.8rem; } .aprs-pos:hover { text-decoration: underline; } +.aprs-bar-pos { background: none; border: none; padding: 0; margin-left: 0.4em; font-family: inherit; font-size: inherit; color: var(--accent-green); cursor: pointer; } +.aprs-bar-pos:hover { text-decoration: underline; } .aprs-byte { color: var(--accent-yellow); background: rgba(255, 214, 0, 0.12); border: 1px solid rgba(255, 214, 0, 0.25); border-radius: 4px; padding: 0 0.2rem; margin: 0 0.1rem; font-size: 0.78em; } .ft8-controls { display: flex; gap: 0.6rem; align-items: center; margin-bottom: 0.75rem; } .ft8-filter {