mirror of
https://github.com/smittix/intercept.git
synced 2026-04-24 06:40:00 -07:00
Add selectable ACARS frequencies
- Add checkboxes for each ACARS frequency in the selected region - Users can now select one or multiple frequencies instead of all - Frequencies stay checked when switching regions if they exist in both - Falls back to all region frequencies if none selected Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -108,12 +108,15 @@
|
||||
<option value="0">SDR 0</option>
|
||||
<option value="1">SDR 1</option>
|
||||
</select>
|
||||
<select id="acarsRegionSelect" onchange="setAcarsFreqs()" style="flex: 1; font-size: 10px;">
|
||||
<select id="acarsRegionSelect" onchange="updateAcarsFreqCheckboxes()" style="flex: 1; font-size: 10px;">
|
||||
<option value="na">N. America</option>
|
||||
<option value="eu">Europe</option>
|
||||
<option value="ap">Asia-Pac</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="acarsFreqSelector" style="display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; font-size: 9px;">
|
||||
<!-- Frequency checkboxes populated by JS -->
|
||||
</div>
|
||||
<button class="acars-btn" id="acarsToggleBtn" onclick="toggleAcars()" style="width: 100%;">
|
||||
▶ START ACARS
|
||||
</button>
|
||||
@@ -3252,21 +3255,49 @@ sudo make install</code>
|
||||
localStorage.setItem('acarsSidebarCollapsed', acarsSidebarCollapsed);
|
||||
}
|
||||
|
||||
// Initialize ACARS sidebar state
|
||||
// Initialize ACARS sidebar state and frequency checkboxes
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const sidebar = document.getElementById('acarsSidebar');
|
||||
if (sidebar && acarsSidebarCollapsed) {
|
||||
sidebar.classList.add('collapsed');
|
||||
}
|
||||
updateAcarsFreqCheckboxes();
|
||||
});
|
||||
|
||||
function setAcarsFreqs() {
|
||||
// Just updates the region selection - frequencies are sent on start
|
||||
function updateAcarsFreqCheckboxes() {
|
||||
const region = document.getElementById('acarsRegionSelect').value;
|
||||
const freqs = acarsFrequencies[region] || acarsFrequencies['na'];
|
||||
const container = document.getElementById('acarsFreqSelector');
|
||||
|
||||
// Save currently checked frequencies
|
||||
const previouslyChecked = new Set();
|
||||
container.querySelectorAll('input:checked').forEach(cb => {
|
||||
previouslyChecked.add(cb.value);
|
||||
});
|
||||
|
||||
container.innerHTML = freqs.map(freq => {
|
||||
// Check by default if it was previously checked or if this is initial load
|
||||
const checked = previouslyChecked.size === 0 || previouslyChecked.has(freq) ? 'checked' : '';
|
||||
return `
|
||||
<label style="display: flex; align-items: center; gap: 3px; padding: 2px 6px; background: var(--bg-secondary); border-radius: 3px; cursor: pointer;">
|
||||
<input type="checkbox" class="acars-freq-cb" value="${freq}" ${checked} style="margin: 0; cursor: pointer;">
|
||||
<span>${freq}</span>
|
||||
</label>
|
||||
`;
|
||||
}).join('');
|
||||
}
|
||||
|
||||
function getAcarsRegionFreqs() {
|
||||
const region = document.getElementById('acarsRegionSelect').value;
|
||||
return acarsFrequencies[region] || acarsFrequencies['na'];
|
||||
const checkboxes = document.querySelectorAll('.acars-freq-cb:checked');
|
||||
const selectedFreqs = Array.from(checkboxes).map(cb => cb.value);
|
||||
|
||||
// If none selected, return all for the region as fallback
|
||||
if (selectedFreqs.length === 0) {
|
||||
const region = document.getElementById('acarsRegionSelect').value;
|
||||
return acarsFrequencies[region] || acarsFrequencies['na'];
|
||||
}
|
||||
|
||||
return selectedFreqs;
|
||||
}
|
||||
|
||||
function toggleAcars() {
|
||||
|
||||
Reference in New Issue
Block a user