From b4ea35baf80435f1d51dbdae26f22737d2e7ba23 Mon Sep 17 00:00:00 2001 From: Stan Grams Date: Sat, 1 Aug 2026 11:32:34 +0200 Subject: [PATCH] feat(ui): add dedicated audio controls section --- .../trx-frontend-http/assets/web/index.html | 28 +++++++++++-------- .../trx-frontend-http/assets/web/ui-core.js | 12 +++++--- .../trx-frontend-http/src/status.rs | 1 + 3 files changed, 25 insertions(+), 16 deletions(-) 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 1fb05d71..1ab75cc4 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 @@ -419,20 +419,24 @@ SPDX-License-Identifier: GPL-2.0-or-later -
-
Audio
-
- - - - - -
-
+
+ Audio controls +
+
+
+ + + + + +
+
+
+ Off +
- Off
-
+
diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/ui-core.js b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/ui-core.js index 69f1d74f..9c01455b 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/ui-core.js +++ b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/ui-core.js @@ -126,10 +126,10 @@ }; const layouts = { - compact: { label: "Compact", advanced: false, preferredTab: "main" }, - broadcast: { label: "Broadcast", unavailable: "Broadcast requires an enumerated WFM-capable receiver", advanced: false, preferredTab: "main", capability: "broadcast" }, - digital: { label: "Digital", unavailable: "Digital requires a compatible rig mode and an available decoder", advanced: false, preferredTab: "digital-modes", capability: "digital" }, - full: { label: "Full controls", advanced: true, preferredTab: "main" }, + compact: { label: "Compact", advanced: false, audio: false, scheduler: false, preferredTab: "main" }, + broadcast: { label: "Broadcast", unavailable: "Broadcast requires an enumerated WFM-capable receiver", advanced: false, audio: true, scheduler: false, preferredTab: "main", capability: "broadcast" }, + digital: { label: "Digital", unavailable: "Digital requires a compatible rig mode and an available decoder", advanced: false, audio: false, scheduler: false, preferredTab: "digital-modes", capability: "digital" }, + full: { label: "Full controls", advanced: true, audio: true, scheduler: true, preferredTab: "main" }, }; const layoutCapabilities = { broadcast: false, digital: false }; let activeRigId = null; @@ -195,6 +195,10 @@ if (options.persist !== false) localStorage.setItem(layoutStorageKey(), document.body.dataset.operatorLayout); const details = document.getElementById("advanced-radio-controls"); if (details) details.open = layout.advanced; + const audioDetails = document.getElementById("audio-controls"); + if (audioDetails) audioDetails.open = layout.audio; + const schedulerDetails = document.getElementById("scheduler-controls"); + if (schedulerDetails) schedulerDetails.open = layout.scheduler; if (options.navigate && typeof window.navigateToTab === "function") { window.navigateToTab(layout.preferredTab); } diff --git a/src/trx-client/trx-frontend/trx-frontend-http/src/status.rs b/src/trx-client/trx-frontend/trx-frontend-http/src/status.rs index c0a4a720..68afc3b7 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/src/status.rs +++ b/src/trx-client/trx-frontend/trx-frontend-http/src/status.rs @@ -89,5 +89,6 @@ mod tests { ); assert!(UI_CORE_JS.contains("window.trxUi")); assert!(html.contains("Scheduler controls")); + assert!(html.contains("Audio controls")); } } -- 2.55.0