Frontend Sprint 3+4: Dog-Switcher, Health-Seite, Multi-Dog Tagebuch
- app.js: vollständiger Dog-Switcher (Avatar im Header/Sidebar, Quickpicker bei 3+ Hunden, setActiveDog, localStorage-Persistenz), iOS Ghost-Click Fix, Loading-Guard, Logout State Reset - index.html: Dog-Switcher HTML, Favicon-Links, Sidebar "+ Neu erstellen", Navigation Tab Karte → Gesundheit - health.js (neu): vollständiges Health-Frontend mit Tabs (Impfung, Entwurmung, Tierarzt, Medikament, Gewicht-Kurve, Allergie, Dokument), Ampel-System, KI-Zusammenfassung - dog-profile.js: "+ Weiteren Hund anlegen" Button + _openCreateModal(), Event-Delegation statt direkter Listener (kein Doppelaufruf) - diary.js: Dog-Picker im Formular, Avatar-Reihe auf Karten, Dog-Chips im Detail-Modal, dog_ids im API-Payload - poison.js: Erledigt-Dialog mit Grundauswahl (beseitigt/fehlerhaft/anderes) - api.js: health-Endpoints (list, create, update, delete, upload, ki) - ui.js: confirm() Fix (resolve vor close) - layout.css: Dog-Switcher Styles, scrollbare Sidebar-Nav, User-Item fix - components.css: Health-Styles, Diary Dog-Picker, Ampel-Punkte, Gewicht-SVG - icons/: Favicon-Set (ico, 16px, 32px, 180px, 192px, 512px)
This commit is contained in:
parent
6f48ec581d
commit
d8b9561fff
16 changed files with 1597 additions and 91 deletions
|
|
@ -116,10 +116,19 @@ const API = (() => {
|
|||
// GESUNDHEIT
|
||||
// ----------------------------------------------------------
|
||||
const health = {
|
||||
list(dogId) { return get(`/dogs/${dogId}/health`); },
|
||||
list(dogId, typ = null) {
|
||||
const q = typ ? `?typ=${encodeURIComponent(typ)}` : '';
|
||||
return get(`/dogs/${dogId}/health${q}`);
|
||||
},
|
||||
create(dogId, data) { return post(`/dogs/${dogId}/health`, data); },
|
||||
update(dogId, id, d) { return patch(`/dogs/${dogId}/health/${id}`, d); },
|
||||
delete(dogId, id) { return del(`/dogs/${dogId}/health/${id}`); },
|
||||
uploadDokument(dogId, id, formData) {
|
||||
return upload(`/dogs/${dogId}/health/${id}/dokument`, formData);
|
||||
},
|
||||
kiZusammenfassung(dogId) {
|
||||
return post(`/dogs/${dogId}/health/ki-zusammenfassung`);
|
||||
},
|
||||
symptomCheck(dogId, symptoms) {
|
||||
return post(`/dogs/${dogId}/health/symptom-check`, { symptoms });
|
||||
},
|
||||
|
|
@ -134,7 +143,7 @@ const API = (() => {
|
|||
},
|
||||
report(data) { return post('/poison', data); },
|
||||
confirm(id) { return post(`/poison/${id}/confirm`); },
|
||||
resolve(id) { return post(`/poison/${id}/resolve`); },
|
||||
resolve(id, data={}) { return post(`/poison/${id}/resolve`, data); },
|
||||
uploadPhoto(id, form){ return upload(`/poison/${id}/photo`, form); },
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue