Sprint 15: Suche, Ausweis, Teilen, Widget

- Volltext-Suche im Tagebuch (LIKE über Titel/Text/Tags, Debounce 350ms)
- Digitaler Heimtierausweis als druckbare HTML-Seite (/ausweis/{dog_id})
  Enthält Impfungen, Medikamente, Allergien, Tierärzte, Chip-Nr.
- Hund teilen: Einladungslink-System (dog_shares-Tabelle, /teilen/{token})
  Geteilte Hunde erscheinen in der Hundeliste, Tagebuch/Gesundheit lesbar
- Widget-Seite /#widget: zufälliges Tagebuchbild + nächste Erinnerung
  Als PWA-Shortcut im Manifest verankert
- SW-Cache by-v144, APP_VER 117
This commit is contained in:
rene 2026-04-17 15:51:09 +02:00
parent d5f09cd16b
commit 34f29f9d0a
16 changed files with 917 additions and 35 deletions

View file

@ -408,6 +408,18 @@ const API = (() => {
resetToken: () => del('/webcal/token'),
};
const sharing = {
create: (dogId, role) => post(`/dogs/${dogId}/share`, { role }),
list: (dogId) => get(`/dogs/${dogId}/shares`),
revoke: (dogId, id) => del(`/dogs/${dogId}/share/${id}`),
accept: (token) => post(`/share/accept/${token}`, {}),
info: (token) => get(`/share/info/${token}`),
};
const widget = {
snapshot: () => get('/widget/snapshot'),
};
const importData = {
notestation(dogId, file) {
const fd = new FormData();
@ -440,7 +452,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,
friends, chat, webcal, importData, sharing, widget,
subscribeToPush, getLocation,
APIError,
};