Gassi-Treffen-Detail: Fokus auf 'hinfinden'
Detail-Karte zeigt jetzt Treffpunkt + User-Position via UserAnnotation,
darunter eine Navigation-Karte mit:
- Ortsname
- Luftlinien-Distanz vom aktuellen Standort
- 'Route'-Button öffnet Apple Maps (MKMapItem.openInMaps) — User wählt
dort Walking/Driving
Plus Teilnehmer-Sektion mit GET /api/walks/{id}/participants:
- Liste der Zugesagten ('yes'-RSVP) mit Namen + Hunden
- 'Noch niemand zugesagt'-Hinweis bei leerer Liste
- myRsvp-Status für korrekte Join-Button-Anzeige
- isOwn → 'Dein Treffen'-Badge statt Beitreten-Button
Footer-Hinweis: 'Fotos vom Treffen kannst du später in der banyaro.app
teilen' — Foto-Funktion bewusst PWA-only (User-Wunsch).
This commit is contained in:
parent
b49883ca79
commit
00dba257b5
2 changed files with 189 additions and 55 deletions
|
|
@ -168,6 +168,20 @@ struct WalkJoinBody: Encodable {
|
|||
let dogIds: [Int]
|
||||
}
|
||||
|
||||
struct WalkParticipantsResponse: Decodable {
|
||||
let invitations: [WalkInvitation]
|
||||
let myRsvp: String?
|
||||
let isOrganizer: Bool
|
||||
}
|
||||
|
||||
struct WalkInvitation: Decodable, Identifiable {
|
||||
let userId: Int
|
||||
let status: String?
|
||||
let userName: String?
|
||||
let hunde: String?
|
||||
var id: Int { userId }
|
||||
}
|
||||
|
||||
struct GassiZeitCreateBody: Encodable {
|
||||
let dogId: Int?
|
||||
let wochentage: [String]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue