diff --git a/backend/main.py b/backend/main.py index 20354b1..c00029b 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 = "728" # muss mit APP_VER in app.js übereinstimmen +APP_VER = "729" # 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 b9ff82e..20eba97 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 473e0b1..9a1a050 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 = '728'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '729'; // ← 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 fdbdc87..4a88bbe 100644 --- a/backend/static/js/pages/welcome.js +++ b/backend/static/js/pages/welcome.js @@ -108,7 +108,7 @@ window.Page_welcome = (() => { ${hasPrompt ? ` - App installieren + Zum Home-Bildschirm hinzufügen ` : ` @@ -218,7 +218,7 @@ window.Page_welcome = (() => { ${hasPrompt ? ` - App installieren — kostenlos + Zum Home-Bildschirm hinzufügen ` : ` @@ -231,7 +231,7 @@ window.Page_welcome = (() => { ${!isInstalled ? ` - Installationsanleitung + Zum Home-Bildschirm hinzufügen ` : ''} @@ -242,7 +242,7 @@ window.Page_welcome = (() => { - App installieren + Immer griffbereit — kein App Store ${_installHTML()} @@ -481,7 +481,7 @@ window.Page_welcome = (() => { - App installieren + Immer griffbereit — kein App Store ${_installHTML()} @@ -1069,11 +1069,11 @@ window.Page_welcome = (() => { if (hasPrompt) { return ` - Kein App Store nötig — direkt auf den Home-Bildschirm. + Ban Yaro immer griffbereit — einmal hinzufügen, dann direkt vom Home-Bildschirm öffnen. - Ban Yaro installieren + Zum Home-Bildschirm hinzufügen `; } @@ -1095,7 +1095,7 @@ window.Page_welcome = (() => { if (isIOS && !isSafari) { return ` - Auf dem iPhone geht die Installation nur über Safari. + Auf dem iPhone funktioniert das Hinzufügen nur über Safari. ${_steps([ ['safari-logo', 'Öffne Safari auf deinem iPhone'], diff --git a/backend/static/landing.html b/backend/static/landing.html index df60c47..860396f 100644 --- a/backend/static/landing.html +++ b/backend/static/landing.html @@ -13,7 +13,7 @@ - + @@ -377,6 +377,65 @@ .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 65a06a7..d021722 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-v728'; +const CACHE_VERSION = 'by-v729'; 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
- Kein App Store nötig — direkt auf den Home-Bildschirm. + Ban Yaro immer griffbereit — einmal hinzufügen, dann direkt vom Home-Bildschirm öffnen.
- Auf dem iPhone geht die Installation nur über Safari. + Auf dem iPhone funktioniert das Hinzufügen nur über Safari.