fix: use dropdown for region filter on packets page

Pills look out of place in the dense toolbar. Added { dropdown: true }
option to RegionFilter.init() to force dropdown mode regardless of
region count.
This commit is contained in:
you
2026-03-21 08:22:12 +00:00
parent 9345dbf50f
commit ace705ef8e
3 changed files with 8 additions and 6 deletions
+2 -2
View File
@@ -80,10 +80,10 @@
<script src="vendor/qrcode.js"></script>
<script src="roles.js?v=1774290000"></script>
<script src="region-filter.js?v=1774292000"></script>
<script src="region-filter.js?v=1774354500"></script>
<script src="app.js?v=1774052279"></script>
<script src="home.js?v=1774042199"></script>
<script src="packets.js?v=1774080385"></script>
<script src="packets.js?v=1774354500"></script>
<script src="map.js?v=1774083841" onerror="console.error('Failed to load:', this.src)"></script>
<script src="channels.js?v=1774075538" onerror="console.error('Failed to load:', this.src)"></script>
<script src="nodes.js?v=1774354200" onerror="console.error('Failed to load:', this.src)"></script>
+1 -1
View File
@@ -400,7 +400,7 @@
`;
// Init shared RegionFilter component
RegionFilter.init(document.getElementById('packetsRegionFilter'));
RegionFilter.init(document.getElementById('packetsRegionFilter'), { dropdown: true });
RegionFilter.onChange(function() { loadPackets(); });
const obsSel = document.getElementById('fObserver');
+5 -3
View File
@@ -177,7 +177,7 @@
}
container.style.display = '';
if (codes.length > 4) {
if (codes.length > 4 || container._forceDropdown) {
renderDropdown(container, codes);
} else {
renderPills(container, codes);
@@ -195,8 +195,10 @@
_listeners = _listeners.filter(function (f) { return f !== fn; });
}
/** Initialize filter in a container, fetch regions, render, return promise */
async function initFilter(container) {
/** Initialize filter in a container, fetch regions, render, return promise.
* Options: { dropdown: true } to force dropdown mode regardless of region count */
async function initFilter(container, opts) {
if (opts && opts.dropdown) container._forceDropdown = true;
await fetchRegions();
render(container);
}