banyaro/backend
rene 44081a6b9d Session 2026-04-22: Training, Fixes, KI-Cloud, Dark-Mode
Training-System:
- Einheit-Dialog Bugs behoben (UI.toast callable, _dogId via _appState, activeDog.id)
- Virtueller Trainer (rein statistisch): üben/festigen/entdecken/levelup
  Empfehlungen auf Basis exercise_progress + sessions, Prognose bis 80%
- Stand erfassen Modal: alle Übungen auf einmal setzen (onboarding)
- Erfolgsindikatoren auf Karten: Ø-Quote + Trend-Pfeil + Anzahl Sessions
- exercise_progress → synthetische Stats im Trainer (ohne Sessions nutzbar)
- Levelup: Tricks empfehlen wenn ≥4 Grundkommandos sitzen
- Kommandos & Fähigkeiten im Hundeprofil + öffentlichem Profil
- 2 neue Problemverhalten-Übungen: Bellen/Kläffen, Enttriggern

Mobile/UI-Fixes:
- Übungskarten: Name + Difficulty oben, Buttons eigene Zeile (kein Umbruch)
- Trainingsgrundlagen: Padding in allen Karten, Hinweis-Boxen Dark-Mode-sicher
- Tab-Sichtbarkeit: Trainer/Suggestions nur auf Übungs-Tabs
- Tagebuch FAB (Neu-Eintrag Button) + Quick-Add Eintrag
- FAB Abstand fix (nav-bottom-height + safe-bottom)
- Suggestion-Karten rgba (Dark-Mode)
- routes.js + uebungen.js: alle Hellfarben → rgba (Dark-Mode-sicher)
- ui.js: UI.toast als callable Function-Object (war nur plain Object)

KI & Backend:
- KI_MODE=cloud + ANTHROPIC_API_KEY gesetzt
- ki.py: Cloud-Fallback wenn local nicht erreichbar + KI_MODE=cloud
- KI-Trainer Tageslimit 10 Anfragen/User + ki_daily_calls Tabelle
- Admin-Panel: KI-Nutzung (heute/Monat/User)
- Status-Report Fix (lost-Tabelle) → 06:00 + 18:00 täglich
- Wiki-Anreicherung läuft jetzt (50 Rassen Startup, 20/Nacht)
- landing.html: Trainings-Features in JSON-LD + Feature-Karten
2026-04-22 19:41:22 +02:00
..
routes Session 2026-04-22: Training, Fixes, KI-Cloud, Dark-Mode 2026-04-22 19:41:22 +02:00
scraper Session 2026-04-21: SEO, Wiki-Anreicherung, Training, Lober 2026-04-21 19:38:20 +02:00
static Session 2026-04-22: Training, Fixes, KI-Cloud, Dark-Mode 2026-04-22 19:41:22 +02:00
auth.py Sprint 12: UI-Vereinheitlichung + Läufigkeits-Tracker 2026-04-16 22:31:33 +02:00
database.py Session 2026-04-21: SEO, Wiki-Anreicherung, Training, Lober 2026-04-21 19:38:20 +02:00
generate_thumbs.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
ki.py Session 2026-04-22: Training, Fixes, KI-Cloud, Dark-Mode 2026-04-22 19:41:22 +02:00
mailer.py Fix: Brevo Open-Tracking für transaktionale Mails deaktivieren 2026-04-17 09:29:09 +02:00
main.py Session 2026-04-21: SEO, Wiki-Anreicherung, Training, Lober 2026-04-21 19:38:20 +02:00
media_utils.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
migrate_media.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
ratelimit.py Sprint 15: User-Profil (Bio, Wohnort, Erfahrung, Social, Avatar, Mitglied-seit) 2026-04-17 09:24:27 +02:00
requirements.txt Feat: APScheduler — täglich Push für Health-Erinnerungen 2026-04-13 20:49:49 +02:00
scheduler.py Session 2026-04-22: Training, Fixes, KI-Cloud, Dark-Mode 2026-04-22 19:41:22 +02:00
username_blocklist.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
weather.py Sprint 11: Freunde & Chat + Phosphor-Icon-Vollmigration 2026-04-15 21:33:53 +02:00