From 5e0cf2258d39acb99703555701adfbb989ef7d60 Mon Sep 17 00:00:00 2001 From: Zafar Ivaev Date: Mon, 24 Jul 2023 18:35:46 +0500 Subject: [PATCH] fix: refactor Wallet state --- .../xcshareddata/swiftpm/Package.resolved | 8 ++++---- p2p_wallet/Scenes/Main/NewHome/HomeCoordinator.swift | 2 +- p2p_wallet/Scenes/Main/NewHome/HomeView.swift | 10 +++------- p2p_wallet/Scenes/Main/NewHome/HomeViewModel.swift | 9 ++------- 4 files changed, 10 insertions(+), 19 deletions(-) diff --git a/p2p_wallet.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/p2p_wallet.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index cc1807eca6..5ce58bff3e 100644 --- a/p2p_wallet.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/p2p_wallet.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -266,8 +266,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/google/promises.git", "state" : { - "revision" : "e70e889c0196c76d22759eb50d6a0270ca9f1d9e", - "version" : "2.3.1" + "revision" : "c22f76b709dc4bb6d274398259e75c191e50998a", + "version" : "2.3.0" } }, { @@ -365,8 +365,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-nio.git", "state" : { - "revision" : "5f542894dd8efbd766d8adf73ef2f947b0cd5e21", - "version" : "2.56.0" + "revision" : "324bc65a28323660fad8a36a7a37f0c2c78eeb9a", + "version" : "2.55.0" } }, { diff --git a/p2p_wallet/Scenes/Main/NewHome/HomeCoordinator.swift b/p2p_wallet/Scenes/Main/NewHome/HomeCoordinator.swift index ffa52244d4..39128e7786 100644 --- a/p2p_wallet/Scenes/Main/NewHome/HomeCoordinator.swift +++ b/p2p_wallet/Scenes/Main/NewHome/HomeCoordinator.swift @@ -69,7 +69,7 @@ final class HomeCoordinator: Coordinator { let viewModel = HomeViewModel() let homeView = HomeView( viewModel: viewModel, - viewModelWithTokens: tokensViewModel!, + accountsViewModel: tokensViewModel!, emptyViewModel: emptyViewModel ).asViewController() as! UIHostingControllerWithoutNavigation diff --git a/p2p_wallet/Scenes/Main/NewHome/HomeView.swift b/p2p_wallet/Scenes/Main/NewHome/HomeView.swift index 5f88f1c89c..53c9f6e5ca 100644 --- a/p2p_wallet/Scenes/Main/NewHome/HomeView.swift +++ b/p2p_wallet/Scenes/Main/NewHome/HomeView.swift @@ -5,7 +5,7 @@ struct HomeView: View { @StateObject var viewModel: HomeViewModel @StateObject var globalAppState: GlobalAppState = .shared - let viewModelWithTokens: HomeAccountsViewModel + let accountsViewModel: HomeAccountsViewModel let emptyViewModel: HomeEmptyViewModel var body: some View { @@ -13,13 +13,9 @@ struct HomeView: View { switch viewModel.state { case .pending: HomeSkeletonView() - case .withTokens: + case .wallet: navigation { - HomeAccountsView(viewModel: viewModelWithTokens) - } - case .empty: - navigation { - HomeEmptyView(viewModel: emptyViewModel) + HomeAccountsView(viewModel: accountsViewModel) } } diff --git a/p2p_wallet/Scenes/Main/NewHome/HomeViewModel.swift b/p2p_wallet/Scenes/Main/NewHome/HomeViewModel.swift index a5b542f7b4..8f87cf84c9 100644 --- a/p2p_wallet/Scenes/Main/NewHome/HomeViewModel.swift +++ b/p2p_wallet/Scenes/Main/NewHome/HomeViewModel.swift @@ -169,10 +169,6 @@ private extension HomeViewModel { partialResult = partialResult + account.amountInFiatDouble } - let hasAnyTokenWithPositiveBalance = - solanaState.value.contains(where: { account in (account.lamports ?? 0) > 0 }) || - ethereumState.value.contains(where: { account in account.balance > 0 }) - // TODO: Bad place self.updateAddressIfNeeded() @@ -183,7 +179,7 @@ private extension HomeViewModel { case .initializing: self.state = .pending default: - self.state = hasAnyTokenWithPositiveBalance ? .withTokens : .empty + self.state = .wallet // log self.analyticsManager.log(parameter: .userHasPositiveBalance(solanaTotalBalance > 0)) @@ -208,8 +204,7 @@ private extension HomeViewModel { extension HomeViewModel { enum State { case pending - case withTokens - case empty + case wallet } }