diff --git a/backend/main.py b/backend/main.py index c00029b..df40ce5 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 = "729" # muss mit APP_VER in app.js übereinstimmen +APP_VER = "728" # muss mit APP_VER in app.js übereinstimmen @app.get("/api/version") async def app_version(): @@ -377,6 +377,7 @@ async def sitemap(): today = date.today().isoformat() urls = [ ("https://banyaro.app/", "weekly", "1.0"), + ("https://banyaro.app/info", "monthly", "0.9"), ("https://banyaro.app/presse", "monthly", "0.8"), ("https://banyaro.app/wiki/rassen", "weekly", "0.8"), ("https://banyaro.app/knigge", "monthly", "0.8"), @@ -431,8 +432,7 @@ async def sitemap(): @app.get("/info") async def info_page(): - from fastapi.responses import RedirectResponse - return RedirectResponse(url="/", status_code=301) + return FileResponse(f"{STATIC_DIR}/landing.html", headers={"Cache-Control": "max-age=3600"}) # ------------------------------------------------------------------ diff --git a/backend/static/index.html b/backend/static/index.html index 20eba97..b9ff82e 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 9a1a050..473e0b1 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 = '729'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '728'; // ← 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/welcome.js b/backend/static/js/pages/welcome.js index 4a88bbe..fdbdc87 100644 --- a/backend/static/js/pages/welcome.js +++ b/backend/static/js/pages/welcome.js @@ -108,7 +108,7 @@ window.Page_welcome = (() => { ${hasPrompt ? ` - Zum Home-Bildschirm hinzufügen + App installieren ` : ` @@ -218,7 +218,7 @@ window.Page_welcome = (() => { ${hasPrompt ? ` - Zum Home-Bildschirm hinzufügen + App installieren — kostenlos ` : ` @@ -231,7 +231,7 @@ window.Page_welcome = (() => { ${!isInstalled ? ` - Zum Home-Bildschirm hinzufügen + Installationsanleitung ` : ''} @@ -242,7 +242,7 @@ window.Page_welcome = (() => { - Immer griffbereit — kein App Store + App installieren ${_installHTML()} @@ -481,7 +481,7 @@ window.Page_welcome = (() => { - Immer griffbereit — kein App Store + App installieren ${_installHTML()} @@ -1069,11 +1069,11 @@ window.Page_welcome = (() => { if (hasPrompt) { return ` - Ban Yaro immer griffbereit — einmal hinzufügen, dann direkt vom Home-Bildschirm öffnen. + Kein App Store nötig — direkt auf den Home-Bildschirm. - Zum Home-Bildschirm hinzufügen + Ban Yaro installieren `; } @@ -1095,7 +1095,7 @@ window.Page_welcome = (() => { if (isIOS && !isSafari) { return ` - Auf dem iPhone funktioniert das Hinzufügen nur über Safari. + Auf dem iPhone geht die Installation nur über Safari. ${_steps([ ['safari-logo', 'Öffne Safari auf deinem iPhone'], diff --git a/backend/static/landing.html b/backend/static/landing.html index 860396f..ae65568 100644 --- a/backend/static/landing.html +++ b/backend/static/landing.html @@ -7,13 +7,13 @@ - + - + @@ -377,65 +377,6 @@ .usp-item h3 { font-size: 0.95rem; font-weight: 700; margin-bottom: 0.2rem; } .usp-item p { font-size: 0.85rem; color: var(--text-secondary); } - /* Outcome Cards */ - .outcome-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); - gap: 24px; - margin-top: 2rem; - } - .outcome-card { - background: white; - border-radius: 12px; - padding: 24px; - box-shadow: 0 2px 12px rgba(0,0,0,.07); - } - .outcome-card .oc-icon { - font-size: 2rem; - margin-bottom: 0.75rem; - } - .outcome-card h3 { - font-size: 1.05rem; - font-weight: 700; - color: var(--text); - margin-bottom: 0.5rem; - } - .outcome-card p { - font-size: 0.9rem; - color: var(--text-secondary); - line-height: 1.6; - margin: 0; - } - .section-cta-link { - display: inline-block; - margin-top: 1.75rem; - font-size: 0.9rem; - color: var(--text-muted); - cursor: pointer; - user-select: none; - } - .section-cta-link:hover { color: var(--primary); text-decoration: none; } - .collapsible-content { display: none; margin-top: 1.5rem; } - .collapsible-content.open { display: block; } - .section-cta-btn { - display: inline-block; - background: var(--primary); - color: white; - font-weight: 700; - font-size: 1rem; - padding: 0.75rem 2rem; - border-radius: 999px; - margin-top: 2rem; - box-shadow: 0 4px 16px rgba(196,132,58,.35); - transition: transform 0.15s, box-shadow 0.15s; - } - .section-cta-btn:hover { - transform: translateY(-2px); - box-shadow: 0 6px 24px rgba(196,132,58,.45); - text-decoration: none; - color: white; - } - /* Footer */ footer { background: #1a1a1a; diff --git a/backend/static/sw.js b/backend/static/sw.js index d021722..65a06a7 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-v729'; +const CACHE_VERSION = 'by-v728'; 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
- Ban Yaro immer griffbereit — einmal hinzufügen, dann direkt vom Home-Bildschirm öffnen. + Kein App Store nötig — direkt auf den Home-Bildschirm.
- Auf dem iPhone funktioniert das Hinzufügen nur über Safari. + Auf dem iPhone geht die Installation nur über Safari.