diff options
Diffstat (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankDash/WeatherForecastCard.qml')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankDash/WeatherForecastCard.qml | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankDash/WeatherForecastCard.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankDash/WeatherForecastCard.qml deleted file mode 100644 index 5c57b65..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/Modules/DankDash/WeatherForecastCard.qml +++ /dev/null @@ -1,206 +0,0 @@ -import QtQuick -import qs.Common -import qs.Services -import qs.Widgets - -Rectangle { - id: root - radius: Theme.cornerRadius - - property var date: null - property var daily: true - property var forecastData: null - property var dense: false - - readonly property bool isCurrent: { - if (daily) { - date ? WeatherService.calendarDayDifference(new Date(), date) === 0 : false; - } else { - date ? WeatherService.calendarHourDifference(new Date(), date) === 0 : false; - } - } - - readonly property string dateText: { - if (daily) - return root.forecastData?.day ?? "--"; - if (!root.forecastData?.rawTime) - return root.forecastData?.time ?? "--"; - try { - const date = new Date(root.forecastData.rawTime); - const format = SettingsData.use24HourClock ? "HH:mm" : "h:mm AP"; - return date.toLocaleTimeString(Qt.locale(), format); - } catch (e) { - return root.forecastData?.time ?? "--"; - } - } - - readonly property var minTemp: WeatherService.formatTemp(root.forecastData?.tempMin) - readonly property var maxTemp: WeatherService.formatTemp(root.forecastData?.tempMax) - readonly property string minMaxTempText: (minTemp ?? "--") + "/" + (maxTemp ?? "--") - - readonly property var temp: WeatherService.formatTemp(root.forecastData?.temp) - readonly property string tempText: temp ?? "--" - - readonly property var feelsLikeTemp: WeatherService.formatTemp(root.forecastData?.feelsLike) - readonly property string feelsLikeText: feelsLikeTemp ?? "--" - - readonly property var humidity: WeatherService.formatPercent(root.forecastData?.humidity) - readonly property string humidityText: humidity ?? "--" - - readonly property var wind: { - SettingsData.windSpeedUnit; - SettingsData.useFahrenheit; - return WeatherService.formatSpeed(root.forecastData?.wind); - } - readonly property string windText: wind ?? "--" - - readonly property var pressure: { - SettingsData.useFahrenheit; - return WeatherService.formatPressure(root.forecastData?.pressure); - } - readonly property string pressureText: pressure ?? "--" - - readonly property var precipitation: root.forecastData?.precipitationProbability - readonly property string precipitationText: precipitation + "%" ?? "--" - - readonly property var visibility: WeatherService.formatVisibility(root.forecastData?.visibility) - readonly property string visibilityText: visibility ?? "--" - - readonly property var values: daily ? [] : [ - { - "name"// 'name': "Temperature", - : - // 'text': root.tempText, - // 'icon': "thermometer" - // }, { - // 'name': "Feels Like", - // 'text': root.feelsLikeText, - // 'icon': "thermostat" - // }, { - I18n.tr("Humidity"), - "text": root.humidityText, - "icon": "humidity_low" - }, - { - "name": I18n.tr("Wind Speed"), - "text": root.windText, - "icon": "air" - }, - { - "name": I18n.tr("Pressure"), - "text": root.pressureText, - "icon": "speed" - }, - { - "name": I18n.tr("Precipitation Chance"), - "text": root.precipitationText, - "icon": "rainy" - }, - { - "name": I18n.tr("Visibility"), - "text": root.visibilityText, - "icon": "wb_sunny" - } - ] - - color: isCurrent ? Theme.withAlpha(Theme.primary, 0.1) : Theme.withAlpha(Theme.surfaceContainerHigh, Theme.popupTransparency) - border.color: isCurrent ? Theme.withAlpha(Theme.primary, 0.3) : "transparent" - border.width: isCurrent ? 1 : 0 - - Column { - anchors.centerIn: parent - spacing: Theme.spacingXS - - StyledText { - text: root.forecastData != null ? root.dateText : I18n.tr("Forecast Not Available") - font.pixelSize: Theme.fontSizeSmall - color: root.isCurrent ? Theme.primary : (root.forecastData ? Theme.surfaceText : Theme.outline) - font.weight: root.isCurrent ? Font.Medium : Font.Normal - anchors.horizontalCenter: parent.horizontalCenter - } - - Row { - anchors.horizontalCenter: parent.horizontalCenter - spacing: Theme.spacingM - visible: root.forecastData != null - - Column { - spacing: Theme.spacingXS - - DankIcon { - name: root.forecastData ? WeatherService.getWeatherIcon(root.forecastData.wCode || 0, root.forecastData.isDay ?? true) : "cloud" - size: Theme.iconSize - color: root.isCurrent ? Theme.primary : Theme.withAlpha(Theme.primary, 0.8) - anchors.horizontalCenter: parent.horizontalCenter - } - - StyledText { - text: root.daily ? root.minMaxTempText : root.tempText - font.pixelSize: Theme.fontSizeSmall - color: root.isCurrent ? Theme.primary : Theme.surfaceText - font.weight: Font.Medium - anchors.horizontalCenter: parent.horizontalCenter - } - - StyledText { - text: root.feelsLikeText - font.pixelSize: Theme.fontSizeSmall - color: root.isCurrent ? Theme.primary : Theme.surfaceText - font.weight: Font.Medium - anchors.horizontalCenter: parent.horizontalCenter - visible: !root.daily - } - } - - Column { - id: detailsColumn - spacing: 2 - visible: !root.dense - width: implicitWidth - - states: [ - State { - name: "dense" - when: root.dense - PropertyChanges { - target: detailsColumn - opacity: 0 - width: 0 - } - } - ] - - transitions: [ - Transition { - NumberAnimation { - properties: "opacity,width" - duration: Theme.shortDuration - easing.type: Theme.standardEasing - } - } - ] - - Repeater { - model: root.values.length - Row { - spacing: 2 - - DankIcon { - name: root.values[index].icon - size: 8 - color: Theme.withAlpha(Theme.surfaceText, 0.6) - anchors.verticalCenter: parent.verticalCenter - } - - StyledText { - text: root.values[index].text - font.pixelSize: Theme.fontSizeSmall - 2 - color: Theme.withAlpha(Theme.surfaceText, 0.6) - anchors.verticalCenter: parent.verticalCenter - } - } - } - } - } - } -} |