From e3d380282988fdd948aec4242828e2522f83e812 Mon Sep 17 00:00:00 2001 From: rene Date: Wed, 6 May 2026 19:25:25 +0200 Subject: [PATCH] =?UTF-8?q?Fix:=20Tier-Wechsel=20auf=20eigenen=20Account?= =?UTF-8?q?=20=E2=86=92=20sofortiges=20Worlds-Re-render=20ohne=20Reload=20?= =?UTF-8?q?(SW=20by-v739)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/main.py | 2 +- backend/static/index.html | 2 +- backend/static/js/app.js | 2 +- backend/static/js/pages/admin.js | 11 ++++++++++- backend/static/sw.js | 2 +- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/backend/main.py b/backend/main.py index a4c6b13..d1a40f8 100644 --- a/backend/main.py +++ b/backend/main.py @@ -327,7 +327,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 = "738" # muss mit APP_VER in app.js übereinstimmen +APP_VER = "739" # muss mit APP_VER in app.js übereinstimmen @app.get("/api/version") async def app_version(): diff --git a/backend/static/index.html b/backend/static/index.html index 03c04f5..bf0c68e 100644 --- a/backend/static/index.html +++ b/backend/static/index.html @@ -578,7 +578,7 @@ - + diff --git a/backend/static/js/app.js b/backend/static/js/app.js index b7a027c..0daec2b 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 = '738'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '739'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VERSION = '1.4.0'; // ← semantische Version, wird bei make release gesetzt const IS_STAGING = location.hostname === 'staging.banyaro.app'; diff --git a/backend/static/js/pages/admin.js b/backend/static/js/pages/admin.js index 2139e07..0dfa8c7 100644 --- a/backend/static/js/pages/admin.js +++ b/backend/static/js/pages/admin.js @@ -946,7 +946,16 @@ window.Page_admin = (() => { UI.modal.close(); try { await API.patch(`/admin/users/${uid}`, { subscription_tier: btn.dataset.tier }); - UI.toast.success(`${name}: Abo-Stufe ist jetzt ${btn.dataset.tier}.`); + // Eigenes Tier geändert → User-State neu laden + Welten neu rendern + if (String(uid) === String(_appState?.user?.id)) { + _appState.user.subscription_tier = btn.dataset.tier; + if (window.Worlds) { + window.Worlds.init(_appState); + } + UI.toast.success(`Dein Tier ist jetzt ${btn.dataset.tier} — Ansicht aktualisiert.`); + } else { + UI.toast.success(`${name}: Abo-Stufe ist jetzt ${btn.dataset.tier}.`); + } _renderTab(); } catch (e) { UI.toast.error(e.message); } }); diff --git a/backend/static/sw.js b/backend/static/sw.js index 3a9be56..69ea9ce 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-v738'; +const CACHE_VERSION = 'by-v739'; 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