Feature: Stats-Band + Tagebuch-Einträge, km alle Routen (public+privat)

- landing.html: neues Stats-Band-Element 'Tagebuch-Einträge' (#big-diary)
  mit Wert aus diary_entries (war bereits im API-Response vorhanden)
- stats.py km-Query: explizit WHERE is_valid=1 (kein is_public-Filter —
  private Routen werden mitgezählt, nur ungültige Aufzeichnungen ausgeschlossen)
- SW by-v998, APP_VER 998
This commit is contained in:
rene 2026-05-15 18:34:03 +02:00
parent 902e6b8602
commit be9f263e0d
5 changed files with 10 additions and 4 deletions

View file

@ -410,7 +410,7 @@ async def serve_media(path: str, request: _Request):
raise _HE(404, "Nicht gefunden.")
return _media_response(filepath)
APP_VER = "997" # muss mit APP_VER in app.js übereinstimmen
APP_VER = "998" # muss mit APP_VER in app.js übereinstimmen
@app.get("/.well-known/assetlinks.json")
async def assetlinks():

View file

@ -33,7 +33,8 @@ async def public_stats():
users = conn.execute("SELECT COUNT(*) FROM users").fetchone()[0]
dogs = conn.execute("SELECT COUNT(*) FROM dogs").fetchone()[0]
km = conn.execute(
"SELECT ROUND(COALESCE(SUM(distanz_km),0),0) FROM routes"
# Alle Routen (öffentlich + privat), nur valide Aufzeichnungen
"SELECT ROUND(COALESCE(SUM(distanz_km),0),0) FROM routes WHERE is_valid=1"
).fetchone()[0]
posts = conn.execute("SELECT COUNT(*) FROM forum_posts").fetchone()[0]
diary = conn.execute("SELECT COUNT(*) FROM diary").fetchone()[0]

View file

@ -3,7 +3,7 @@
Router, State-Management, Navigation, Initialisierung.
============================================================ */
const APP_VER = '997'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VER = '998'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VERSION = '1.6.0'; // ← semantische Version, wird bei make release gesetzt
const IS_STAGING = location.hostname === 'staging.banyaro.app';
// Cache-Bust-Parameter nach Update-Reload sofort entfernen

View file

@ -826,6 +826,10 @@
<div class="stats-band-num" id="big-posts"></div>
<div class="stats-band-label">Forum-Beiträge</div>
</div>
<div class="stats-band-item fade-up">
<div class="stats-band-num" id="big-diary"></div>
<div class="stats-band-label">Tagebuch-Einträge</div>
</div>
<div class="stats-band-item fade-up">
<div class="stats-band-num" id="big-kotbeutel"></div>
<div class="stats-band-label">Mülleimer für Kotbeutel</div>
@ -1587,6 +1591,7 @@
set('big-dogs', d.dogs);
set('big-km', d.km);
set('big-posts', d.forum_posts);
set('big-diary', d.diary_entries);
set('stat-kotbeutel', d.kotbeutel);
set('big-kotbeutel', d.kotbeutel);

View file

@ -3,7 +3,7 @@
Offline-Cache + Push Notifications + Tile-Cache
============================================================ */
const CACHE_VERSION = 'by-v997';
const CACHE_VERSION = 'by-v998';
const CACHE_STATIC = `${CACHE_VERSION}-static`;
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache