import QtQuick import Quickshell import "." as M import "../services" as S import "../applets" as C import NovaStats as NS M.BarModule { id: root active: NS.ModulesService.networkEnable spacing: NS.ThemeService.moduleSpacing tooltip: { if (state === "wifi") return "Wi-Fi: " + S.NetworkService.essid; if (state === "eth") return "Ethernet: connected"; if (state === "linked") return "Network: linked"; return "Network: disconnected"; } panelNamespace: "nova-network" panelContentWidth: 250 panelComponent: Component { C.NetworkApplet { width: parent.width accentColor: root.accentColor } } readonly property string state: S.NetworkService.state Connections { target: S.NetworkService function onNetworksChanged() { root.keepPanelOpen(500); } } M.BarIcon { icon: { if (root.state === "wifi") return "\uF1EB"; if (root.state === "eth") return "\uDB80\uDE00"; if (root.state === "linked") return "\uDB85\uDE16"; return "\uDB82\uDCFD"; } color: root.state === "disconnected" ? NS.ThemeService.base08 : root.accentColor anchors.verticalCenter: parent.verticalCenter } M.BarLabel { visible: root.state === "wifi" label: S.NetworkService.essid color: root.state === "disconnected" ? NS.ThemeService.base08 : root.accentColor anchors.verticalCenter: parent.verticalCenter } }