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