|
|
|
|
@ -12,14 +12,28 @@ struct MainUserView: View { |
|
|
|
|
|
|
|
|
|
@EnvironmentObject var dataStore: DataStore |
|
|
|
|
|
|
|
|
|
@State var isConnected: Bool = false |
|
|
|
|
|
|
|
|
|
var body: some View { |
|
|
|
|
if let user = dataStore.user, Store.main.hasToken() { |
|
|
|
|
AccountView(user: user) |
|
|
|
|
} else { |
|
|
|
|
LoginAccountView() |
|
|
|
|
Group { |
|
|
|
|
if self.isConnected, let user = dataStore.user { |
|
|
|
|
AccountView(user: user) { |
|
|
|
|
self._checkConnection() |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
LoginView { user in |
|
|
|
|
self._checkConnection() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}.onAppear { |
|
|
|
|
self._checkConnection() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fileprivate func _checkConnection() { |
|
|
|
|
self.isConnected = dataStore.user != nil && Store.main.hasToken() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#Preview { |
|
|
|
|
|