diff --git a/VERSION b/VERSION index a2998a8..50e2ad9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1120 \ No newline at end of file +1129 \ No newline at end of file diff --git a/backend/main.py b/backend/main.py index aac642e..a582355 100644 --- a/backend/main.py +++ b/backend/main.py @@ -1772,6 +1772,10 @@ border-radius:8px;font-size:16px;cursor:pointer} + - - - - - + + + + + @@ -617,11 +617,11 @@ - - - - - + + + + + @@ -631,7 +631,7 @@ - + diff --git a/backend/static/js/app.js b/backend/static/js/app.js index bcdacdd..b162e31 100644 --- a/backend/static/js/app.js +++ b/backend/static/js/app.js @@ -3,7 +3,7 @@ Router, State-Management, Navigation, Initialisierung. ============================================================ */ -const APP_VER = '1120'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '1129'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VERSION = '1.6.0'; // ← semantische Version, wird bei make release gesetzt window.APP_VER = APP_VER; // global verfügbar für andere Module (z.B. offline-indicator) window.APP_VERSION = APP_VERSION; diff --git a/backend/static/js/pages/wetter.js b/backend/static/js/pages/wetter.js index e3803fe..eea9c5f 100644 --- a/backend/static/js/pages/wetter.js +++ b/backend/static/js/pages/wetter.js @@ -58,6 +58,7 @@ window.Page_wetter = (() => { let _container = null; let _appState = null; let _data = null; + let _current = null; let _selDay = 0; let _loading = false; let _recordsLoaded = false; @@ -239,8 +240,13 @@ window.Page_wetter = (() => { if (_loading) return; _loading = true; try { - _data = await API.weather.forecast(lat, lon); - _selDay = 0; + const [forecast, current] = await Promise.all([ + API.weather.forecast(lat, lon), + API.weather.get(lat, lon).catch(() => null), // Ist-Temperatur, best-effort + ]); + _data = forecast; + _current = current; + _selDay = 0; _renderWeather(); } catch { const body = _container.querySelector('#wttr-body'); @@ -275,6 +281,8 @@ window.Page_wetter = (() => { if (!days.length) return; body.innerHTML = ` + ${_nowBanner()} +
+ ${_wmoIcon(c.weathercode, '3rem')} +
+ + ${Math.round(c.temp_c)}° + + + Jetzt + +
+
+ ${UI.escape(sub)} +
+
+ `; + } + // ---------------------------------------------------------- // STRIP AKTUALISIEREN (aktiver Tag) // ---------------------------------------------------------- diff --git a/backend/static/js/worlds.js b/backend/static/js/worlds.js index 7459eeb..c85881f 100644 --- a/backend/static/js/worlds.js +++ b/backend/static/js/worlds.js @@ -1147,13 +1147,13 @@ window.Worlds = (() => { } const gassiScore = _calcGassiScore(w); const gassiColor = gassiScore >= 8 ? '#10B981' : gassiScore >= 5 ? '#F59E0B' : '#EF4444'; - const weatherEmoji = !w ? '🌤️' - : w.thunderstorm ? '⛈️' - : (w.precip_prob ?? 0) > 70 ? '🌧️' - : (w.precip_prob ?? 0) > 30 ? '🌦️' - : (w.temp_c ?? 20) > 28 ? '☀️🔥' - : (w.temp_c ?? 20) < 2 ? '🌨️' - : '☀️'; + const weatherEmoji = !w ? ['🌤️'] + : w.thunderstorm ? ['⛈️'] + : (w.precip_prob ?? 0) > 70 ? ['🌧️'] + : (w.precip_prob ?? 0) > 30 ? ['🌦️'] + : (w.temp_c ?? 20) > 28 ? ['☀️', '🔥'] + : (w.temp_c ?? 20) < 2 ? ['🌨️'] + : ['☀️']; // User-Geburtstag Reminder const userBdayHtml = userBdayToday ? ` @@ -1227,7 +1227,10 @@ window.Worlds = (() => {
- ${weatherEmoji} +
+ ${weatherEmoji.map(e => `${e}`).join('')} +
Gassi-Score
diff --git a/backend/static/landing.html b/backend/static/landing.html index ce34c61..8febaa4 100644 --- a/backend/static/landing.html +++ b/backend/static/landing.html @@ -4,7 +4,7 @@ - + Ban Yaro — Die Hunde-App für Deutschland, Österreich & Schweiz diff --git a/backend/static/sw.js b/backend/static/sw.js index 0b797bf..8b38373 100644 --- a/backend/static/sw.js +++ b/backend/static/sw.js @@ -4,7 +4,7 @@ ============================================================ */ // ← EINZIGE Stelle für die Version — STATIC_ASSETS und CACHE_VERSION leiten sich ab -const VER = '1120'; +const VER = '1129'; const CACHE_VERSION = `by-v${VER}`; const CACHE_STATIC = `${CACHE_VERSION}-static`; const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten