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
@@ -28,7 +28,7 @@ const localSub = "local"
|
||||
// Version ist die einzige Stelle, an der sie steht. build.sh liest sie hier aus
|
||||
// und vergibt denselben Docker-Tag; die Oberfläche holt sie über /api/public.
|
||||
// Vorher stand sie zusätzlich in os.js und lief mit den Image-Tags auseinander.
|
||||
const Version = "0.8"
|
||||
const Version = "0.9"
|
||||
|
||||
type Config struct {
|
||||
Addr string
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
<div class="mb-right">
|
||||
<img class="mb-avatar" id="mbAvatar" alt="" hidden />
|
||||
<span class="mb-user" id="mbUser"> </span>
|
||||
<button class="mb-wx" id="mbWx" hidden title="Wetter"></button>
|
||||
<span class="mb-clock" id="clock">--:--</span>
|
||||
<button class="mb-btn" id="btnSettings" title="Einstellungen (S)">⚙</button>
|
||||
<button class="mb-btn" id="btnLogout" title="Abmelden" hidden>⏻</button>
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -954,3 +954,21 @@ body {
|
||||
}
|
||||
.wx-hit span { color: var(--p-dim); font-size: 12px; }
|
||||
.wx-hit:hover { border-color: var(--p-faint); color: var(--p); }
|
||||
|
||||
/* Wetter in der Menüleiste — dasselbe Maß wie in honeybar.js, damit die
|
||||
Leiste hier und die in den Apps nicht unterschiedlich aussehen. */
|
||||
.mb-wx {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
padding: 2px 4px;
|
||||
background: none;
|
||||
border: 1px solid transparent;
|
||||
color: var(--p-mid);
|
||||
font: inherit;
|
||||
cursor: pointer;
|
||||
}
|
||||
.mb-wx[hidden] { display: none; }
|
||||
.mb-wx:hover { color: var(--p); border-color: var(--p-dim); }
|
||||
.mb-wx svg { width: 14px; height: 14px; display: block; }
|
||||
@media (max-width: 700px) { .mb-wx-temp { display: none; } }
|
||||
Reference in new issue
Block a user