Commit graph

5 commits

Author SHA1 Message Date
68b084be97 Sechs Offline-Features: Erste Hilfe, Ausgaben, Wetter, Gassi-Zeiten, Giftköder, Verlorene
Pitch-Karte erweitert um die neuen Features (sowie Hundesitting, Züchter).

Neue DTOs in DTOs.swift:
- Expense + ExpenseCreateBody
- GassiZeit + GassiZeitCreateBody (mit wochentage [String], radius_m)
- PoisonAlert + PoisonCreateBody
- LostDog + LostDogCreateBody
- WeatherForecast + WeatherDay (mit asphalt_temp, zecken, pollen-Felder)

Neue Views:
- ErsteHilfeView + Detail: sechs Notfall-Topics (Vergiftung, Hitzschlag,
  Wunden, Atemnot, Krampfanfall, Magendrehung) — komplett offline, kein API
- AusgabenView: Liste mit Total, AddExpenseSheet mit Kategorie/Betrag/
  Datum/Hund-Picker
- WetterView: One-Shot Location + /api/weather/forecast, 7-Tage-Vorhersage
  mit Hunde-Tipps (Hitze ab 25°/30°, Frost, Asphalt ≥50°, Zecken, Regen)
- GassiZeitenView: eigene Zeiten + Add-Sheet (Wochentag-Picker, Hund-
  Auswahl), automatische lokale UNCalendarNotifications via Scheduler
- GiftkoederView: Map mit Pins + Liste in 5km Umkreis, Report-Sheet mit
  Typ-Auswahl
- VerloreneHundeView: Liste mit Foto/Distanz, Detail mit Karte

Support:
- OneShotLocation: kleiner CLLocationManager-Wrapper für einmalige
  Positionsabfrage (Wetter, Giftköder)
- GassiZeitenScheduler: UNCalendarNotificationTrigger pro Wochentag,
  Identifier-Schema "gz-{id}-{weekday}"

Navigation: Section "Hund & Alltag" im Mehr-Tab mit NavigationLinks zu
allen sechs neuen Ansichten.
2026-05-30 12:03:24 +02:00
f1b3ff4035 Login: Pitch-Karte ausklappbar + Züchter/Sitting, Icon mit sichtbarem Pfad
- icon_transparent.py: pur-weiße Pixel werden zu #C4843A umgefärbt — der
  GPS-Pfad zwischen Pin und Hund ist jetzt auf jedem Hintergrund sichtbar
- LoginView Pitch jetzt als ausklappbare Karte ('Tippen für Details')
  mit spring-Animation
- Sechs Punkte statt vier: Gassi-Touren, Hunde-Community, Tagebuch & Impfpass,
  Verifizierte Züchter (rosette), Giftköder-Alarm, Hundesitting (house.fill)
2026-05-30 11:46:41 +02:00
4ee84d5a1a Login-Page für Newcomer + freigestelltes App-Icon im Hero
- icon_transparent.py: blauer Sky-Hintergrund per RGB-Schwelle entfernt
  (b > 0.55, b > r+0.05 …), trimmt auf Content-Bbox
- AppIconHero.imageset mit dem freigestellten Icon
- LoginView komplett neu strukturiert als ScrollView:
  - Hero: freigestelltes App-Icon (kein SF Symbol mehr) + Titel + Tagline
  - Pitch-Karte: vier Feature-Highlights (Gassi-Tracking, Community,
    Tagebuch, Giftköder-Alarm) für Leute, die banyaro nicht kennen
  - "Schon angemeldet?"-Karte mit dem klassischen Login-Form
  - "Neu hier?"-Karte mit kostenlos/DSGVO/DE-Hosting-Pitch und großem
    Register-Button mit person.crop.circle.badge.plus-Icon
2026-05-30 11:42:32 +02:00
fec7c79b05 Login-Hinweis 'Kostenlos registrieren' + PWA-Install-Anleitung in Mehr 2026-05-30 11:28:05 +02:00
81681130e6 Ban Yaro Go — Phase 1 Foundation
SwiftUI/SwiftData iOS-Client, redet mit https://banyaro.app FastAPI-Backend.
Bundle-ID app.banyaro.ios, Xcode-26-Projekt mit synchronisierten Ordnern.

Drin:
- APIClient (URLSession + Bearer + convertFromSnakeCase Decoder)
- KeychainStore + AuthSession (@Observable) für persistenten Login
- LoginView, MainTabView, SettingsView (mit Logout)
- RoutesListView + RouteDetailView mit MapKit-Polyline aus preview_track
- DogsListView mit Foto-Avatar
- App-Icon (Pfote auf Banyaro-Amber)
2026-05-30 09:25:48 +02:00