|
|
459cd425f2
|
Design-System Sprint A: utilities.css + 948 Inline-Styles → Utility-Klassen, SW by-v1102
PHASE 1 — Sofort-Cleanup ohne Risiko:
- Neue Datei utilities.css mit ~25 Klassen für häufige Kombinationen:
* text-xs-muted, text-xs-secondary, text-sm-muted, text-sm-secondary
* flex-gap-2/3, flex-col-gap-2/3/4, flex-center-gap-1/2/3
* flex-between, flex-1-min, mb-1/3, mt-1/3
* icon-xs/sm/md/lg, label-block, caption
- index.html bindet utilities.css ein
- mb-3/mt-3 ergänzt (waren in design-system.css unvollständig)
PHASE 2 — .by-tab Modifier für Vereinheitlichung:
- .by-tabs.grid (mit --tab-cols Variable für Admin/Health/etc.)
- .by-tabs.sticky (Desktop vertikale Tabs für Admin)
- .by-tabs.wrap (Zuchthunde, flex-wrap statt scroll)
- .by-tabs.separated (Sitting, mit eigenem Hintergrund + Border)
PHASE 3 — Inline-Style → Klassen-Migration (Python-Script):
- 948 Inline-Styles entfernt (5101 → 4153, -18%)
- 962 Migrationen über 47 Page-Dateien
- Top-Treffer: admin.js (180), health.js (67), dog-profile.js (67),
litters.js (62), settings.js (61), zuchthunde.js (51)
- Patterns: text-muted, text-secondary, text-danger, text-xs-muted,
text-sm-muted, grid-2 (Duplikat-Bug behoben!), flex-col-gap-3,
p-3/4, mb-2/3/4, hidden, w-full, flex-1, ...
- Bewahrt bestehende class-Attribute (mergt korrekt)
Alle 19 Tests grün. Kein visueller Diff erwartet (gleiche Property-Werte).
|
2026-05-27 07:11:27 +02:00 |
|
|
|
d2c2c59abb
|
Fix: Züchter-Header (Wurfverwaltung/Zuchtkartei/Läufigkeit) Hell-Mode kompatibel (CSS-Variablen statt hardcoded Dark-Gradient), SW by-v1036
|
2026-05-16 13:59:07 +02:00 |
|
|
|
e11efa23f0
|
Fix: Zuchtkartei Header-Update nach Status-Laden — Zwingername korrekt (SW by-v913)
|
2026-05-13 20:07:54 +02:00 |
|
|
|
ca9d9a05c5
|
UX: Privater-Header — Zwingername als H2-Überschrift, Logo 48px, alle 3 Züchterseiten (SW by-v911)
|
2026-05-13 19:54:30 +02:00 |
|
|
|
ccf5a8b7ba
|
UX: Privater-Header mit Zwingername + Logo auf allen Züchter-Seiten (SW by-v910)
|
2026-05-13 19:48:58 +02:00 |
|
|
|
a577e6d8d9
|
UX: Privater-Bereich-Header auf Zuchtkartei, Wurfverwaltung, Läufigkeit (SW by-v909)
|
2026-05-13 19:44:25 +02:00 |
|
|
|
f35a0efbaf
|
UX: Zuchtkartei Toolbar flex-wrap — kein horizontaler Scroll mehr (SW by-v906)
|
2026-05-13 19:27:01 +02:00 |
|
|
|
a29c7574d3
|
UX: Zuchtkartei Tabs flex-wrap — umbrechen statt scrollen (SW by-v905)
|
2026-05-13 19:23:13 +02:00 |
|
|
|
c583b69923
|
UX: Zuchtkartei Gesundheit/Genetik/Titel als by-tab Pill-Tabs wie Übungen (SW by-v904)
|
2026-05-13 19:19:55 +02:00 |
|
|
|
38e7ad99ae
|
Fix: Profilfotos — breeder status liefert jetzt id, s.profile.id korrekt (SW by-v903)
|
2026-05-13 19:13:34 +02:00 |
|
|
|
f7a2a3861e
|
Feature: Zuchtkartei Profilfotos-Button — Upload, Logo setzen, Sichtbarkeit (SW by-v902)
|
2026-05-13 19:09:29 +02:00 |
|
|
|
d5a3a1bb05
|
Fix: Zuchtkartei Toolbar Mobile — overflow-x:auto + flex-shrink:0 (SW by-v899)
|
2026-05-13 18:27:02 +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 |
|
|
|
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 |
|