Files
Kecalek_python/ios_client 0.8.5/Kecalek/KecalekApp.swift
2026-03-14 12:43:56 +01:00

48 lines
1.3 KiB
Swift

import SwiftUI
@main
struct KecalekApp: App {
@State private var appState = AppState()
@State private var authViewModel = AuthViewModel()
@Environment(\.scenePhase) private var scenePhase
var body: some Scene {
WindowGroup {
if appState.isLoggedIn {
MainTabView(appState: appState)
} else {
LoginView(viewModel: authViewModel, appState: appState)
}
}
.onChange(of: scenePhase) { _, newPhase in
switch newPhase {
case .background:
appState.handleEnteredBackground()
case .active:
appState.handleBecameActive()
default:
break
}
}
}
}
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")
}
}
}
}