diff --git a/static/js/core/agents.js b/static/js/core/agents.js index 2854a2d..cc4d76b 100644 --- a/static/js/core/agents.js +++ b/static/js/core/agents.js @@ -340,6 +340,14 @@ function selectAgent(agentId) { BluetoothMode.handleAgentChange(); } // Re-enable listen button for local mode + const listenBtn = document.getElementById('radioListenBtn'); + console.log('[agents.js] Enabling listen button, found:', listenBtn); + if (listenBtn) { + listenBtn.disabled = false; + listenBtn.style.opacity = '1'; + listenBtn.style.cursor = 'pointer'; + listenBtn.title = 'Listen to current frequency'; + } if (typeof updateListenButtonState === 'function') { updateListenButtonState(false); } @@ -362,6 +370,14 @@ function selectAgent(agentId) { BluetoothMode.handleAgentChange(); } // Disable listen button for agent mode (audio can't stream over HTTP) + const listenBtn = document.getElementById('radioListenBtn'); + console.log('[agents.js] Disabling listen button, found:', listenBtn); + if (listenBtn) { + listenBtn.disabled = true; + listenBtn.style.opacity = '0.5'; + listenBtn.style.cursor = 'not-allowed'; + listenBtn.title = 'Audio listening not available for remote agents'; + } if (typeof updateListenButtonState === 'function') { updateListenButtonState(true); } diff --git a/static/js/modes/listening-post.js b/static/js/modes/listening-post.js index 43e8331..196594d 100644 --- a/static/js/modes/listening-post.js +++ b/static/js/modes/listening-post.js @@ -2474,8 +2474,10 @@ function setListeningPostRunning(isRunning, agentId = null) { // Update status updateScannerDisplay('IDLE', 'var(--text-secondary)'); - // Re-enable listen button - updateListenButtonState(false); + // Only re-enable listen button if we're in local mode + // (agent mode can't stream audio over HTTP) + const isAgentMode = typeof currentAgent !== 'undefined' && currentAgent !== 'local'; + updateListenButtonState(isAgentMode); // Clear polling if (listeningPostPollTimer) {