banyaro-ios/BanYaroGo/Views/MainTabView.swift
rene 0b95e3e6d1 Phase 2: Live-GPS-Tracking + neues Icon
- BanYaroGo-Info.plist (explizit, statt INFOPLIST_KEY_*): UIBackgroundModes
  location, NSLocationWhenInUseUsageDescription,
  NSLocationAlwaysAndWhenInUseUsageDescription
- LocationTracker: CLLocationManager-Wrapper (@Observable @MainActor), Distanz
  via CLLocation.distance, Permission-Handling, Background-Updates
- RouteCreateBody + Encoder mit convertToSnakeCase für POST /api/routes
- TrackingView: Start-Hero-Screen + Live-Karte mit MapPolyline + Stats-Karte
- FinishWalkSheet: Name + Hunde-Multiselect + POST /api/routes
- MainTabView: neuer Aufnehmen-Tab zwischen Touren und Hunde
- AppIcon: neues Hund-mit-GPS-Pin (vom User bereitgestellt, weiße Ränder
  weggeschnitten + Ecken mit Hintergrundfarbe gefüllt)
2026-05-30 10:08:02 +02:00

22 lines
612 B
Swift

import SwiftUI
struct MainTabView: View {
@Environment(AuthSession.self) private var auth
var body: some View {
TabView {
RoutesListView()
.tabItem { Label("Touren", systemImage: "map.fill") }
TrackingView()
.tabItem { Label("Aufnehmen", systemImage: "figure.walk") }
DogsListView()
.tabItem { Label("Hunde", systemImage: "pawprint.fill") }
SettingsView()
.tabItem { Label("Mehr", systemImage: "person.crop.circle") }
}
.task { await auth.loadProfile() }
}
}