pi-remote-ios/Sources/App/ContentView.swift

35 lines
1010 B
Swift

// ContentView.swift root view, switches on pairing state
import SwiftUI
struct ContentView: View {
@EnvironmentObject var appState: AppState
@Environment(\.scenePhase) private var scenePhase
var body: some View {
ZStack {
Group {
if let credential = appState.credential {
MainTerminalView(credential: credential)
} else {
PairingFlowView { credential in
appState.didPair(credential: credential)
}
}
}
.onChange(of: scenePhase) { _, new in
if new == .background {
appState.appDidBackground()
} else if new == .active {
Task { await appState.appWillForeground() }
}
}
if appState.isLocked {
LockView()
}
}
.task { await appState.appWillForeground() }
}
}