diff options
author | Iván Ávalos <avalos@disroot.org> | 2022-01-27 01:14:37 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2022-01-27 01:14:37 -0600 |
commit | 64c4a58e644229b9d94233b3dd18b7805ffbb8d7 (patch) | |
tree | 4e5308546664427389e09f6952b1469ea63a4f39 /iosApp | |
parent | b4cecb08fb3b704733048c02c710dbd9f8205ec6 (diff) | |
download | etbsa-trackermap-mobile-64c4a58e644229b9d94233b3dd18b7805ffbb8d7.tar.gz etbsa-trackermap-mobile-64c4a58e644229b9d94233b3dd18b7805ffbb8d7.tar.bz2 etbsa-trackermap-mobile-64c4a58e644229b9d94233b3dd18b7805ffbb8d7.zip |
Renamed LoginView to RootView and implemented LoadingView
Diffstat (limited to 'iosApp')
-rw-r--r-- | iosApp/iosApp.xcodeproj/project.pbxproj | 20 | ||||
-rw-r--r-- | iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/avalos.xcuserdatad/UserInterfaceState.xcuserstate | bin | 38983 -> 43210 bytes | |||
-rw-r--r-- | iosApp/iosApp/Session/RootView.swift (renamed from iosApp/iosApp/Session/LoginView.swift) | 8 | ||||
-rw-r--r-- | iosApp/iosApp/Session/RootViewModel.swift (renamed from iosApp/iosApp/Session/LoginViewModel.swift) | 2 | ||||
-rw-r--r-- | iosApp/iosApp/Shared/LoadingView.swift | 19 |
5 files changed, 36 insertions, 13 deletions
diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/iosApp.xcodeproj/project.pbxproj index 71d898c..d2f7787 100644 --- a/iosApp/iosApp.xcodeproj/project.pbxproj +++ b/iosApp/iosApp.xcodeproj/project.pbxproj @@ -10,11 +10,12 @@ 058557BB273AAA24004C7B11 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557BA273AAA24004C7B11 /* Assets.xcassets */; }; 058557D9273AAEEB004C7B11 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */; }; 2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2152FB032600AC8F00CF470E /* iOSApp.swift */; }; - 7555FF83242A565900829871 /* LoginView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7555FF82242A565900829871 /* LoginView.swift */; }; + 7555FF83242A565900829871 /* RootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7555FF82242A565900829871 /* RootView.swift */; }; E38F241527A242870069FC45 /* Inject.swift in Sources */ = {isa = PBXBuildFile; fileRef = E38F241427A242870069FC45 /* Inject.swift */; }; E38F241727A242C70069FC45 /* Resolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = E38F241627A242C70069FC45 /* Resolver.swift */; }; - E38F241C27A26DD70069FC45 /* LoginViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E38F241B27A26DD70069FC45 /* LoginViewModel.swift */; }; + E38F241C27A26DD70069FC45 /* RootViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E38F241B27A26DD70069FC45 /* RootViewModel.swift */; }; E38F241E27A270D50069FC45 /* UnitsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E38F241D27A270D50069FC45 /* UnitsView.swift */; }; + E38F242027A27B550069FC45 /* LoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E38F241F27A27B550069FC45 /* LoadingView.swift */; }; E3E77EDF279D2B5A00150070 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = E3E77EDE279D2B5A00150070 /* Localizable.strings */; }; E3E77EE6279E6CE400150070 /* FlowCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3E77EE5279E6CE400150070 /* FlowCollector.swift */; }; /* End PBXBuildFile section */ @@ -37,12 +38,13 @@ 058557D8273AAEEB004C7B11 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; }; 2152FB032600AC8F00CF470E /* iOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = iOSApp.swift; sourceTree = "<group>"; }; 7555FF7B242A565900829871 /* iosApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iosApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 7555FF82242A565900829871 /* LoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginView.swift; sourceTree = "<group>"; }; + 7555FF82242A565900829871 /* RootView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootView.swift; sourceTree = "<group>"; }; 7555FF8C242A565B00829871 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; E38F241427A242870069FC45 /* Inject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Inject.swift; sourceTree = "<group>"; }; E38F241627A242C70069FC45 /* Resolver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Resolver.swift; sourceTree = "<group>"; }; - E38F241B27A26DD70069FC45 /* LoginViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginViewModel.swift; sourceTree = "<group>"; }; + E38F241B27A26DD70069FC45 /* RootViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootViewModel.swift; sourceTree = "<group>"; }; E38F241D27A270D50069FC45 /* UnitsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnitsView.swift; sourceTree = "<group>"; }; + E38F241F27A27B550069FC45 /* LoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView.swift; sourceTree = "<group>"; }; E3E77EDE279D2B5A00150070 /* Localizable.strings */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; }; E3E77EE5279E6CE400150070 /* FlowCollector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlowCollector.swift; sourceTree = "<group>"; }; /* End PBXFileReference section */ @@ -116,8 +118,8 @@ E3E77EE0279D43B400150070 /* Session */ = { isa = PBXGroup; children = ( - 7555FF82242A565900829871 /* LoginView.swift */, - E38F241B27A26DD70069FC45 /* LoginViewModel.swift */, + 7555FF82242A565900829871 /* RootView.swift */, + E38F241B27A26DD70069FC45 /* RootViewModel.swift */, ); path = Session; sourceTree = "<group>"; @@ -128,6 +130,7 @@ E3E77EE5279E6CE400150070 /* FlowCollector.swift */, E38F241427A242870069FC45 /* Inject.swift */, E38F241627A242C70069FC45 /* Resolver.swift */, + E38F241F27A27B550069FC45 /* LoadingView.swift */, ); path = Shared; sourceTree = "<group>"; @@ -231,11 +234,12 @@ files = ( E38F241727A242C70069FC45 /* Resolver.swift in Sources */, E38F241527A242870069FC45 /* Inject.swift in Sources */, - E38F241C27A26DD70069FC45 /* LoginViewModel.swift in Sources */, + E38F241C27A26DD70069FC45 /* RootViewModel.swift in Sources */, E3E77EE6279E6CE400150070 /* FlowCollector.swift in Sources */, 2152FB042600AC8F00CF470E /* iOSApp.swift in Sources */, + E38F242027A27B550069FC45 /* LoadingView.swift in Sources */, E38F241E27A270D50069FC45 /* UnitsView.swift in Sources */, - 7555FF83242A565900829871 /* LoginView.swift in Sources */, + 7555FF83242A565900829871 /* RootView.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/avalos.xcuserdatad/UserInterfaceState.xcuserstate b/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/avalos.xcuserdatad/UserInterfaceState.xcuserstate Binary files differindex 7b173a3..257d7c0 100644 --- a/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/avalos.xcuserdatad/UserInterfaceState.xcuserstate +++ b/iosApp/iosApp.xcodeproj/project.xcworkspace/xcuserdata/avalos.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/iosApp/iosApp/Session/LoginView.swift b/iosApp/iosApp/Session/RootView.swift index 0637ff2..1be724a 100644 --- a/iosApp/iosApp/Session/LoginView.swift +++ b/iosApp/iosApp/Session/RootView.swift @@ -2,22 +2,22 @@ import SwiftUI import shared struct RootView: View { - @StateObject private var loginViewModel = LoginViewModel() + @StateObject private var rootViewModel = RootViewModel() @State private var username = "" @State private var password = "" @State private var server = "" var body: some View { - switch loginViewModel.loginState { + switch rootViewModel.loginState { case is SessionController.LoginStateLoading: - Text("loading") + LoadingView() case is SessionController.LoginStateSuccess: UnitsView() default: LoginContentView(username: $username, password: $password, server: $server, - onLogin: loginViewModel.login) + onLogin: rootViewModel.login) } } } diff --git a/iosApp/iosApp/Session/LoginViewModel.swift b/iosApp/iosApp/Session/RootViewModel.swift index ee3038e..9c664ef 100644 --- a/iosApp/iosApp/Session/LoginViewModel.swift +++ b/iosApp/iosApp/Session/RootViewModel.swift @@ -9,7 +9,7 @@ import Foundation import shared -class LoginViewModel: ObservableObject { +class RootViewModel: ObservableObject { @Inject private var sessionController: SessionController @Published var loginState: SessionController.LoginState = SessionController.LoginStateNothing() diff --git a/iosApp/iosApp/Shared/LoadingView.swift b/iosApp/iosApp/Shared/LoadingView.swift new file mode 100644 index 0000000..1825113 --- /dev/null +++ b/iosApp/iosApp/Shared/LoadingView.swift @@ -0,0 +1,19 @@ +// +// LoadingView.swift +// iosApp +// +// Created by Iván on 27/01/22. +// Copyright © 2022 orgName. All rights reserved. +// + +import SwiftUI + +struct LoadingView: UIViewRepresentable { + func makeUIView(context: Context) -> UIActivityIndicatorView { + return UIActivityIndicatorView(style: .large) + } + + func updateUIView(_ uiView: UIActivityIndicatorView, context: Context) { + uiView.startAnimating() + } +} |