nosignal-shell/modules/lock/weather/BriefInfo.qml
2026-06-02 22:01:54 +10:00

63 lines
1.7 KiB
QML

import QtQuick
import QtQuick.Layouts
import Caelestia.Config
import qs.components
import qs.services
ColumnLayout {
id: root
required property int rootHeight
spacing: Tokens.spacing.extraSmall
StyledText {
Layout.alignment: Qt.AlignHCenter
animate: true
text: Weather.description
color: Colours.palette.m3onSurfaceVariant
font: Tokens.font.body.large
}
RowLayout {
Layout.alignment: Qt.AlignHCenter
spacing: Tokens.spacing.medium
StyledText {
id: temp
animate: true
text: Weather.temp
color: Colours.palette.m3primary
font: Tokens.font.headline.builders.large.scale(1.5).weight(Font.DemiBold).width(80).build()
}
MaterialIcon {
animate: true
text: Weather.icon
color: Colours.palette.m3secondary
fontStyle: Tokens.font.headline.builders.large.scale(1.5).build()
}
}
StyledText {
visible: root.rootHeight > Tokens.sizes.lock.showWeatherDetailsHeight
Layout.alignment: Qt.AlignHCenter
animate: true
text: qsTr("Feels like %1").arg(Weather.temp)
color: Colours.palette.m3onSurfaceVariant
font: Tokens.font.body.large
}
StyledText {
visible: root.rootHeight > Tokens.sizes.lock.showWeatherDetailsHeight
Layout.alignment: Qt.AlignHCenter
animate: true
text: {
const today = Weather.forecast[0];
return qsTr("High %1 • Low %2").arg(Weather.formatTemp(today?.maxTempC)).arg(Weather.formatTemp(today?.minTempC));
}
color: Colours.palette.m3onSurfaceVariant
font: Tokens.font.body.medium
}
}