import QtQuick import Quickshell import "." as M import "../services" as S import "../applets" as C M.PinnableSection { id: root spacing: Math.max(1, S.Theme.moduleSpacing - 2) _panelHovered: hoverPanel.panelHovered property var _mounts: S.SystemStats.diskMounts property int _rootPct: S.SystemStats.diskRootPct readonly property int _warnThreshold: S.Modules.disk.warnThreshold ?? 85 readonly property bool _anyWarn: { for (const m of _mounts) if (m.pct >= _warnThreshold) return true; return false; } M.BarIcon { icon: "\uF0C9" color: root._anyWarn ? S.Theme.base09 : root.accentColor anchors.verticalCenter: parent.verticalCenter TapHandler { onTapped: root._pinned = !root._pinned } } M.BarLabel { label: root._rootPct + "%" minText: "100%" color: root._anyWarn ? S.Theme.base09 : root.accentColor anchors.verticalCenter: parent.verticalCenter TapHandler { onTapped: root._pinned = !root._pinned } } M.HoverPanel { id: hoverPanel showPanel: root._showPanel screen: QsWindow.window?.screen ?? null anchorItem: root accentColor: root.accentColor panelNamespace: "nova-disk" panelTitle: "Disk" contentWidth: 260 C.DiskApplet { width: hoverPanel.contentWidth mounts: root._mounts accentColor: root.accentColor } } }