import SwiftUI

@main
struct NotifyHubApp: App {
    @StateObject private var store = SecureStore.shared

    var body: some Scene {
        WindowGroup {
            RootView()
                .environmentObject(store)
        }
    }
}

struct RootView: View {
    @EnvironmentObject private var store: SecureStore
    @State private var ready = false

    var body: some View {
        Group {
            if !ready {
                SplashView()
            } else if store.isRegistered {
                MainView()
            } else {
                RegisterView()
            }
        }
        .task {
            try? await Task.sleep(nanoseconds: 1_700_000_000)
            ready = true
        }
    }
}
