Feature: Trauer-Feature, Futter-Verträglichkeit, Multi-Hund-Fixes, Wetter-Ort (Sprint 47)
- dog-profile.js: Verstorben-Button, Gedenkseite, KI-Abschiedstext - database.py: futter_eintraege/reaktionen, route_dogs, exercise_progress.dog_id - routes/ernaehrung.py: Futter-Verträglichkeit mit 20 Reaktionstypen + Analyse - routes/routen.py: route_dogs Many-to-Many, Routen editierbar - routes/training.py: exercise_progress per dog_id - routes/ki.py: /ki/abschied Trauer-KI - weather.py: Nominatim Ortsname parallel geladen - ui.js: dogChip/bindDogChip, visualViewport-Modal - api.js: gedenken, gedenkseite, futter-Methoden, route_dogs - worlds.js: Ortsname im Wetter-Chip - uebungen.js: _progressLoaded-Flag, dog-spezifischer Fortschritt - trainingsplaene.js: dog_id Unterstützung - diary.js/health.js: P-Badge Cleanup - map.js: Wetter-Ort-Anzeige entfernt - wetter.js: Ort in Wetter-Detail
This commit is contained in:
parent
1ce802c8dc
commit
bda61a0e40
16 changed files with 713 additions and 181 deletions
|
|
@ -40,7 +40,8 @@ window.Page_trainingsplaene = (() => {
|
|||
}
|
||||
|
||||
function _lsKey(planId, goalIdx) {
|
||||
return `tp_${planId}_${goalIdx}`;
|
||||
const dogId = _dogId() || 'x';
|
||||
return `tp_d${dogId}_${planId}_${goalIdx}`;
|
||||
}
|
||||
|
||||
function _saveGoal(key, checked) {
|
||||
|
|
@ -537,6 +538,8 @@ window.Page_trainingsplaene = (() => {
|
|||
// BIND EVENTS
|
||||
// ----------------------------------------------------------
|
||||
function _bindEvents() {
|
||||
UI.bindDogChip(_container, _appState);
|
||||
|
||||
// Notiz-Button
|
||||
const dogId = _dogId();
|
||||
_container.querySelector('#tp-note-btn')?.addEventListener('click', e => {
|
||||
|
|
@ -612,8 +615,9 @@ window.Page_trainingsplaene = (() => {
|
|||
: `Erwachsener Hund – ${_activeAdultTab}`;
|
||||
|
||||
_container.innerHTML = `
|
||||
<div style="padding-bottom:var(--space-8)">
|
||||
<div style="display:flex;align-items:center;justify-content:space-between;margin:var(--space-4) 0 var(--space-4)">
|
||||
<div style="padding:var(--space-4) var(--space-4) var(--space-8)">
|
||||
${UI.dogChip(_appState)}
|
||||
<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)">
|
||||
<h2 style="font-size:var(--text-lg);font-weight:700;margin:0">
|
||||
${_icon('clipboard-text')} Trainingspläne
|
||||
</h2>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue