import "root:/widgets" import "root:/services" import "root:/config" import "root:/utils" import QtQuick Item { id: root anchors.centerIn: parent implicitWidth: icon.implicitWidth + info.implicitWidth + info.anchors.leftMargin onVisibleChanged: { if (visible) Weather.reload(); } MaterialIcon { id: icon anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left animate: true text: Weather.icon || "cloud_alert" color: Colours.palette.m3secondary font.pointSize: Appearance.font.size.extraLarge * 2 font.variableAxes: ({ opsz: Appearance.font.size.extraLarge * 1.2 }) } Column { id: info anchors.verticalCenter: parent.verticalCenter anchors.left: icon.right anchors.leftMargin: Appearance.spacing.large spacing: Appearance.spacing.small StyledText { anchors.horizontalCenter: parent.horizontalCenter animate: true text: `${Weather.temperature}°C` color: Colours.palette.m3primary font.pointSize: Appearance.font.size.extraLarge font.weight: 500 } StyledText { anchors.horizontalCenter: parent.horizontalCenter animate: true text: Weather.description || qsTr("No weather") elide: Text.ElideRight width: Math.min(implicitWidth, root.parent.width - icon.implicitWidth - info.anchors.leftMargin - Appearance.padding.large * 2) } } }