[feat](trx-frontend-http): add decoder toggle/clear UI and endpoints

Add POST endpoints for toggle_aprs_decode, toggle_cw_decode,
clear_aprs_decode, and clear_cw_decode. Add toggle buttons in APRS
and CW tabs. Render decoder enabled state from SSE updates. Clear
button now also resets server-side decoder state.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Stanislaw Grams <stanislawgrams@gmail.com>
This commit is contained in:
2026-02-08 23:09:51 +01:00
parent 4a3273653a
commit 88ccc7ab81
5 changed files with 70 additions and 2 deletions
@@ -72,10 +72,15 @@ function addAprsPacket(pkt) {
}
}
document.getElementById("aprs-clear-btn").addEventListener("click", () => {
document.getElementById("aprs-decode-toggle-btn").addEventListener("click", async () => {
try { await postPath("/toggle_aprs_decode"); } catch (e) { console.error("APRS toggle failed", e); }
});
document.getElementById("aprs-clear-btn").addEventListener("click", async () => {
aprsPacketsEl.innerHTML = "";
aprsPacketHistory = [];
saveSetting("aprsPackets", []);
try { await postPath("/clear_aprs_decode"); } catch (e) { console.error("APRS clear failed", e); }
});
// Restore saved packets and map markers on page load
@@ -6,8 +6,13 @@ const cwToneInput = document.getElementById("cw-tone");
const cwSignalIndicator = document.getElementById("cw-signal-indicator");
const CW_MAX_LINES = 200;
document.getElementById("cw-clear-btn").addEventListener("click", () => {
document.getElementById("cw-decode-toggle-btn").addEventListener("click", async () => {
try { await postPath("/toggle_cw_decode"); } catch (e) { console.error("CW toggle failed", e); }
});
document.getElementById("cw-clear-btn").addEventListener("click", async () => {
cwOutputEl.innerHTML = "";
try { await postPath("/clear_cw_decode"); } catch (e) { console.error("CW clear failed", e); }
});
// --- Server-side CW decode handler ---