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:
parent
902e6b8602
commit
be9f263e0d
5 changed files with 10 additions and 4 deletions
|
|
@ -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():
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue