From 5a1ea91e35487dc877a4422c31c2e225b4ec2aef Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 26 Mar 2025 20:22:51 +1100 Subject: sidebar: networks module --- src/modules/sidebar/connectivity.tsx | 3 + src/modules/sidebar/modules/networks.tsx | 139 +++++++++++++++++++++++++++++++ 2 files changed, 142 insertions(+) create mode 100644 src/modules/sidebar/modules/networks.tsx (limited to 'src/modules') diff --git a/src/modules/sidebar/connectivity.tsx b/src/modules/sidebar/connectivity.tsx index 437e513..2962b56 100644 --- a/src/modules/sidebar/connectivity.tsx +++ b/src/modules/sidebar/connectivity.tsx @@ -1,7 +1,10 @@ import Bluetooth from "./modules/bluetooth"; +import Networks from "./modules/networks"; export default () => ( + + ); diff --git a/src/modules/sidebar/modules/networks.tsx b/src/modules/sidebar/modules/networks.tsx new file mode 100644 index 0000000..34ec8fd --- /dev/null +++ b/src/modules/sidebar/modules/networks.tsx @@ -0,0 +1,139 @@ +import { bind, execAsync, Variable, type Binding } from "astal"; +import { Gtk } from "astal/gtk3"; +import AstalNetwork from "gi://AstalNetwork"; + +const sortAPs = (saved: string[], a: AstalNetwork.AccessPoint, b: AstalNetwork.AccessPoint) => { + const { wifi } = AstalNetwork.get_default(); + if (a === wifi.activeAccessPoint || b === wifi.activeAccessPoint) return a === wifi.activeAccessPoint ? -1 : 1; + if (saved.includes(a.ssid) || saved.includes(b.ssid)) return saved.includes(a.ssid) ? -1 : 1; + return b.strength - a.strength; +}; + +const Network = (accessPoint: AstalNetwork.AccessPoint) => ( + `network ${a === accessPoint ? "connected" : ""}` + )} + > + + + + +