VulpesOS/gaia/apps/settings/js/panels/wifi_status/panel.js
OverSu 1311bed5e9 Release Preview 20 shared desktop, Android and Sargo updates
Restore Gaia settings and media workflows, extend native network adapters, and align the APK payload. Generate French/English changelogs and website entries from the simplified JSON source.

Validation: shared JS and Tundra unit tests; desktop workflows and persistence; signed APK payload parity; Sargo RAM and installed startup with boot readback. Android runtime qualification is recorded separately.
2026-10-13 00:19:45 +02:00

49 lines
1.8 KiB
JavaScript
Executable file

define(function(require) {
'use strict';
var DialogPanel = require('modules/dialog_panel');
var WifiHelper = require('shared/wifi_helper');
var WifiContext = require('modules/wifi_context');
var wifiManager = WifiHelper.getWifiManager();
return function ctor_statusWifi() {
var elements = {};
return DialogPanel({
onInit: function(panel) {
elements = {};
elements.ip = panel.querySelector('[data-ip]');
elements.speed = panel.querySelector('[data-speed]');
elements.ssid = panel.querySelector('[data-ssid]');
elements.signal = panel.querySelector('[data-signal]');
elements.security = panel.querySelector('[data-security]');
},
onBeforeShow: function(panel, options) {
this._updateNetworkInfo();
elements.ssid.textContent = options.network.ssid;
elements.signal.setAttribute('data-l10n-id',
'signalLevel' + options.sl);
if (options.security) {
elements.security.removeAttribute('data-l10n-id');
elements.security.textContent = options.security;
} else {
elements.security.setAttribute('data-l10n-id', 'securityNone');
}
WifiContext.addEventListener('wifiConnectionInfoUpdate',
this._updateNetworkInfo);
},
onBeforeHide: function() {
WifiContext.removeEventListener('wifiConnectionInfoUpdate',
this._updateNetworkInfo);
},
_updateNetworkInfo: function() {
var info = wifiManager.connectionInformation || {};
elements.ip.textContent = info.ipAddress || '';
document.l10n.setAttributes(elements.speed,
Number.isFinite(info.linkSpeed) ? 'linkSpeedMbs' : 'unavailable',
Number.isFinite(info.linkSpeed) ? { linkSpeed: info.linkSpeed } : {});
}
});
};
});