import SwiftUI struct RootView: View { @State private var isAuthenticated = false @State private var isCheckingAuth = true @State private var userId: Int = 0 @State private var selectedBusiness: Business? @State private var hasAutoSelected = false var body: some View { Group { if isCheckingAuth { VStack { ProgressView() } } else if !isAuthenticated { LoginView { token, uid in userId = uid isAuthenticated = true } } else { BusinessListView( hasAutoSelected: $hasAutoSelected, onBusinessSelected: { business in selectedBusiness = business }, onLogout: { isAuthenticated = false selectedBusiness = nil hasAutoSelected = false } ) .fullScreenCover(item: $selectedBusiness) { business in ServicePointListView( businessId: business.businessId, businessName: business.name, onBack: { selectedBusiness = nil } ) } } } .modifier(DevBanner()) .onAppear { checkAuth() } } private func checkAuth() { let token = UserDefaults.standard.string(forKey: "token") let savedUserId = UserDefaults.standard.integer(forKey: "userId") if let token = token, !token.isEmpty, savedUserId > 0 { isCheckingAuth = false } else { isCheckingAuth = false } } }