diff --git a/backend/main.py b/backend/main.py index c00029b..8da77a4 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 = "730" # 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 20eba97..900bb48 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..9c96941 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 = '730'; // ← 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'; @@ -819,6 +819,7 @@ const App = (() => { try { localStorage.removeItem('by_wissen_open'); } catch (_) {} + _initVersionCheck(); await _checkAuth(); // Einladungslink /teilen/{token} → direkt annehmen @@ -916,6 +917,126 @@ const App = (() => { }); } + // ---------------------------------------------------------- + // ---------------------------------------------------------- + // VERSION-CHECK — persistentes Banner wenn neue Version verfügbar + // ---------------------------------------------------------- + let _updateBannerShown = false; + + async function _checkVersion() { + try { + const r = await fetch('/api/version', { cache: 'no-store' }); + if (!r.ok) return; + const { version } = await r.json(); + if (version && version !== APP_VER && !_updateBannerShown) { + _updateBannerShown = true; + _showUpdateBanner(version); + } + } catch { /* offline — ignorieren */ } + } + + function _showUpdateBanner(newVersion) { + const isIos = /iphone|ipad|ipod/i.test(navigator.userAgent); + const existing = document.getElementById('app-update-banner'); + if (existing) return; + + const banner = document.createElement('div'); + banner.id = 'app-update-banner'; + banner.style.cssText = [ + 'position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 72px);left:12px;right:12px', + 'z-index:9000;background:var(--c-primary);color:#fff;border-radius:16px', + 'padding:14px 16px;box-shadow:0 4px 20px rgba(0,0,0,0.3)', + 'display:flex;flex-direction:column;gap:10px', + ].join(';'); + + banner.innerHTML = ` +
Ban Yaro vereint alle wichtigen Hunde-Tools — ohne Werbung, ohne Datenweitergabe an US-Konzerne, ohne monatliche Pflichtkosten.
+Nie wieder Impftermine vergessen. Immer wissen was heute dran ist. Und nach 30 Tagen Training endlich der Rückruf der zuverlässig klappt.
-Die Startseite begrüßt dich mit einem täglich wechselnden Foto deines Hundes aus dem Tagebuch, zeigt aktuelle Stats (letzter Eintrag, nächster Termin, Gewicht, Übung des Tages) und navigiert direkt zu allen Bereichen.
KostenlosFotos, Videos, Texte und GPS-Orte — alle Momente mit deinem Hund. Kategorien wie Spaziergänge, Meilensteine, Lustiges.
KostenlosImpfungen, Tierarztbesuche, Medikamente digital verwalten. Automatische Erinnerungen per Push-Notification.
KostenlosEinheiten loggen (Wiederholungen, Erfolgsquote, Stimmung), Fortschritt in 5 Stufen verfolgen. Virtueller Trainer empfiehlt täglich welche Übungen anstehen — inkl. Trendanalyse und Prognose bis zur Meisterschaft. Streaks, Abzeichen und Trainingskalender motivieren dranzubleiben.
KostenlosAlle beherrschten Kommandos sichtbar im Hunde-Profil — praktisch für Hundesitter, die genau wissen müssen worauf dein Hund reagiert.
KostenlosKI-gestützte Ersteinschätzung: beobachten, Tierarzt oder Notfall? Orientierung wann es wirklich dringend ist.
Kostenlos43 rassenspezifische Pflegetipps: Fell (mit Schneiden/Trimmen-Unterscheidung), Krallen, Zähne, Ohren, Augen, Pfoten und mehr — Tipp des Tages automatisch ausgewählt.
KostenlosJeden Montag schreibt die KI 2-3 Sätze Lob für eure Vorwoche — nur Lob, kein Rat, kein Druck. Motivation die gut tut.
KostenlosAktuelles Wetter direkt in der App (ohne API-Key). Automatische Zecken-Warnung wenn Saison und Temperatur passen.
KostenlosTägliche Bewertung 1–10: Ist heute ein guter Tag für eine Runde? Berechnet aus Temperatur, Regenwahrscheinlichkeit und Wind. Mit 7-Tage-Vorschau und persönlichen Wetter-Rekorden.
KostenlosAlle Gesundheitsdaten als druckbares Dokument — für Tierarzt, Tierpension oder Auslandsreise.
KostenlosKalorienbedarf nach Gewicht, Aktivität und Kastration berechnen. BARF-, Nass- und Trockenfutter-Vergleich, vollständige Giftliste für Hunde und KI-Futterberater.
Kostenlos20 Fragen, 4 Typen (Forscher, Wächter, Spieler, Treuer). Personalisierte Trainingstipps passend zum Charakter deines Hundes.
KostenlosEditierbare Reisecheckliste für den nächsten Urlaub und EU-Länder-Guide mit länderspezifischen Einreiseregeln, Impfvorschriften und Besonderheiten.
KostenlosÖffentliche Profilseite für jeden Hund. Finder kontaktiert dich anonym — ohne deine Nummer preiszugeben.
Kostenlos + ShopImpfpass, Tierarztbesuche und Medikamente digital. Automatische Erinnerungen damit du nie wieder einen Termin verpasst.
+Tägliche Übungsempfehlung passend zu eurem Stand. Ein KI-Trainer der analysiert wo ihr steht und was als nächstes kommt.
+Tagebuch mit Fotos, GPS und Stimmungen. Gassi-Score damit du weißt ob heute ein guter Tag für eine lange Runde ist.
Interaktive Karte mit Giftköder-Meldungen, Gassi-Treffen, Routen und hundefreundlichen Orten in der Nähe.
KostenlosTäglich wechselndes Foto deines Hundes, aktuelle Stats, nächster Termin, Gewicht, Übung des Tages.
Fotos, Videos, Texte und GPS-Orte — alle Momente mit deinem Hund. Kalender-, Karten- und Medien-Ansicht.
Impfungen, Tierarztbesuche, Medikamente digital verwalten. Automatische Erinnerungen per Push-Notification.
104 Übungen, Einheiten loggen, Fortschritt in 5 Stufen. Virtueller Trainer mit täglichen Empfehlungen, Streaks und Abzeichen.
KI-gestützte Ersteinschätzung: beobachten, Tierarzt oder Notfall?
43 rassenspezifische Pflegetipps in 10 Kategorien — Tipp des Tages automatisch ausgewählt.
7-Tage-Wetter, tägliche Bewertung 1–10 für Gassi-Eignung, automatische Zecken-Warnung.
Kalorienbedarf berechnen, BARF-Guide, Giftliste und KI-Futterberater.
Reisecheckliste und EU-Länder-Guide mit länderspezifischen Einreiseregeln und Impfvorschriften.
Öffentliche Profilseite für jeden Hund. Finder kontaktiert dich anonym — ohne deine Nummer preiszugeben.
Routen aufzeichnen, teilen und bewerten — Untergrund, Schatten, Leinenpflicht, Sicherheit.
KostenlosTäglich eine neue Rundroute vorgeschlagen — 2, 4 oder 6 km ab deinem Standort. Berechnet via OpenRouteService, direkt navigierbar. 3 verschiedene Varianten pro Tag.
KostenlosAgility-Turniere, Hundeausstellungen und lokale Veranstaltungen in deiner Region.
KostenlosCrowd-sourced Datenbank: Restaurants, Cafés, Parks, Geschäfte — mit echten Bewertungen von Hundebesitzern.
KostenlosGPS-Meldungen mit Foto, sofortige Push-Notification für alle Nutzer im Umkreis.
Sofortalarm für alle Nutzer in der Nähe — mit Foto, letzter GPS-Position und direktem Kontakt.
Täglich neue Rundroute — 2, 4 oder 6 km ab deinem Standort. Berechnet via OpenRouteService.
Spontane oder geplante Gassi-Treffen erstellen und finden.
Öffentlich lesbar ohne Anmeldung. Kategorien nach Rasse, Region, Gesundheit und Erziehung.
1003 Hunderassen — Wikipedia-grounded und von KI angereichert. Community-Fotos und Rassen-Quiz.
Meldungen mit GPS und Foto. Alle Nutzer im Umkreis bekommen sofort eine Push-Benachrichtigung.
KostenlosSofortalarm für alle Nutzer in der Nähe — mit Foto, letzter GPS-Position und direktem Kontakt.
KostenlosSpontane oder geplante Gassi-Treffen erstellen und finden. Mit Hunde-Profilen der Teilnehmer.
KostenlosVertrauenswürdige Sitter finden — nur 8% Provision statt 20% bei Rover oder Pawshake.
8% ProvisionÖffentlich lesbar ohne Anmeldung. Kategorien nach Rasse, Region, Gesundheit und Erziehung. Schreiben nach E-Mail-Verifikation — für Qualität statt Spam.
Kostenlos1003 Hunderassen — Wikipedia-grounded und von KI angereichert: Charakter, Größe, Aktivität, Lebensdauer, Temperament. Community-Fotos mit Bildrechte-Bestätigung. "Passt diese Rasse zu mir?" Quiz.
KostenlosBegegnungen mit fremden Hunden, Kindern, Radfahrern. ÖPNV-Regeln, Leinenpflicht, Haftpflicht.
Kostenlos68 Filme, Serien und Dokumentationen — sortierbar nach Jahr, IMDb-Bewertung oder Community-Rating. Mit der wichtigsten Frage: "Stirbt der Hund?" Nie wieder unvorbereitet stolpern.
KostenlosNotfallratgeber für häufige Situationen — Vergiftung, Wunden, Hitzschlag. Mit klaren Handlungsschritten.
KostenlosIntegriertes Handbuch direkt in der App — Installation, erste Schritte, Standort-Probleme, Account-Fragen. Kein App Store, kein Support-Ticket.
KostenlosÖffentliche Wurfankündigungen mit Filter nach Rasse und Status. Interessenten schreiben direkt per Nachricht an. Für Käufer kostenlos.
Züchter4 Generationen visuell dargestellt. Klickbare Knoten öffnen das Hunde-Profil. Teilen per Link für Käufer-Dokumentation.
ZüchterAutomatische Berechnung nach Wright's Formel. Ampel-Bewertung: optimal unter 2,5%, kritisch ab 12,5%. Probeverpaarung simuliert jeden beliebigen Anpaarungspartner.
ZüchterHD, ED, Augen, Herz, DNA-Tests — alle Nachweise strukturiert erfasst. Farbcodierte Ergebnis-Badges auf einen Blick.
ZüchterAutomatische Prüfung bei jeder Verpaarung: Alter, Wurfhäufigkeit, Deckpause, genetische Risiken. Nicht abschaltbar — weil die Tiere zählen.
ZüchterWurfankündigungen schreiben, Genetik-Erklärungen für Käufer formulieren, Paarungsanalyse mit Empfehlung, Jahresauswertung. Nutzt Claude Sonnet direkt.
ZüchterAlle Zuchtkartei-Daten als HTML-Dossier (druckbar, mit Stammbaum-Visualisierung) und ODS-Tabelle (editierbar in LibreOffice/Excel). Keine Datenfalle.
ZüchterAutomatisch ausgefüllter Kaufvertrag pro Welpe als druckbares Dokument — mit Chip-Nummer, Geburtsdatum, Käufer- und Züchterdaten.
ZüchterBan Yaro ist die erste Hunde-App die Zucht-Management, Tierschutz-Checks und KI-Assistenz in einer Plattform verbindet — gedacht für Züchter die ihre Tiere ernst nehmen.
+Stammbaum, Inzucht-Koeffizient, Wurfverwaltung, Tierschutz-Check — alles was du brauchst, nichts was du nicht brauchst. Kein Excel. Keine veraltete Verbandssoftware.
-Finde deinen Welpen in der Wurfbörse mit vollem Einblick in Gesundheitstests, Gentests und Stammbaum der Eltern. Schreibe direkt mit dem Züchter. Keine versteckten Händler.
+Stammbaum bis 4 Generationen, Gesundheitstests, Gentests — alles für Käufer sichtbar. Die erste Plattform die Zucht wirklich transparent macht.
Verifizierte Züchter-Profile mit öffentlich sichtbaren Gesundheitsdaten. Der Tierschutz-Check läuft bei jeder Verpaarung automatisch — Ergebnisse gehen direkt an den Admin wenn kritische Grenzen überschritten werden.
+Der Tierschutz-Check läuft bei jeder Verpaarung automatisch. Nicht abschaltbar — weil die Tiere zählen. Dein stärkstes Argument gegenüber Käufern.
+Wurfbörse, Welpen-Verwaltung, automatischer Kaufvertrag. Interessenten schreiben direkt per Chat — du hast alles an einem Ort.
Verifizierte Züchter, transparente Gesundheitsdaten, direkter Kontakt. Kein Kleinanzeigen-Chaos.
+ +Jeder Züchter auf Ban Yaro wurde geprüft. Stammbaum und Gesundheitstests öffentlich einsehbar — bevor du fragst.
+Kein Umweg über Kleinanzeigen. Schreib direkt per Nachricht, sieh Fotos der Eltern und des Wurfs.
+Starte direkt mit Tagebuch, Training und Gesundheitsakte. Alles bereit für den ersten Tag.
+