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")
                }
        }
    }
}
