import QtQuick import qs.config import qs.services Item { id: root readonly property int openedHour: new Date().getHours() readonly property string greeting: openedHour < 12 ? "Good morning" : (openedHour < 18 ? "Good afternoon" : "Good evening") Flickable { anchors.fill: parent clip: true contentWidth: width contentHeight: content.implicitHeight + 64 boundsBehavior: Flickable.StopAtBounds Column { id: content width: parent.width - 68 x: 34 y: 30 spacing: 16 Text { text: `${root.greeting}, Gabriel` color: Theme.fg font.family: Theme.fontFamily font.pixelSize: 27 font.weight: Font.DemiBold } Text { text: "Your Panama desktop is configured and ready." color: Theme.fgDim font.family: Theme.fontFamily font.pixelSize: Theme.fontSize bottomPadding: 6 } SettingsCard { title: SystemSettings.monitorDescription || "Active display" subtitle: SystemSettings.monitorName || "Detecting your display…" Row { width: parent.width height: 164 spacing: 28 Item { width: parent.width * 0.47 height: parent.height Rectangle { width: Math.min(parent.width - 24, 260) height: width * 0.64 anchors.horizontalCenter: parent.horizontalCenter anchors.top: parent.top anchors.topMargin: 5 radius: 12 color: Theme.alpha(Theme.bgDark, 0.94) border.width: 1 border.color: Theme.alpha(Theme.accent, 0.34) Rectangle { anchors.fill: parent anchors.margins: 10 radius: 7 gradient: Gradient { orientation: Gradient.Horizontal GradientStop { position: 0; color: Theme.mix(Theme.bg, Theme.accent, 0.08) } GradientStop { position: 1; color: Theme.mix(Theme.bg, Theme.accentSecondary, 0.08) } } Text { anchors.centerIn: parent text: SystemSettings.monitorName || "DISPLAY" color: Theme.fgMuted font.family: Theme.fontFamily font.pixelSize: Theme.fontSizeSmall font.letterSpacing: 1.5 } } } } Column { width: parent.width * 0.47 anchors.verticalCenter: parent.verticalCenter spacing: 13 Text { text: `${SystemSettings.monitorWidth} × ${SystemSettings.monitorHeight}` color: Theme.fg font.family: Theme.fontFamily font.features: Theme.tabularFigures font.pixelSize: Theme.fontSizeLarge font.weight: Font.DemiBold } Text { text: `${SystemSettings.monitorRefreshRate.toFixed(0)} Hz · ${SystemSettings.monitorScale.toFixed(1)}× scale` color: Theme.fgDim font.family: Theme.fontFamily font.features: Theme.tabularFigures font.pixelSize: Theme.fontSize } Text { text: `${SystemSettings.monitorFormat || "Detecting format"} · ${SystemSettings.colorPreset || "standard color"}` color: Theme.fgDim font.family: Theme.fontFamily font.pixelSize: Theme.fontSize } Text { text: SystemSettings.autoHdr ? "Game-aware HDR is ready" : "Game-aware HDR is off" color: SystemSettings.autoHdr ? Theme.ok : Theme.warn font.family: Theme.fontFamily font.pixelSize: Theme.fontSize } } } } Row { width: parent.width spacing: 16 SettingsCard { width: (parent.width - parent.spacing) / 2 title: "Quiet focus" subtitle: "Notifications and focused work" SettingRow { label: "Do Not Disturb" detail: Notifs.doNotDisturb ? "Banners are currently quiet" : "Notification banners are visible" divider: false controlWidth: 48 SettingsToggle { anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter checked: Notifs.doNotDisturb onToggled: value => Notifs.doNotDisturb = value } } } SettingsCard { width: (parent.width - parent.spacing) / 2 title: "Desktop services" subtitle: "The essentials are running" SettingRow { label: "Sync & remote access" detail: `${SystemSettings.nextcloudActive ? "Nextcloud ready" : "Nextcloud stopped"} · ${SystemSettings.rustdeskActive ? "RustDesk ready" : "RustDesk stopped"}` divider: false value: SystemSettings.nextcloudActive && SystemSettings.rustdeskActive ? "Healthy" : "Review" } } } } } }