Sprint 12+13: Tagebuch Day-One-Redesign, Notiz-Feature, Icon-Fixes, SW by-v405
Tagebuch:
- Day-One-Listenansicht: Wochentag + Tageszahl + Meta-Zeile (Zeit/Ort/Wetter)
- 4 Ansichten: Liste, Medien-Mosaik, Kalender (mit Sprungbuttons), Karte (GPS-Marker)
- Detail-Ansicht inline im Content-Bereich (kein Fullscreen-Overlay mehr)
- Hero-Bild vollständig sichtbar (object-fit:contain), Lightbox mit Safe-Area
- 2-Spalten-Layout Desktop: Text + Leaflet-Karte + POI-Liste
- EXIF-GPS-Extraktion bei Foto-Upload, historisches Wetter via Archive-API
- NoteStation-Import: Fotos in diary_media (80 Einträge migriert, 94 Medien)
- Stats-Endpoints: /diary/stats, /diary/calendar, /diary/locations
Notiz-Feature:
- Generische notes-Tabelle (parent_type + parent_id + meta_json)
- 📝-Button in 8 Bereichen, Notizblock-Seite mit KI-Analyse
- KI-Toggle in Einstellungen, notes_ki_enabled in User-Profil
Icons & Design:
- fill:currentColor Fix für welcome/onboarding/friends.js
- --c-icon Variable, --c-text-muted Dark Mode aufgehellt
- 15+ neue Phosphor-Icons aus lokaler Kopie
- CSS Network-First im SW, Cache-Control-Middleware
Infrastruktur:
- Wiki-Anreicherungs-Scheduler-Jobs entfernt (abgeschlossen)
- auth.py: notes_ki_enabled + is_social_media im User-Response
This commit is contained in:
parent
95f91fdc00
commit
553e9e7854
35 changed files with 4558 additions and 370 deletions
|
|
@ -118,6 +118,7 @@ const API = (() => {
|
|||
const q = new URLSearchParams(params).toString();
|
||||
return get(`/dogs/${dogId}/diary${q ? '?' + q : ''}`);
|
||||
},
|
||||
stats(dogId) { return get(`/dogs/${dogId}/diary/stats`); },
|
||||
get(dogId, entryId) { return get(`/dogs/${dogId}/diary/${entryId}`); },
|
||||
create(dogId, data) { return post(`/dogs/${dogId}/diary`, data); },
|
||||
update(dogId, id, data){ return patch(`/dogs/${dogId}/diary/${id}`, data); },
|
||||
|
|
@ -137,6 +138,8 @@ const API = (() => {
|
|||
nearby(dogId, lat, lon) {
|
||||
return get(`/dogs/${dogId}/diary/nearby?lat=${lat}&lon=${lon}`);
|
||||
},
|
||||
locations(dogId) { return get(`/dogs/${dogId}/diary/locations`); },
|
||||
calendar(dogId) { return get(`/dogs/${dogId}/diary/calendar`); },
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------
|
||||
|
|
@ -559,6 +562,30 @@ const API = (() => {
|
|||
},
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------
|
||||
// NOTIZEN
|
||||
// ----------------------------------------------------------
|
||||
const notes = {
|
||||
get(parentType, parentId) {
|
||||
return get(`/notes/${parentType}/${parentId}`);
|
||||
},
|
||||
getAll(params) {
|
||||
return get('/notes?' + new URLSearchParams(params || {}).toString());
|
||||
},
|
||||
analyse() {
|
||||
return post('/notes/ki-analyse', {});
|
||||
},
|
||||
create(parentType, parentId, data) {
|
||||
return post(`/notes/${parentType}/${parentId}`, data);
|
||||
},
|
||||
update(id, data) {
|
||||
return patch(`/notes/${id}`, data);
|
||||
},
|
||||
delete(id) {
|
||||
return del(`/notes/${id}`);
|
||||
},
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------
|
||||
// ERROR-KLASSE
|
||||
// ----------------------------------------------------------
|
||||
|
|
@ -576,7 +603,7 @@ const API = (() => {
|
|||
get, post, put, patch, del, upload,
|
||||
auth, dogs, diary, health, tieraerzte, poison,
|
||||
places, routes, walks, events, sitting, forum, lost, knigge, weather, push,
|
||||
friends, chat, webcal, importData, sharing, widget, notifications, services, ratings, sittingAccess, training,
|
||||
friends, chat, webcal, importData, sharing, widget, notifications, services, ratings, sittingAccess, training, notes,
|
||||
subscribeToPush, getLocation,
|
||||
APIError,
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue