import SwiftUI import SwiftData struct MainTabView: View { @Environment(AuthSession.self) private var auth @Environment(\.modelContext) private var ctx @State private var selectedTab = 0 private let launcher = WalkLauncher.shared var body: some View { TabView(selection: $selectedTab) { HeimView() .tabItem { Label("Heim", systemImage: "house.fill") } .tag(0) RoutesListView() .tabItem { Label("Touren", systemImage: "map.fill") } .tag(1) TrackingView() .tabItem { Label("Aufnehmen", systemImage: "figure.walk") } .tag(2) SettingsView() .tabItem { Label("Mehr", systemImage: "person.crop.circle") } .tag(3) } .task { await auth.loadProfile() // Offline gesicherte Touren beim Start hochladen (falls online). await OfflineCache.syncPendingRoutes(in: ctx) launcher.consumePendingFlag() } .onChange(of: launcher.pendingStart) { _, pending in if pending { selectedTab = 2 } } } }