banyaro/backend/routes
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
..
__init__.py Sprint 0: Backend, Docker, KI-Layer mit Free/Premium-Trennung 2026-04-12 16:39:34 +02:00
achievements.py Session 2026-04-19: Navigation, Kompass, Übungsfortschritt 2026-04-19 20:33:01 +02:00
admin.py Session 2026-04-22: Training, Fixes, KI-Cloud, Dark-Mode 2026-04-22 19:41:22 +02:00
alerts.py Navigation, Karten-FABs, Nearby-Alerts 2026-04-20 19:46:34 +02:00
auth.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
chat.py Sprint 16: Chat-Fotos/Online/Read-Receipts, Gesundheit-Dokumente löschen, Bugfixes 2026-04-17 22:38:33 +02:00
diary.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
dogs.py Session 2026-04-22: Training, Fixes, KI-Cloud, Dark-Mode 2026-04-22 19:41:22 +02:00
events.py Sprint 19: Social, UX-Verbesserungen, Nerd2Noob-Hilfe 2026-04-17 23:53:50 +02:00
forum.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
friends.py Privacy: Tagebuch-Einträge aus Freunde-Aktivitäts-Feed entfernt 2026-04-19 11:12:54 +02:00
health.py Feature: Gesundheit Multi-Media — health_media Tabelle + Multi-Upload UI 2026-04-18 19:09:39 +02:00
import_data.py Feature: Tagebuch Ort/POI, Foto/Video-Edit, Modal-UX, iOS-Fixes 2026-04-18 11:56:54 +02:00
ki.py Sprint 12: UI-Vereinheitlichung + Läufigkeits-Tracker 2026-04-16 22:31:33 +02:00
knigge.py Sprint 11: Freunde & Chat + Phosphor-Icon-Vollmigration 2026-04-15 21:33:53 +02:00
lost.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
movies.py Sprint 11: Freunde & Chat + Phosphor-Icon-Vollmigration 2026-04-15 21:33:53 +02:00
notifications.py Sprint 18: Notification Center, Routen entdecken, Onboarding, Admin-Erweiterungen 2026-04-17 23:21:48 +02:00
osm.py Feature: Ratings, Lightbox, Forum-Standort, Notifications, Routen-Recording, Chat-Picker 2026-04-19 09:40:35 +02:00
places.py Feature: Telefonnummer für Orte (DB-Migration + API + Formular + Detailansicht) 2026-04-17 10:32:04 +02:00
poison.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
praise.py Session 2026-04-21: SEO, Wiki-Anreicherung, Training, Lober 2026-04-21 19:38:20 +02:00
profile.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
push.py Sprint 18: Notification Center, Routen entdecken, Onboarding, Admin-Erweiterungen 2026-04-17 23:21:48 +02:00
ratings.py Feature: Ratings, Lightbox, Forum-Standort, Notifications, Routen-Recording, Chat-Picker 2026-04-19 09:40:35 +02:00
routen.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
services.py Fix: services.py fehlte nach Worktree-Merge 2026-04-17 23:54:49 +02:00
sharing.py Sprint 15: Suche, Ausweis, Teilen, Widget 2026-04-17 15:51:09 +02:00
sitting.py Sprint 8: Events + Hundesitting 2026-04-14 06:19:15 +02:00
sitting_access.py Feature: Gasthund-Zugang für Sitter 2026-04-19 10:29:21 +02:00
stats.py Session 2026-04-19: Navigation, Kompass, Übungsfortschritt 2026-04-19 20:33:01 +02:00
tieraerzte.py UX: Modal-Rand, Icon-Farben, Adresse aufgeteilt 2026-04-13 20:16:36 +02:00
training.py Session 2026-04-22: Training, Fixes, KI-Cloud, Dark-Mode 2026-04-22 19:41:22 +02:00
walks.py Fix: Benachrichtigungen navigieren jetzt in den richtigen Kontext 2026-04-19 09:54:46 +02:00
webcal.py WebCal: Tierarzt-Termine, Medikamenten-Enddaten, Hunde-Geburtstage ergänzt 2026-04-17 09:41:14 +02:00
widget.py Sprint 15: Suche, Ausweis, Teilen, Widget 2026-04-17 15:51:09 +02:00
wiki.py Session 2026-04-21: SEO, Wiki-Anreicherung, Training, Lober 2026-04-21 19:38:20 +02:00