Commit graph

579 commits

Author SHA1 Message Date
acd46f124b UX: Wurfformular — Erwartet links, Tatsächlich rechts — SW by-v511, APP_VER 488 2026-04-29 19:45:10 +02:00
239681a6f0 UX: Wurfformular — Datumfelder mit erklärendem Hinweistext — SW by-v510, APP_VER 487 2026-04-29 19:42:26 +02:00
2411151b17 Feature: Offline-Stufen 1+2+3 — Timeout, API-Cache, Write-Queue (IndexedDB + BackgroundSync) — SW by-v509, APP_VER 486 2026-04-29 19:13:04 +02:00
ad3b73d687 Cleanup: training_exercises.js_exercise_id — ID-Mismatch bereinigt, JOIN mit exercise_progress, Fuß-Umbenennung — SW by-v508, APP_VER 485 2026-04-29 19:00:53 +02:00
9e9b87af35 Fix: Jahresbericht-Modal Schließen-Button + expliziter close-Handler — SW by-v507, APP_VER 484 2026-04-29 17:09:45 +02:00
41d5d745cb UX: Jahresbericht — Wahlmöglichkeit wenn letzter Bericht <30 Tage alt — SW by-v506, APP_VER 483 2026-04-29 17:06:34 +02:00
9832cd24d8 Feature: KI-Jahresberichte speichern + Archiv + Download — SW by-v505, APP_VER 482 2026-04-29 17:03:49 +02:00
b4de0aa27c UX: Login → Welcome statt Diary; Landing-Features flacher (kein Box-Icon, einheitlicher Hintergrund) — SW by-v504, APP_VER 481 2026-04-29 16:53:17 +02:00
414b7131e8 Fix: manifest.json modernisiert — id, scope, screenshots, prefer_related_applications — SW by-v503, APP_VER 480 2026-04-29 15:01:14 +02:00
977fbeb0fd Feature: Analytics Jahres-Balkendiagramm — Seitenaufrufe + Neuanmeldungen 12 Monate — SW by-v502, APP_VER 479 2026-04-29 14:32:10 +02:00
b2e7f1409a Fix: Suchfeld+Button table-Layout für garantierte Nebeneinander-Darstellung — SW by-v501, APP_VER 478 2026-04-29 13:29:39 +02:00
9603f099b5 Fix: Suchfeld+Button Grid-Layout (1fr auto) statt Flex — SW by-v500, APP_VER 477 2026-04-29 13:26:12 +02:00
47f1b09d30 UX: Stand-erfassen-Button mit Hinweistext — SW by-v499, APP_VER 476 2026-04-29 13:22:17 +02:00
70bc25a0a6 Fix: Suchfeld+Button in einer Zeile (flex-wrap:nowrap, min-width:0) — SW by-v498, APP_VER 475 2026-04-29 13:16:56 +02:00
325ba333fd UX: Suchfeld über Tabs, zusammen mit Stand-erfassen-Button — SW by-v497, APP_VER 474 2026-04-29 13:14:21 +02:00
a3679354c8 Feature: Übungen Desktop 2-zeilige Tabs + globale Suche über alle Kategorien — SW by-v496, APP_VER 473 2026-04-29 13:07:41 +02:00
81ee1a063e Feature: Übungs-Suche, fehlende Legacy-Übungen nachmigriert (110 gesamt) — SW by-v495, APP_VER 472 2026-04-29 12:26:32 +02:00
4c3638c17c Fix: Tagesübung-Scroll via _scrollTarget nach exercises-Load statt fixem Timeout — SW by-v494, APP_VER 471 2026-04-29 11:54:38 +02:00
6d9f4a097e Feature: Alle 104 Übungen aus DB in Übungsseite — 9 Tabs, DB-basiert, abwärtskompatibel — SW by-v493, APP_VER 470 2026-04-29 11:44:47 +02:00
175984e80f Fix: Tagesübung nur JS-kompatible exercise_ids, Scroll per exercise_id; Landing+llms.txt Sprint-20 — SW by-v492, APP_VER 469 2026-04-29 11:34:28 +02:00
fe2e718827 Feature: ORS Admin-Card — Wochensumme + 30-Tage-Gesamt im Header — SW by-v491, APP_VER 468 2026-04-29 11:25:11 +02:00
69cbf3c599 Fix: Übungen-Tab kaputt nach Exercise-Chip-Navigation — DB-Kat-Mapping + refresh()-Fix — SW by-v490, APP_VER 467 2026-04-29 11:13:22 +02:00
e22dcc3c3d Feature: Analytics 30-Tage Dual-Chart, Referrers, Umami-Credentials — SW by-v489, APP_VER 466 2026-04-29 11:06:18 +02:00
a4da7144d6 Feature: App-Version in Einstellungen + manueller Update-Check — SW by-v488, APP_VER 465 2026-04-29 10:54:56 +02:00
e507f4c086 Feature: Welpenwachstum — SVG-Kurve, Stats-Zeile, Veränderung-Spalte im Gewichtsverlauf — SW by-v487, APP_VER 464 2026-04-29 10:49:40 +02:00
dc737d0c48 Feature: KI-Nutzung im Admin mit 30-Tage-Sparkline + Top-Nutzer-Tabelle — SW by-v486, APP_VER 463 2026-04-29 10:42:00 +02:00
392359df45 Feature: ORS-Stats im Admin-Panel — Tagesverbrauch/2000, 30-Tage-Sparkline, Top-Nutzer — SW by-v485, APP_VER 462 2026-04-29 10:10:59 +02:00
69140a261e Fix: Exercise-Chip Click-Handler nach async Chip-Update binden — SW by-v484, APP_VER 461 2026-04-29 10:04:43 +02:00
59feecb30b Fix: Tagesbild stabil (date-seeded statt random), preview_url für schnelleres Laden — SW by-v483, APP_VER 460 2026-04-29 10:02:39 +02:00
117d32fcc3 Fix: Übung-des-Tages-Chip scrollt direkt zur Übung (kategorie + name als init-params) — SW by-v482, APP_VER 459 2026-04-29 09:39:54 +02:00
d9a0be489b Feature: Übung des Tages — personalisiert aus exercise_progress, 4. Chip auf Welcome — SW by-v481, APP_VER 458 2026-04-29 09:26:41 +02:00
7048499624 Feature: ORS-Wochenlimit (20/Woche), Tages-Cache, Privilegien-Bypass, Datenschutz-Update — SW by-v480, APP_VER 457 2026-04-29 08:23:55 +02:00
ca8bb495b0 Feature: Gassirunden-Chip auf Welcome öffnet direkt ORS-Vorschlag im Routen-Tab — SW by-v479, APP_VER 456 2026-04-29 08:18:16 +02:00
369eae5e5a Feature: Rundweg-Vorschläge via OpenRouteService — 2/4/6 km, 3 Varianten, Navigation+Speichern — SW by-v478, APP_VER 455 2026-04-29 08:04:25 +02:00
b09a569689 Fix: Welcome-Chip ohne Standort leer, Foto vertikal zentriert (object-fit) — SW by-v477, APP_VER 454 2026-04-29 07:38:39 +02:00
4e1e7ca37e Feature: Welcome-Chips — Termin nur <60 Tage, Übung des Tages als Fallback, async Gassirunde-Bank — SW by-v476, APP_VER 453 2026-04-29 07:34:22 +02:00
db386da2c0 Feature: Welcome-Dashboard für eingeloggte User — Hundefoto-Hero, Stats-Chips, Feature-Karten — SW by-v475, APP_VER 452 2026-04-29 06:35:42 +02:00
c8ae514c01 Feature: Tierschutz-Check, KI-Züchter-Features, Export, SEO-Update
Tierschutz-System (immer aktiv, nicht abschaltbar):
- welfare_check.py: regelbasierte Prüfung IK, Alter, Deckpause, Wurfanzahl, Genetik
- Grün/Gelb/Rot-Modal bei Wurf anlegen + Probeverpaarung
- Bei kritischem Befund + "Trotzdem fortfahren" → automatische Admin-Mail
- Tierschutz-Check nie durch Nutzer deaktivierbar

