import SwiftUI @main struct EncryptedChatApp: App { @State private var appState = AppState() @State private var authViewModel = AuthViewModel() var body: some Scene { WindowGroup { if appState.isLoggedIn { MainTabView(appState: appState) } else { LoginView(viewModel: authViewModel, appState: appState) } } } } struct MainTabView: View { var appState: AppState @State private var convListVM = ConversationListVM() var body: some View { TabView { ConversationListView(appState: appState, viewModel: convListVM) .tabItem { Label("Chats", systemImage: "bubble.left.and.bubble.right.fill") } ProfileView(appState: appState, isOwnProfile: true) .tabItem { Label("Profile", systemImage: "person.fill") } } } }