summaryrefslogtreecommitdiff
path: root/status-network.js
blob: 05c4bfe8f91f89c7572b552ecd5f24ead1ec2310 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
global.lastKnownNetwork = {
    name: "Wired connection",
    description: "Connected"
}

let updateNetwork = async () => {
    let connections = await wifi.getCurrentConnections()

    if (connections.length > 0) {
        let connection = connections[0];

        if (connection.quality <= 20) {
            global.lastKnownNetwork.name = connection.ssid;
            global.lastKnownNetwork.description = "Connected, unstable";
            document.getElementById("statusbar-network-icon").src = "./icons/network-wifi-0.svg";
        } else if (connection.quality <= 40) {
            global.lastKnownNetwork.name = connection.ssid;
            global.lastKnownNetwork.description = "Connected, poor";
            document.getElementById("statusbar-network-icon").src = "./icons/network-wifi-1.svg";
        } else if (connection.quality <= 60) {
            global.lastKnownNetwork.name = connection.ssid;
            global.lastKnownNetwork.description = "Connected, usable";
            document.getElementById("statusbar-network-icon").src = "./icons/network-wifi-2.svg";
        } else if (connection.quality <= 80) {
            global.lastKnownNetwork.name = connection.ssid;
            global.lastKnownNetwork.description = "Connected, good";
            document.getElementById("statusbar-network-icon").src = "./icons/network-wifi-3.svg";
        } else {
            global.lastKnownNetwork.name = connection.ssid;
            global.lastKnownNetwork.description = "Connected, perfect";
            document.getElementById("statusbar-network-icon").src = "./icons/network-wifi-4.svg";
        }
    } else {
        global.lastKnownNetwork.name = "Wired connection";
        global.lastKnownNetwork.description = "Connected";
        document.getElementById("statusbar-network-icon").src = "./icons/network-wired.svg";
    }
}

(async () => {
    setInterval(updateNetwork, 10000)
    await updateNetwork();
})()