KI-Züchter-Features (pro User an/abschaltbar außer Tierschutz):
- routes/zucht_ki.py: 5 Endpunkte — Wurfankündigung, Genetik-Erklärung,
  Paarungsanalyse, Hund-Beschreibung, Jahresbericht
- Toggles in Einstellungen (ki_zucht_* Felder)
- KI-Buttons in litters.js + zuchthunde.js

KI-Routing: Privilegierte Rollen (Admin, Züchter, Moderator, Manager)
nutzen Claude Sonnet primär, lokales LLM als Fallback

Datenexport: routes/breeder_export.py — ZIP mit HTML-Dossier + ODS
(odfpy hinzugefügt in requirements.txt)

Admin-Profil: POST /admin/breeder/create-profile für Schnellprofil ohne
Antragsprozess; Admin-Rolle bleibt erhalten

Wurfformular: Dropdown aus Zuchtkartei für Vater/Mutter mit Auto-Fill;
litters.vater_id + mutter_id als FK auf zucht_hunde

Probeverpaarung: heart-fill Icon + Welfare-Block im Ergebnis

Landing Page: Züchter-Section + Feature-Gruppe, Meta-Tags, JSON-LD,
keywords, softwareVersion 2.1

SEO: llms.txt vollständig überarbeitet, robots.txt Züchter-Pfade,
sitemap.xml um Wurfbörse + Züchter-Profile erweitert

