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