Commit graph

7 commits

Author SHA1 Message Date
d807db57a2 1.1: Home-Screen-Widget + Siri-Kurzbefehl „Gassi gehen"
App Group group.app.banyaro.ios verbindet App und Widget-Extension
(Entitlements in beiden Targets, CODE_SIGN_ENTITLEMENTS fürs Widget).

Home-Screen-Widget (D):
- BanYaroHomeWidget (klein + mittel): Tagesfoto, Hundename, nächster Termin.
- App schreibt beim Heim-Laden einen Snapshot (HomeWidgetData) in die App
  Group und triggert WidgetCenter-Reload; Snapshot wird bei Logout/401 geleert.

Siri-/Kurzbefehl (E):
- StartWalkIntent „Gassi gehen" + AppShortcutsProvider (öffnet die App).
- WalkLauncher überbrückt Intent → UI: Flag in der App Group, beim Aktivwerden
  eingelöst → Aufnehmen-Tab + Aufnahme-Start (TrackingView.startFresh).
- MainTabView mit Tab-Auswahl (Tags), BanYaroGoApp liest scenePhase.
2026-06-02 20:01:16 +02:00
0ad2cb124b HeimView: Backend ist Source-of-Truth fürs Tagesfoto
Bisher: cachedPhotoUrl (UserDefaults) wurde dem Backend-Wert
bevorzugt. Wenn der Cache eine tote URL hielt (gelöschtes Bild),
sah man bis Mitternacht kein Tagesbild — selbst nachdem der
Backend-Cache selbstheilend invalidiert war.

Jetzt: dashboard.randomPhoto.url gewinnt im Background-View, Cache
ist nur Offline-Fallback. In load() wird der Cache bei jeder neuen
Backend-URL aktualisiert.
2026-05-30 19:09:35 +02:00
5dc76db8cb Heim: Welcome näher ans Foto (Spacer 300→250) 2026-05-30 12:58:14 +02:00
82639acf7f Heim: Spacer 200→300, damit Welcome und Themen-Karten unter dem Foto sitzen 2026-05-30 12:55:47 +02:00
f2e9d5deaf Heim: weißer Gradient raus, Tagesbild pro Tag cachen wie die PWA
- LinearGradient zum systemBackground entfernt — der Übergang war zu hart
  weiß und hat das Foto verschluckt
- UserDefaults-Cache 'heimPhoto_{userId}_{dogId}_YYYY-MM-DD' analog zur PWA
  (bg3_{userId}_YYYY-MM-DD). Sobald ein Foto pro Tag gewählt ist, sticht es
  bis Mitternacht — damit kippt's nicht mehr, wenn zwischendrin neue Bilder
  hochgeladen werden und die tick%len-Rotation auf einen anderen Index zeigt
2026-05-30 12:51:16 +02:00
ef7907d74b Heim: nur noch 'Nächster Termin'; letzter Eintrag/Gewicht/Anzahl raus 2026-05-30 12:33:25 +02:00
f054b2a07f Tagebuch + Heim-Tab mit täglichem Background
Tagebuch (Diary):
- DiaryEntry + DiaryMedia + DiaryCreateBody DTOs
- TagebuchView: Liste der Einträge für aktiven Hund mit Titel, Text,
  Ortsname, Meilenstein-Stern, Foto-Strip
- AddDiaryEntrySheet: Titel/Text/Datum/Meilenstein/Ort/Tags +
  PhotosPicker, nach POST /api/dogs/{id}/diary werden Fotos einzeln
  via POST /api/dogs/{id}/diary/{entry_id}/media hochgeladen (mit
  ImageResize.resizedJPEG)

Heim-Tab als neuer 1. Tab:
- DashboardSnapshot DTO für /api/dogs/{id}/welcome-dashboard
- ActiveDogStore (@Observable + UserDefaults("activeDogId")): hält
  den aktiven Hund app-weit
- HeimView: tägliches Hintergrundfoto aus random_photo.url (rotiert
  pro Tag, vom Backend gewählt), Gradient zur Lesbarkeit, Tagezeit-
  Begrüßung mit User-Namen, Hund-Picker (Menu), Info-Karten für
  letzten Eintrag/nächsten Termin/Gewicht/Eintragszahl,
  Quick-Action-Buttons (Tagebuch, Wetter, Erste Hilfe)

Reorganisation:
- 5 Tabs: Heim, Touren, Aufnehmen, Statistik, Mehr
- Hunde-Liste wandert in Mehr → "Hund & Alltag"
- Tagebuch in Mehr → "Hund & Alltag" + erreichbar von Heim
2026-05-30 12:22:51 +02:00