diff --git a/backend/routes/training.py b/backend/routes/training.py index 291a81a..aaaa855 100644 --- a/backend/routes/training.py +++ b/backend/routes/training.py @@ -323,8 +323,8 @@ class SessionCreate(BaseModel): datum: Optional[str] = None wiederholungen: int = 1 erfolgsquote: int = 50 - hund_stimmung: str = "aufmerksam" - zufriedenheit: int = 3 + hund_stimmung: Optional[str] = "aufmerksam" + zufriedenheit: Optional[int] = 3 notiz: Optional[str] = None tagebuch_eintrag: bool = False # ignoriert β Training hat eigenes Protokoll diff --git a/backend/static/js/pages/uebungen.js b/backend/static/js/pages/uebungen.js index c14e9f8..057a942 100644 --- a/backend/static/js/pages/uebungen.js +++ b/backend/static/js/pages/uebungen.js @@ -549,6 +549,7 @@ window.Page_uebungen = (() => { _exerciseStats = {}; _verlaufSessions = []; _verlaufOffset = 0; + _verlaufLoading = false; _render(); _loadStatsAndBadges(); _loadVirtualTrainer(); @@ -994,7 +995,6 @@ window.Page_uebungen = (() => { if (trainerEl) trainerEl.style.display = showIf(isExerciseTab); if (suggestEl) suggestEl.style.display = showIf(isExerciseTab); if (bannerEl) bannerEl.style.display = showIf(isExerciseTab); - if (isVerlauf) _loadVerlauf(); switch (_activeTab) { case 'grundkommandos': @@ -1016,7 +1016,16 @@ window.Page_uebungen = (() => { break; } case 'grundlagen': el.innerHTML = _renderGrundlagen(); break; - case 'verlauf': el.innerHTML = _renderVerlaufShell(); break; + case 'verlauf': { + if (_verlaufSessions.length > 0) { + el.innerHTML = `