aboutsummaryrefslogtreecommitdiff
path: root/iosApp/iosApp/Session/RootView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'iosApp/iosApp/Session/RootView.swift')
-rw-r--r--iosApp/iosApp/Session/RootView.swift38
1 files changed, 28 insertions, 10 deletions
diff --git a/iosApp/iosApp/Session/RootView.swift b/iosApp/iosApp/Session/RootView.swift
index 960187a..10498b2 100644
--- a/iosApp/iosApp/Session/RootView.swift
+++ b/iosApp/iosApp/Session/RootView.swift
@@ -35,16 +35,34 @@ struct RootView: View {
var body: some View {
Group {
- switch rootViewModel.loginState {
- case is SessionController.LoginStateLoading:
- LoadingView()
- case is SessionController.LoginStateSuccess:
- UnitsView()
- default:
- LoginContentView(username: $username,
- password: $password,
- server: $server,
- onLogin: rootViewModel.login)
+ VStack {
+ if (rootViewModel.networkAvailable != true) {
+ OfflineBanner()
+ }
+
+ if rootViewModel.showLoadingView {
+ LoadingView()
+ .frame(minHeight: 0, maxHeight: .infinity)
+ } else {
+ switch rootViewModel.loginState {
+ case is SessionController.LoginStateSuccess:
+ UnitsView()
+ case is SessionController.LoginStateLoading:
+ LoadingView()
+ .frame(minHeight: 0, maxHeight: .infinity)
+ default:
+ LoginContentView(username: $username,
+ password: $password,
+ server: $server,
+ onLogin: { username, password, server in
+ rootViewModel.login(
+ username: username,
+ password: password,
+ url: server
+ )
+ })
+ }
+ }
}
}.environmentObject(rootViewModel)
}