From 5a30f657a1356ff44c12a80a9e353aed9713ae7e Mon Sep 17 00:00:00 2001 From: rene Date: Sun, 10 May 2026 08:20:59 +0200 Subject: [PATCH] =?UTF-8?q?Feature:=20Android=20Beta-Tester=20Banner=20f?= =?UTF-8?q?=C3=BCr=20bestehende=20Nutzer=20(SW=20by-v814)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/main.py | 2 +- backend/static/index.html | 14 +++++++------- backend/static/js/app.js | 16 +++++++++++++++- backend/static/sw.js | 2 +- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/backend/main.py b/backend/main.py index 35fe0f8..bda6ec5 100644 --- a/backend/main.py +++ b/backend/main.py @@ -341,7 +341,7 @@ MEDIA_DIR = os.getenv("MEDIA_DIR", "/data/media") os.makedirs(MEDIA_DIR, exist_ok=True) app.mount("/media", StaticFiles(directory=MEDIA_DIR), name="media") -APP_VER = "813" # muss mit APP_VER in app.js übereinstimmen +APP_VER = "814" # muss mit APP_VER in app.js übereinstimmen @app.get("/.well-known/assetlinks.json") async def assetlinks(): diff --git a/backend/static/index.html b/backend/static/index.html index 6ccd78b..5488cbe 100644 --- a/backend/static/index.html +++ b/backend/static/index.html @@ -99,9 +99,9 @@ - - - + + + @@ -581,10 +581,10 @@ - - - - + + + + diff --git a/backend/static/js/app.js b/backend/static/js/app.js index d9a1c61..47ab9c2 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 = '813'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '814'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VERSION = '1.5.0'; // ← semantische Version, wird bei make release gesetzt const IS_STAGING = location.hostname === 'staging.banyaro.app'; // Cache-Bust-Parameter nach Update-Reload sofort entfernen @@ -543,6 +543,7 @@ const App = (() => { if (window.Worlds) window.Worlds.init(state); _showVerifyBanner(); + _showAndroidBetaBanner(); _updateNotifBadge(); _updateChatBadge(); _checkNearbyAlerts(); @@ -634,6 +635,19 @@ const App = (() => { document.getElementById('meta-theme-color')?.setAttribute('content', isDark ? '#0f1623' : '#C4843A'); } + function _showAndroidBetaBanner() { + // Nur auf Android, nur einmalig, nur für eingeloggte Nutzer + if (!/android/i.test(navigator.userAgent)) return; + if (localStorage.getItem('by_android_beta_dismissed')) return; + setTimeout(() => { + UI.toast.info( + '📱 Play Store Beta: Hilf uns beim Android-Test! Schreib an support@banyaro.app', + 20000 + ); + localStorage.setItem('by_android_beta_dismissed', '1'); + }, 5000); + } + function _showVerifyBanner() { const banner = document.getElementById('verify-banner'); if (!banner) return; diff --git a/backend/static/sw.js b/backend/static/sw.js index a37745c..dfcade4 100644 --- a/backend/static/sw.js +++ b/backend/static/sw.js @@ -3,7 +3,7 @@ Offline-Cache + Push Notifications + Tile-Cache ============================================================ */ -const CACHE_VERSION = 'by-v813'; +const CACHE_VERSION = 'by-v814'; 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