PONGo_ios/MCMSMobileApp.swift
2026-05-31 14:11:29 +02:00

53 lines
1.6 KiB
Swift

import SwiftUI
@main
struct MCMSMobileApp: App {
@State private var env = AppEnvironment()
var body: some Scene {
WindowGroup {
RootView()
.environment(env)
}
}
}
/// Routes the app: no config Settings; configured but signed out Login;
/// authenticated main tabs.
struct RootView: View {
@Environment(AppEnvironment.self) private var env
var body: some View {
Group {
if !env.isConfigured {
NavigationStack { SettingsView(isInitialSetup: true) }
} else if !env.isAuthenticated {
LoginView()
} else if let connection = env.connection {
MainTabView(connection: connection)
} else {
NavigationStack { SettingsView(isInitialSetup: true) }
}
}
}
}
struct MainTabView: View {
let connection: MCMSConnection
var body: some View {
TabView {
NavigationStack { DashboardView(connection: connection) }
.tabItem { Label("Dashboard", systemImage: "chart.pie") }
NavigationStack { ONUListView(connection: connection) }
.tabItem { Label("ONUs", systemImage: "point.3.connected.trianglepath.dotted") }
NavigationStack { OLTListView(connection: connection) }
.tabItem { Label("OLTs", systemImage: "antenna.radiowaves.left.and.right") }
NavigationStack { SettingsView(isInitialSetup: false) }
.tabItem { Label("Settings", systemImage: "gearshape") }
}
}
}