SW by-v474, APP_VER 451
2026-04-28 19:49:54 +02:00
91340be5a3 Feature: Vollständige Züchter-Rolle — Antrag, Würfe, Stammbaum, Genetik
Basis-Features (Schritte 1–11):
- Züchter-Antrag mit Dokument-Upload, Admin-Prüfung, E-Mail-Benachrichtigungen
- Öffentliches Züchter-Profil + Karten-Marker (lila, certificate-Icon)
- Wurfverwaltung: Würfe, Welpen, Gewichtsverlauf, Foto-System
- Wurfbörse (öffentlich) mit Filtersuche nach Rasse/Status
- Läufigkeits-Tracker: Deckdatum + Wurftermin (+63 Tage, nur für Züchter)
- Interessenten-Chat: Kontakt-Button in Wurfbörse und Züchter-Profil
- Sidebar-Einträge: Zuchtkartei + Wurfverwaltung für Züchter/Admin

Stammbaum & Genetik (Schritte 1–8):
- Zuchtkartei: Hunde-Stammdaten mit Vater/Mutter-Verknüpfung
- Stammbaum-Visualisierung: 4 Generationen, horizontales CSS-Grid
- Gesundheitstests (HD, ED, OCD, Augen…) mit farbigen Ergebnis-Badges
- Genetische Tests (MDR1, PRA, DM…): clear/carrier/affected
- Titel & Auszeichnungen (CAC, CACIB, IPO…)
- Probeverpaarung: IK-Berechnung nach Wright + Ampel-Bewertung
- Teilen-Link für öffentliche Hunde-Profile
- Kaufvertrag: druckbares HTML-Dokument pro Welpe

