diff --git a/backend/static/js/app.js b/backend/static/js/app.js
index 7b28961..48715ab 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 = '464'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
+const APP_VER = '465'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const App = (() => {
diff --git a/backend/static/js/pages/settings.js b/backend/static/js/pages/settings.js
index 85846e7..63cede8 100644
--- a/backend/static/js/pages/settings.js
+++ b/backend/static/js/pages/settings.js
@@ -325,10 +325,23 @@ window.Page_settings = (() => {
-
+
+
Ban Yaro · banyaro.app
Deine Daten liegen auf einem eigenen Server in Deutschland.
+
+
+ v${typeof APP_VER !== 'undefined' ? APP_VER : '—'}
+
+
+
@@ -560,6 +573,30 @@ window.Page_settings = (() => {
});
});
+ document.getElementById('settings-check-update')?.addEventListener('click', async () => {
+ const btn = document.getElementById('settings-check-update');
+ if (!('serviceWorker' in navigator)) {
+ UI.toast.info('Service Worker nicht verfügbar.');
+ return;
+ }
+ if (btn) btn.textContent = 'Prüfe…';
+ try {
+ const reg = await navigator.serviceWorker.getRegistration();
+ await reg?.update();
+ if (reg?.waiting) {
+ // Neuer SW wartet — sofort aktivieren
+ reg.waiting.postMessage({ type: 'SKIP_WAITING' });
+ UI.toast.success('Update wird installiert…');
+ } else {
+ UI.toast.success('Ban Yaro ist aktuell (v' + (typeof APP_VER !== 'undefined' ? APP_VER : '—') + ').');
+ }
+ } catch {
+ UI.toast.error('Update-Prüfung fehlgeschlagen.');
+ } finally {
+ if (btn) btn.innerHTML = UI.icon('arrows-clockwise') + ' Auf Update prüfen';
+ }
+ });
+
document.getElementById('settings-logout-btn')?.addEventListener('click', async () => {
const ok = await UI.modal.confirm({
title : 'Abmelden?',
diff --git a/backend/static/sw.js b/backend/static/sw.js
index 32743f0..046ab85 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-v487';
+const CACHE_VERSION = 'by-v488';
const CACHE_STATIC = `${CACHE_VERSION}-static`;
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten