[weather] better null value handling for weather type (#3892)

As mentioned
[here](https://github.com/MagicMirrorOrg/MagicMirror/pull/3878#issuecomment-3275344406)
our weather module needs a bit better handling for null values in the
type field.

This pr adds this and cleans up the layout a little.
This commit is contained in:
Veeck
2025-09-16 17:00:02 +02:00
committed by GitHub
parent 777b49c566
commit a49fbede18
5 changed files with 16 additions and 10 deletions

View File

@@ -43,7 +43,7 @@
{% endif %}
</div>
{% endif %}
<div class="large">
<div class="large type-temp">
{% if config.showIndoorTemperature and indoor.temperature or config.showIndoorHumidity and indoor.humidity %}
<span class="medium fas fa-home"></span>
<span style="display: inline-block">
@@ -59,7 +59,9 @@
{% endif %}
</span>
{% endif %}
<span class="light wi weathericon wi-{{ current.weatherType }}"></span>
{% if current.weatherType %}
<span class="light wi weathericon wi-{{ current.weatherType }}"></span>
{% endif %}
<span class="light bright">{{ current.temperature | roundValue | unit("temperature") | decimalSymbol }}</span>
{% if config.showHumidity === "temp" %}
<span class="medium bright">{{ humidity() }}</span>

View File

@@ -1,9 +1,6 @@
.weather .weathericon,
.weather .fa-home {
font-size: 75%;
line-height: 65px;
display: inline-block;
transform: translate(0, -3px);
}
.weather .humidity-icon {
@@ -37,10 +34,6 @@
padding-right: 0;
}
.weather tr .weathericon {
line-height: 25px;
}
.weather tr.colored .min-temp {
color: #bcddff;
}
@@ -48,3 +41,9 @@
.weather tr.colored .max-temp {
color: #ff8e99;
}
.weather .type-temp {
display: flex;
align-items: center;
gap: 10px;
}

View File

@@ -168,7 +168,7 @@ Module.register("weather", {
this.scheduleUpdate();
if (this.weatherProvider.currentWeather()) {
this.sendNotification("CURRENTWEATHER_TYPE", { type: this.weatherProvider.currentWeather().weatherType.replace("-", "_") });
this.sendNotification("CURRENTWEATHER_TYPE", { type: this.weatherProvider.currentWeather().weatherType?.replace("-", "_") });
}
const notificationPayload = {