Commit graph

26 commits

Author SHA1 Message Date
Peter Goodhall
cee6cd2def Refactor DXCC checks; add CW RBN lock UI
Replace inline DB queries in Dxcluster with a new Logbook_model::check_if_dxcc_worked_in_logbook method to centralize DXCC existence checks (per-band and overall). Remove several debug log statements from Dxcluster. Add client-side logic in dxcluster and qso views to enforce a CW↔RBN rule: when mode is 'cw' the "hide RBN" option is forced off and the checkbox is disabled (and restored when leaving CW), and apply that lock on load and mode changes. Also disable track-band when the user manually changes band in the QSO cluster UI.
2026-03-29 13:37:16 +01:00
Peter Goodhall
3d9e466b76 Add mode and new DXCC filters; extract DX utils
Add UI controls for mode and "New DXCC" filtering to the DX Cluster and QSO views, persist selections in localStorage, and wire them into existing spot filtering and rendering logic (including auto-unhide of RBN when CW is selected). Extract shared helper functions into a new assets/js/dxcluster-utils.js (DXCluster) providing isRbnSpot, getBandFromFrequency, detectModeFromFrequency, and detectMode, and update views to use these helpers. Also adjust badge logic to prioritize truly new DXCC, include the new script, and ensure spots are held until worked status is known for new/DXCC-band filtering.
2026-03-29 11:31:31 +01:00
Peter Goodhall
a47e691db7 Fix RBN spot detection regex
Restrict RBN spot detection to skimmers that end with a literal '#' after the callsign. Previously the code matched hyphen followed by '#' or digits (/\-[#\d]+$/), which could misclassify numeric SSIDs like '-1' as RBN spots. The check now matches hyphen + one or more literal '#' characters (/\-#+$/) and simplifies trimming by removing the temporary uppercase variable.
2026-03-27 22:38:52 +00:00
Peter Goodhall
8697f4504e Reorder country badge after worked status icon
Moved the country name badge to appear after the worked status icon in the DX cluster callsign display for improved clarity and logical grouping of status indicators.
2025-11-21 17:52:16 +00:00
Peter Goodhall
edf58dabee Add column widths and country badge to DX table
Set explicit widths for DX cluster table columns and display a country name badge in the DX Call column when available for improved readability and user experience.
2025-11-18 13:22:34 +00:00
Peter Goodhall
16e465831e Show frequency range on bandmap view update
Adds code to update the displayed frequency range when the bandmap view is changed, improving user feedback on the current visible frequency segment.
2025-11-17 22:42:22 +00:00
Peter Goodhall
d26068bd3b Add DXCC worked status and radio QSY to DX Cluster
Enhances DX Cluster by showing DXCC entity and worked status per spot, including new band/country indicators. Adds radio selection and QSY functionality, updates UI with improved filters and spot marker styling, and provides user feedback for frequency actions.
2025-11-17 22:40:07 +00:00
Peter Goodhall
38b3003f90 Add callsign worked status check to DX Cluster
Introduces a new API endpoint in Dxcluster.php to batch check if callsigns have been worked, with band-specific and overall status. Updates the DX Cluster view to display worked status icons next to callsigns and asynchronously fetches status for visible spots, improving user awareness of worked contacts.
2025-11-17 17:31:20 +00:00
Peter Goodhall
07b4ccfcdc Add band and RBN spot filters to DX Cluster view
Introduces UI controls to filter DX spots by band and to hide RBN spots, with user preferences saved in localStorage. Filtering logic is implemented in JavaScript, including band detection from frequency and RBN spot identification.
2025-11-17 17:20:55 +00:00
Peter Goodhall
62380e0181 Expand band support and improve band display in bandmap
Added support for additional LF, MF, UHF, SHF, and EHF amateur radio bands in Bands model and bandmap view. Updated band ranges and ordering, and improved band name formatting in the bandmap UI for better clarity and consistency across all supported bands.
2025-10-04 23:05:20 +01:00
Peter Goodhall
d0bc360049 Redesign DX Cluster view with real-time WebSocket spots
Revamps the DX Cluster page to use a modern card/table layout, real-time spot updates via WebSocket, and DataTables for enhanced interactivity. Adds connection status indicators, frequency click-to-copy, and age-based row styling. Removes legacy AJAX spot lookup code from the footer.
2025-10-04 14:53:43 +01:00
Peter Goodhall
d661b0a3b7 Remove Bandmap controller and enhance QSY mode handling
Deleted the Bandmap controller as part of code cleanup or refactoring. Improved the QSY command logic in Dxcluster by adding debug logging and handling the mode parameter more robustly. Updated the bandmap view to pass spot information, detect RBN spots, and send the appropriate mode (e.g., CW) with QSY commands.
2025-10-04 14:06:19 +01:00
Peter Goodhall
25a03ab1fa Add optimized radio command APIs and QSY integration
Introduces an optimized API endpoint to fetch all pending radio commands for a user in a single call, along with a maintenance endpoint for cleaning up expired and old commands. Updates the documentation to reflect these new endpoints and usage patterns. Adds a QSY endpoint to Dxcluster for queuing frequency/mode commands from the bandmap, and integrates client-side JavaScript to send QSY commands to the selected radio with user feedback. Enhances backend models to support user-scoped cleanup of expired and old commands.
2025-10-04 13:34:42 +01:00
Peter Goodhall
97195690b2 Integrate DX Cluster bandmap with QSO and layout
Refactored Dxcluster controller to use header and footer layouts. Removed standalone HTML structure from dxcluster/index.php to fit within the site layout. Added 'Open Bandmap' button and supporting JavaScript to qso/index.php for easier access to the bandmap from the QSO page.
2025-10-02 21:43:35 +01:00
Peter Goodhall
e603635df7 Fix band select dropdown value assignment
Replaces direct value assignment with a loop to find and select the dropdown option matching the band's start and end range. Adds console logs for debugging the selection process.
2025-10-02 18:28:05 +01:00
Peter Goodhall
fd4dc279b2 Display band name from dropdown in bandmap
Updated the bandmap to use the band name from the dropdown option text when displaying the current band. This ensures the displayed band name matches the user's selection and improves clarity, especially for bands with custom names.
2025-10-02 18:25:46 +01:00
Peter Goodhall
111daa29cb Fix band display for 70cm and 23cm bands
Update band display logic to show '70cm' and '23cm' instead of '70m' and '23m' for those specific bands. Also add debug logging to band selection for easier troubleshooting.
2025-10-02 18:24:27 +01:00
Peter Goodhall
c9a192900f Update bandmap.php 2025-10-02 18:22:44 +01:00
Peter Goodhall
e0e12a2caa Add VHF/UHF bands to bandmap options
Added 2m, 70cm, and 23cm band options to the bandmap selection in the dxcluster view to support additional amateur radio bands.
2025-10-02 18:20:54 +01:00
Peter Goodhall
7b25beebb8 Handle satellite RX frequency in bandmap auto-tracking
Updated bandmap auto-tracking logic to use RX frequency when satellite mode is detected, ensuring correct frequency handling for satellite contacts. Added console logging to indicate when satellite mode is active.
2025-10-02 18:18:12 +01:00
Peter Goodhall
5c13fb8f52 Add radio auto-tracking toggle to bandmap
Introduces a UI toggle and supporting logic for enabling or disabling automatic bandmap tracking of the selected radio's frequency. The bandmap now polls the radio endpoint and updates the view to follow the radio frequency when auto-tracking is enabled. Also adjusts the bandmap popup width in the cluster index view.
2025-10-02 18:03:10 +01:00
Peter Goodhall
5f0c95804a Add user-specific bands to bandmap and persist radio selection
The bandmap now displays only the bands configured for the current user, using a new Bands model method to retrieve and order them. The band selection dropdown in the bandmap view is dynamically generated based on user bands, with a fallback to defaults. Additionally, the selected radio is now persisted in localStorage and synchronized across selects, and the bandmap window width was adjusted for better display.
2025-10-02 17:40:49 +01:00
Peter Goodhall
c39e727f9a Add DX Cluster controller and bandmap views
Introduces a new Dxcluster controller with authorization checks and two views: a main index page and an interactive bandmap for real-time DX spots visualization. The bandmap view includes a WebSocket connection to a DX Cluster server, dynamic spot rendering, zoom, band selection, and user interface enhancements.
2025-10-02 14:19:39 +01:00
Peter Goodhall
0c8c14ed8c Bootstrap Updates 2019-02-10 22:47:57 +00:00
Peter Goodhall
df3ad12109 issue 65 2011-11-11 20:04:35 +00:00
Peter Goodhall
3d40ef2854 Added DX Cluster 2011-11-10 20:31:08 +00:00