Leaflet CSS/JS assets are now loaded conditionally in shared headers/footers so map libraries are only included on pages that need them. For the QRB calculator dialog, Leaflet is loaded on demand in `common.js`, and the `newpath` map-rendering function was moved into the QRB view so the modal still works when global map scripts are skipped. Also adds a small HTMX updating indicator to the dashboard’s Today’s QSOs section.
Implement server-side pagination for previous contacts and add a DXCC Summary tab. Controller Qso now uses last_custom_paginated and exposes total_rows/total_pages/current_page/limit. Logbook_model gained last_custom_paginated and last_custom_count to support paged queries. The previous_contacts view was updated with HTMX pagination controls and wrapping for a scrollable table; qso/index was refactored to a tabbed UI (Previous Contacts / DXCC Summary). Lookup result display was improved: responsive table, sticky header, consolidation of LSB/USB into SSB and filtering out empty modes. JS and CSS updates load DXCC HTML into the new tab, hide legacy dxccsummary elements, and add form reset / Escape handling to return focus to the previous contacts tab.
Enable createOnBlur and selectOnTab on selectize instances for SOTA, WWFF and POTA reference fields in both the QSO form and the QSO edit dialog (assets/js/sections/qso.js and assets/js/sections/common.js). This improves UX by allowing new entries to be created on blur and enabling selection with the Tab key.
Enhanced the QSO edit dialog to use datalist autocompletion for satellite name and mode fields. Satellite data is loaded from JSON, and selecting a satellite/mode updates related frequency, band, and propagation fields automatically.
In Logbook_model.php, LoTW and eQSL sent status are reset to 'N' when editing a QSO that was previously sent, ensuring re-upload to these services. In common.js, a handler updates DXCC, location, and state fields when the callsign is changed in the QSO edit modal.
Added a default fallback for DataTables language selection if lang_datatables_language is undefined. Refactored checkbox event handling in qslprint.js to ensure proper attachment after DataTable redraws, prevent duplicate handlers, and keep the 'select all' checkbox in sync. Also improved checks for AJAX response data in markSelectedQsos and removeSelectedQsos.