|
|
15d8347e16
|
Fix: Staging-Nav-Styles nach App.init() setzen (inline, mit Retry)
|
2026-04-29 20:57:46 +02:00 |
|
|
|
0ecbc09b97
|
Asset: Staging-Icon — Hund mit Bauhelm, 192+512px
|
2026-04-29 20:49:55 +02:00 |
|
|
|
f7dfbb5bde
|
UX: Staging — Bottom-Nav lila statt Top-Banner, kein Content-Verdecken
|
2026-04-29 20:45:53 +02:00 |
|
|
|
2e7ce5f248
|
Feature: Staging-Icon — lila Badge, BY ⚗️ Homescreen-Name, eigenes Manifest
|
2026-04-29 20:41:19 +02:00 |
|
|
|
041af92306
|
Feature: Staging-Workflow — develop-Branch, make staging/release, APP_VERSION 1.0.0, Staging-Banner — SW by-v513
|
2026-04-29 19:57:33 +02:00 |
|
|
|
9d3f902014
|
Fix: Datumfelder im Wurfformular bündig ausgerichtet (align-items:end) — SW by-v512, APP_VER 489
|
2026-04-29 19:49:22 +02:00 |
|
|
|
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 |
|