fix(wetter): der Schalter „in der Leiste" wirkt auch auf dem Schreibtisch
Die Leiste am oberen Rand von HoneyOS ist nicht honeybar.js, sondern die Menueleiste des Schreibtischs — anderer Code, gleiches Aussehen. Das Wetter stand deshalb nur in fremden Apps, waehrend der Schalter dort, wo man ihn umlegt, nichts zu bewirken schien. Fuer den, der davorsitzt, ist beides dieselbe Leiste. Ein Schalter, der nur woanders wirkt, ist nicht zu erklaeren. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4e38ccdec1
commit
99f1ed4a58
4 files changed
+41
-8
No files matched your search
@@ -535,18 +535,32 @@ function weatherHtml(w) {
|
||||
}
|
||||
|
||||
function renderWeather() {
|
||||
const an = state.settings.weatherDesk === "on" && state.weather;
|
||||
const w = state.weather;
|
||||
const tile = $("wxTile");
|
||||
const desk = $("wxDesk");
|
||||
const bar = $("mbWx");
|
||||
const desktopMode = state.settings.mode === "desktop";
|
||||
|
||||
tile.hidden = !an || desktopMode;
|
||||
desk.hidden = !an || !desktopMode;
|
||||
if (!an) return;
|
||||
// Das Widget: Fenster im Terminal-Modus, Schild auf dem Schreibtisch.
|
||||
const alsWidget = state.settings.weatherDesk === "on" && w;
|
||||
tile.hidden = !alsWidget || desktopMode;
|
||||
desk.hidden = !alsWidget || !desktopMode;
|
||||
if (alsWidget) {
|
||||
const html = weatherHtml(w);
|
||||
tile.querySelector(".wx-body").innerHTML = html;
|
||||
desk.innerHTML = html;
|
||||
}
|
||||
|
||||
const html = weatherHtml(state.weather);
|
||||
tile.querySelector(".wx-body").innerHTML = html;
|
||||
desk.innerHTML = html;
|
||||
// Und in der Leiste. Die Menüleiste hier ist zwar anderer Code als
|
||||
// honeybar.js in den Apps, aber für den, der davorsitzt, dieselbe Leiste —
|
||||
// ein Schalter, der nur woanders wirkt, wäre nicht zu erklären.
|
||||
const inLeiste = state.settings.weatherBar === "on" && w;
|
||||
bar.hidden = !inLeiste;
|
||||
if (inLeiste) {
|
||||
bar.innerHTML = `${glyphSvg(w.glyph)}<span class="mb-wx-temp">${Math.round(w.grad)}°</span>`;
|
||||
bar.title = `${w.ort}: ${w.text}, ${Math.round(w.grad)}°`;
|
||||
bar.onclick = openSettings;
|
||||
}
|
||||
}
|
||||
|
||||
function setMode(mode) {
|
||||
|
||||
Reference in new issue
Block a user