From 5dba231074878ddad8edb37b7865e467f6d627a1 Mon Sep 17 00:00:00 2001
From: matt1432 <matt@nelim.org>
Date: Tue, 5 Dec 2023 09:46:27 -0500
Subject: [PATCH] fix: forgot to add file

---
 .../wim/config/ags/js/bar/buttons/network.js  | 75 +++++++++++++++++++
 1 file changed, 75 insertions(+)
 create mode 100644 devices/wim/config/ags/js/bar/buttons/network.js

diff --git a/devices/wim/config/ags/js/bar/buttons/network.js b/devices/wim/config/ags/js/bar/buttons/network.js
new file mode 100644
index 00000000..872edf05
--- /dev/null
+++ b/devices/wim/config/ags/js/bar/buttons/network.js
@@ -0,0 +1,75 @@
+import Network from 'resource:///com/github/Aylur/ags/service/network.js';
+
+import { Label, Box, EventBox, Icon, Revealer } from 'resource:///com/github/Aylur/ags/widget.js';
+
+import Separator from '../../misc/separator.js';
+
+
+const Indicator = (props) => Icon({
+    ...props,
+    connections: [[Network, (self) => {
+        if (Network.wifi.internet === 'connected' ||
+            Network.wifi.internet === 'connecting') {
+            self.icon = Network.wifi.iconName;
+        }
+        else if (Network.wired.internet === 'connected' ||
+                 Network.wired.internet === 'connecting') {
+            self.icon = Network.wired.iconName;
+        }
+        else {
+            self.icon = Network.wifi.iconName;
+        }
+    }]],
+});
+
+const APLabel = (props) => Label({
+    ...props,
+    connections: [[Network, (self) => {
+        if (Network.wifi.internet === 'connected' ||
+            Network.wifi.internet === 'connecting') {
+            self.label = Network.wifi.ssid;
+        }
+        else if (Network.wired.internet === 'connected' ||
+                 Network.wired.internet === 'connecting') {
+            self.label = 'Connected';
+        }
+        else {
+            self.label = 'Disconnected';
+        }
+    }]],
+});
+
+const SPACING = 5;
+
+export default () => {
+    const rev = Revealer({
+        transition: 'slide_right',
+        child: Box({
+            children: [
+                Separator(SPACING),
+                APLabel(),
+            ],
+        }),
+    });
+
+    const widget = EventBox({
+        onHover: () => {
+            rev.revealChild = true;
+        },
+        onHoverLost: () => {
+            rev.revealChild = false;
+        },
+        child: Box({
+            className: 'network',
+            children: [
+                Indicator(),
+
+                rev,
+            ],
+        }),
+    });
+
+    widget.rev = rev;
+
+    return widget;
+};