From 6cb2cf2d87f61d7a3963dba8d8d94f66081ddcb2 Mon Sep 17 00:00:00 2001 From: Szymon Porwolik Date: Fri, 7 Nov 2025 18:48:30 +0100 Subject: [PATCH] Fix for radio status --- assets/js/cat.js | 18 ++++++++++++++---- assets/js/sections/bandmap_list.js | 13 ++++++++++--- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/assets/js/cat.js b/assets/js/cat.js index 2ab6a5146..8b5f70036 100644 --- a/assets/js/cat.js +++ b/assets/js/cat.js @@ -380,10 +380,10 @@ $(document).ready(function() { // Use translation variable if available, fallback to English var offlineText = typeof lang_cat_working_offline !== 'undefined' ? lang_cat_working_offline : 'Working without CAT connection'; - const offlineHtml = '' + + const offlineHtml = '' + '' + '' + offlineText + '' + - '' + + '' + ''; let tooltipContent; @@ -888,6 +888,14 @@ $(document).ready(function() { radioCatUrlCache = {}; radioNameCache = {}; + // If switching to None, disable CAT tracking FIRST before stopping connections + // This prevents any pending updates from interfering with the offline status + if (selectedRadioId == '0') { + if (typeof window.isCatTrackingEnabled !== 'undefined') { + window.isCatTrackingEnabled = false; + } + } + // Hide radio status box (both success and error states) $('#radio_cat_state').remove(); @@ -911,9 +919,11 @@ $(document).ready(function() { if (typeof dxwaterfall_cat_state !== 'undefined') { dxwaterfall_cat_state = "none"; } - // Disable CAT Control button when no radio is selected + // Disable CAT Connection button when no radio is selected $('#toggleCatTracking').prop('disabled', true).addClass('disabled'); - // Display offline status when no radio selected (always show, not just in ultra-compact) + // Also turn OFF CAT Connection (remove green button state) + $('#toggleCatTracking').removeClass('btn-success').addClass('btn-secondary'); + // Display offline status when no radio selected displayOfflineStatus('no_radio'); } else if (selectedRadioId == 'ws') { websocketIntentionallyClosed = false; // Reset flag when opening WebSocket diff --git a/assets/js/sections/bandmap_list.js b/assets/js/sections/bandmap_list.js index 3de6a6098..4fe437b67 100644 --- a/assets/js/sections/bandmap_list.js +++ b/assets/js/sections/bandmap_list.js @@ -2060,8 +2060,12 @@ $(function() { isCatTrackingEnabled = false; window.isCatTrackingEnabled = false; - // Hide radio status - $('#radio_cat_state').remove(); + // Show offline status instead of just hiding + if (typeof window.displayOfflineStatus === 'function') { + window.displayOfflineStatus('no_radio'); + } else { + $('#radio_cat_state').remove(); + } // Re-enable band filter controls enableBandFilterControls(); @@ -3184,8 +3188,11 @@ $(function() { if (selectedRadio && selectedRadio !== '0' && typeof window.displayOfflineStatus === 'function') { // Radio is selected but CAT Control disabled - show offline status window.displayOfflineStatus('cat_disabled'); + } else if (selectedRadio === '0' && typeof window.displayOfflineStatus === 'function') { + // No radio selected - show offline status + window.displayOfflineStatus('no_radio'); } else { - // No radio selected - just hide radio status + // Fallback: just hide radio status $('#radio_cat_state').remove(); }