Technisch: 4 neue Route-Dateien, 5 neue Page-Module, 11 neue DB-Tabellen,
icons shield-check + certificate + tree-structure im Sprite — SW by-v465, APP_VER 444
2026-04-28 18:25:21 +02:00
b3d2d298dc Fix: Hero-Slide Gesundheit Infinitiv — SW by-v450, APP_VER 429 2026-04-27 19:45:18 +02:00
ddfc20b10d Feature: Phone-Frame mit 9 App-Screenshots im Hero — SW by-v449, APP_VER 428
- 9 Screenshots synchron mit Hero-Text (Fade gemeinsam)
- CSS-Phone-Frame, Statusleiste per margin-top abgeschnitten
- /img Static-Mount in main.py
- Screenshots als JPEG optimiert (8MB → 2.5MB gesamt)
- Vorladen aller Folgebilder beim Start
2026-04-27 19:38:43 +02:00
3b9f69fa0b UX: Dots→Zähler, Anmelden-Button Kontrast, Trust-Strip einzeilig — SW by-v448, APP_VER 427 2026-04-27 19:14:30 +02:00
3b222cab3d Fix: Hero-Slide Training kürzer, KI → virtueller Trainer — SW by-v447, APP_VER 426 2026-04-27 18:54:29 +02:00
5aa97d06eb Fix: Kacheln einklappbar (CSS-Spezifität), Hero-Interval 6s — SW by-v446, APP_VER 425 2026-04-27 18:51:24 +02:00
86d1642fba UX: Hero-Rotation mit 9 Themen, Kacheln einklappbar — SW by-v445, APP_VER 424
- 9 rotierende Hero-Slides (alle 4s, Fade + Dot-Indikatoren)
- Themen: Tagebuch, Karte, Gesundheit+KI, Giftköder, PWA-Erklärung,
  Routen, Gassi-Treffen, Training, Forum
- "Und noch mehr"-Kacheln standardmäßig eingeklappt (Toggle)
2026-04-27 18:47:18 +02:00
f3742ed7a9 Landing Page: neue Welcome-Seite für nicht-eingeloggte Besucher — SW by-v444, APP_VER 423
Hero mit Farbverlauf, großer Headline, primärer CTA-Button. 4 Feature-Abschnitte
(Tagebuch, Gesundheit, Community, Training). Privacy-Block in Primärfarbe.
Feature-Grid als "und noch mehr". Zweiter CTA am Ende. Eingeloggte sehen
weiterhin die kompakte Ansicht.
2026-04-27 18:28:36 +02:00
9cb4a16cc2 UX: Installationsanleitung mobile-first, alle Plattformen — SW by-v443, APP_VER 422
Alle 5 Fälle abgedeckt: Android+Prompt (Button), Android ohne Prompt (Chrome-Schritte),
iOS Safari (Teilen-Menü), iOS non-Safari (Hinweis + Link kopieren), Desktop (Tabs
Android/iOS). Steps mit Icon statt Zahl. Link-kopieren-Button für manuelle Fälle.
2026-04-27 18:22:10 +02:00
e62d94546b Rechtliches: Datenschutz + Impressum aktualisiert — SW by-v442, APP_VER 421
Impressum: TMG→DDG, OS-Plattform + VSBG-Hinweis, zweites Kontaktmedium.
DSE: privater Datenschutz-Abschnitt, KI (lokal + Claude Sonnet Fallback mit
SCCs), Push (FCM/APNS), Webcal, Referral, EXIF/GPS, Routen, Widerruf Art.7(3),
BayLDA, Passphrase statt Passwort.
2026-04-27 06:31:49 +02:00
e35a7a2692 Feature: QR-Code mit Logo im Referral-Block — SW by-v441, APP_VER 420
qrcode.min.js (qrcodejs) lazy geladen; QRCode.CorrectLevel.H damit Logo-Overlay
(icon-180.png, 36px) den Code noch lesbar lässt; App.loadScript() public gemacht.
2026-04-27 06:23:01 +02:00
b4c3698a3a Fix: Installationsanleitung scrollt direkt zur Install-Karte — SW by-v440, APP_VER 419
Klick auf "Installationsanleitung" in Settings navigiert jetzt mit params
{ install: true }, welcome.js zeigt die Karte auch bei bereits installierter
PWA und scrollt direkt dorthin.
2026-04-27 06:16:39 +02:00