Feature: Browser-Besucher ohne Login → /info Redirect, PWA-Nutzer bleiben in App (SW by-v731)
This commit is contained in:
parent
7441d4627e
commit
6426d9c577
6 changed files with 21 additions and 4 deletions
|
|
@ -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 = "730" # muss mit APP_VER in app.js übereinstimmen
|
||||
APP_VER = "731" # muss mit APP_VER in app.js übereinstimmen
|
||||
|
||||
@app.get("/api/version")
|
||||
async def app_version():
|
||||
|
|
|
|||
|
|
@ -578,7 +578,7 @@
|
|||
<script src="/js/api.js?v=94"></script>
|
||||
<script src="/js/ui.js?v=94"></script>
|
||||
<script src="/js/app.js?v=94"></script>
|
||||
<script src="/js/worlds.js?v=730"></script>
|
||||
<script src="/js/worlds.js?v=731"></script>
|
||||
|
||||
<!-- Feature-Seiten werden lazy geladen -->
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
Router, State-Management, Navigation, Initialisierung.
|
||||
============================================================ */
|
||||
|
||||
const APP_VER = '730'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
const APP_VER = '731'; // ← 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';
|
||||
|
||||
|
|
|
|||
|
|
@ -87,6 +87,14 @@ window.Page_welcome = (() => {
|
|||
// LANDING PAGE — nicht eingeloggte Besucher
|
||||
// ----------------------------------------------------------
|
||||
function _renderLanding(isInstalled) {
|
||||
// Browser-Besucher (kein PWA) ohne Login → auf /info weiterleiten
|
||||
const isPWA = window.matchMedia('(display-mode: standalone)').matches
|
||||
|| window.navigator.standalone === true;
|
||||
if (!isPWA && !sessionStorage.getItem('by_stay_in_app')) {
|
||||
window.location.replace('/info');
|
||||
return;
|
||||
}
|
||||
|
||||
const hasPrompt = !!App.getInstallPrompt();
|
||||
|
||||
_container.innerHTML = `
|
||||
|
|
|
|||
|
|
@ -1004,5 +1004,14 @@
|
|||
</div>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// Alle Links die zur App führen (/) setzen das Flag damit kein Redirect-Loop entsteht
|
||||
document.querySelectorAll('a[href="/"], a[href^="/#"]').forEach(function(a) {
|
||||
a.addEventListener('click', function() {
|
||||
sessionStorage.setItem('by_stay_in_app', '1');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
Offline-Cache + Push Notifications + Tile-Cache
|
||||
============================================================ */
|
||||
|
||||
const CACHE_VERSION = 'by-v730';
|
||||
const CACHE_VERSION = 'by-v731';
|
||||
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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue