import QtQuick import qs.config import qs.services SettingsPage { id: root readonly property int openedHour: new Date().getHours() readonly property string greeting: openedHour < 12 ? "Good morning" : (openedHour < 18 ? "Good afternoon" : "Good evening") title: `${root.greeting}, Gabriel` lede: "Your desktop is configured and ready." SettingsCard { title: SystemSettings.monitorDescription || "Active display" subtitle: SystemSettings.monitorName || "Detecting your display…" Grid { id: monitorLayout width: parent.width columns: width >= 620 ? 2 : 1 columnSpacing: 28 rowSpacing: 16 Item { width: monitorLayout.columns === 2 ? (monitorLayout.width - monitorLayout.columnSpacing) * 0.47 : monitorLayout.width height: 164 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: monitorLayout.columns === 2 ? (monitorLayout.width - monitorLayout.columnSpacing) * 0.47 : monitorLayout.width height: monitorLayout.columns === 2 ? 164 : implicitHeight 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 } } } } SettingsCard { title: "Weather" subtitle: "Local conditions in the date menu" TextRow { label: "Location" detail: "Only the search term is sent; the name below is a label kept on this machine" value: Settings.weatherLocation } LocationPicker { width: parent.width } ChoiceRow { setting: "temperatureUnit" } SliderRow { setting: "weatherRefreshMinutes"; divider: false } } SettingsCard { title: "System vitals" subtitle: "Processor, memory, and graphics activity in the bar" SliderRow { setting: "vitalsIntervalMs"; divider: false } } Grid { id: summaryCards width: parent.width columns: width >= 720 ? 2 : 1 columnSpacing: 16 rowSpacing: 16 SettingsCard { width: summaryCards.columns === 2 ? (summaryCards.width - summaryCards.columnSpacing) / 2 : summaryCards.width 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: summaryCards.columns === 2 ? (summaryCards.width - summaryCards.columnSpacing) / 2 : summaryCards.width title: "Desktop services" subtitle: "The essentials are running" TextRow { 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" } } } }