Skip to content
This repository was archived by the owner on Oct 22, 2021. It is now read-only.

Commit 8924971

Browse files
committed
🚸 Improved network availability displays
1 parent acc1e14 commit 8924971

File tree

3 files changed

+36
-9
lines changed

3 files changed

+36
-9
lines changed

src/assets/css/mod_conninfo.css

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,11 @@ div#mod_conninfo i {
6262
div#mod_conninfo canvas {
6363
width: 100%;
6464
height: 8.7vh;
65+
z-index: 10;
6566
border-top: 0.092vh dashed rgba(var(--color_r), var(--color_g), var(--color_b), 0.3);
6667
border-bottom: 0.092vh dashed rgba(var(--color_r), var(--color_g), var(--color_b), 0.3);
6768
margin: 0.46vh 0vh;
69+
opacity: 1;
6870
}
6971

7072
div#mod_conninfo canvas#mod_conninfo_canvas_top {
@@ -76,3 +78,18 @@ div#mod_conninfo canvas#mod_conninfo_canvas_bottom {
7678
border-top: 0.139vh solid rgba(var(--color_r), var(--color_g), var(--color_b), 0.4);
7779
margin-top: -0.092vh;
7880
}
81+
82+
div#mod_conninfo h3:last-child {
83+
position: absolute;
84+
font-size: 2vh;
85+
z-index: 15;
86+
opacity: 0;
87+
}
88+
89+
div#mod_conninfo.offline canvas {
90+
opacity: 0.3;
91+
}
92+
93+
div#mod_conninfo.offline h3:last-child {
94+
opacity: 1;
95+
}

src/classes/conninfo.class.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ class Conninfo {
1212
<h2>TOTAL<i>0B OUT, 0B IN</i></h2>
1313
<canvas id="mod_conninfo_canvas_top"></canvas>
1414
<canvas id="mod_conninfo_canvas_bottom"></canvas>
15+
<h3>OFFLINE</h3>
1516
</div>
1617
</div>`;
1718

@@ -76,11 +77,13 @@ class Conninfo {
7677

7778
let time = new Date().getTime();
7879

79-
if (net.ip4 === "127.0.0.1") {
80+
if (window.mods.netstat.offline) {
8081
this.series[0].append(time, 0);
8182
this.series[1].append(time, 0);
83+
document.querySelector("div#mod_conninfo").setAttribute("class", "offline");
8284
return;
8385
} else {
86+
document.querySelector("div#mod_conninfo").setAttribute("class", "");
8487
this.si.networkStats(net.iface, (data) => {
8588

8689
let max0 = this.series[0].maxValue;

src/classes/netstat.class.js

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class Netstat {
2626
</div>
2727
</div>`;
2828

29+
this.offline = false;
2930

3031
// Init updaters
3132
this.updateInfo();
@@ -35,6 +36,8 @@ class Netstat {
3536
}
3637
updateInfo() {
3738
this.si.networkInterfaces((data) => {
39+
let offline = false;
40+
3841
// Find the first external network networkInterface
3942
let net = data[0];
4043
let netID = 0;
@@ -49,14 +52,8 @@ class Netstat {
4952
}
5053

5154
if (net.ip4 === "127.0.0.1") {
52-
// We're offline.
53-
document.querySelector("#mod_netstat_innercontainer > div:first-child > h2").innerHTML = "OFFLINE";
54-
document.querySelector("#mod_netstat_innercontainer > div:nth-child(2) > h2").innerHTML = "--.--.--.--";
55-
document.querySelector("#mod_netstat_innercontainer > div:nth-child(3) > h2").innerHTML = "--ms";
56-
return;
55+
offline = true;
5756
} else {
58-
document.querySelector("#mod_netstat_innercontainer > div:first-child > h2").innerHTML = "ONLINE";
59-
6057
require("https").get({"host": "ipinfo.now.sh", "port": 443, "path": "/"}, (res) => {
6158
let rawData = "";
6259
res.on("data", (chunk) => {
@@ -83,10 +80,20 @@ class Netstat {
8380
let ping;
8481
if (data === -1) {
8582
ping = "--ms";
83+
offline = true;
8684
} else {
8785
ping = Math.round(data)+"ms";
8886
}
89-
document.querySelector("#mod_netstat_innercontainer > div:nth-child(3) > h2").innerHTML = ping;
87+
88+
this.offline = offline;
89+
if (offline) {
90+
document.querySelector("#mod_netstat_innercontainer > div:first-child > h2").innerHTML = "OFFLINE";
91+
document.querySelector("#mod_netstat_innercontainer > div:nth-child(2) > h2").innerHTML = "--.--.--.--";
92+
document.querySelector("#mod_netstat_innercontainer > div:nth-child(3) > h2").innerHTML = "--ms";
93+
} else {
94+
document.querySelector("#mod_netstat_innercontainer > div:first-child > h2").innerHTML = "ONLINE";
95+
document.querySelector("#mod_netstat_innercontainer > div:nth-child(3) > h2").innerHTML = ping;
96+
}
9097
});
9198
}
9299
});

0 commit comments

Comments
 (0)