Landing: Ban Yaro persönlich — Foto + Geschichte als Split-Section (SW by-v960)

This commit is contained in:
rene 2026-05-14 19:50:12 +02:00
parent 59ddf047ba
commit 6f8644c70f
5 changed files with 30 additions and 12 deletions

View file

@ -406,7 +406,7 @@ async def serve_media(path: str, request: _Request):
raise _HE(404, "Nicht gefunden.") raise _HE(404, "Nicht gefunden.")
return _media_response(filepath) return _media_response(filepath)
APP_VER = "959" # muss mit APP_VER in app.js übereinstimmen APP_VER = "960" # muss mit APP_VER in app.js übereinstimmen
@app.get("/.well-known/assetlinks.json") @app.get("/.well-known/assetlinks.json")
async def assetlinks(): async def assetlinks():

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

View file

@ -3,7 +3,7 @@
Router, State-Management, Navigation, Initialisierung. Router, State-Management, Navigation, Initialisierung.
============================================================ */ ============================================================ */
const APP_VER = '959'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VER = '960'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
const APP_VERSION = '1.5.1'; // ← semantische Version, wird bei make release gesetzt const APP_VERSION = '1.5.1'; // ← semantische Version, wird bei make release gesetzt
const IS_STAGING = location.hostname === 'staging.banyaro.app'; const IS_STAGING = location.hostname === 'staging.banyaro.app';
// Cache-Bust-Parameter nach Update-Reload sofort entfernen // Cache-Bust-Parameter nach Update-Reload sofort entfernen

View file

@ -1450,15 +1450,32 @@
</div> </div>
</section> </section>
<section id="ueber" style="background:white;padding:5rem 0"> <section id="ueber" style="background:white;padding:0">
<div class="container" style="text-align:center"> <!-- Ban Yaro persönlich -->
<h2>Warum „Ban Yaro"?</h2> <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));overflow:hidden">
<p class="section-intro" style="margin:1rem auto 2.5rem"> <div style="position:relative;min-height:340px">
Ban Yaro ist ein Hund. Genauer gesagt: ein Hund aus dem B-Wurf einer Züchterin, <img src="/img/landing/ban-yaro-original.webp"
die Star Wars liebt und ihre Würfe nach Charakteren dieses Epos benennt. alt="Ban Yaro — der echte Hund hinter der App"
Ban Yaro ist der Namensgeber dieser App — und ein gutes Zeichen, dass hier loading="lazy"
Hundemenschen für Hundemenschen bauen. style="position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block">
</p> </div>
<div style="background:var(--bg,#FAF7F2);padding:clamp(2rem,5vw,3.5rem);display:flex;flex-direction:column;justify-content:center;gap:1rem">
<h2 style="margin:0">Warum „Ban Yaro"?</h2>
<p style="color:var(--text-secondary,#555);line-height:1.75;margin:0">
Ban Yaro ist ein echter Hund — aus dem B-Wurf einer Züchterin die Star Wars liebt
und ihre Würfe nach Charakteren des Epos benennt. Er ist der Namensgeber dieser App
und lebt in Ebersberg, Bayern.
</p>
<p style="color:var(--text-secondary,#555);line-height:1.75;margin:0">
Ban Yaro wurde von einem Hundemenschen für Hundemenschen gebaut — von René Degelmann,
der genau weiß wie es sich anfühlt seinen Hund täglich zu begleiten.
</p>
<p style="font-size:0.85rem;color:var(--text-muted,#888);margin:0">
Ebersberg, Bayern · gegründet 2026 · <a href="mailto:hallo@banyaro.app">hallo@banyaro.app</a>
</p>
</div>
</div>
<div class="container" style="text-align:center;padding-top:3rem;padding-bottom:3rem">
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;text-align:left;margin-top:3rem"> <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;text-align:left;margin-top:3rem">
@ -1496,6 +1513,7 @@
</div> </div>
</div> </div>
</div><!-- end container -->
</section> </section>
<footer> <footer>

View file

@ -3,7 +3,7 @@
Offline-Cache + Push Notifications + Tile-Cache Offline-Cache + Push Notifications + Tile-Cache
============================================================ */ ============================================================ */
const CACHE_VERSION = 'by-v959'; const CACHE_VERSION = 'by-v960';
const CACHE_STATIC = `${CACHE_VERSION}-static`; const CACHE_STATIC = `${CACHE_VERSION}-static`;
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache