From af2f85cabdf3b539e30b1baf282fec5228a1c06d Mon Sep 17 00:00:00 2001 From: Vova Ignatov Date: Mon, 8 Apr 2024 16:48:26 +0100 Subject: [PATCH] IOS-2548 Remove KeyPhraseMoreInfoViewModuleAssembly & JoinFlowModuleAssembly --- Anytype.xcodeproj/project.pbxproj | 8 ----- .../Assemblies/ModulesDI.swift | 8 ----- .../Assemblies/ModulesDIProtocol.swift | 2 -- .../Auth/JoinFlow/JoinFlowCoordinator.swift | 10 ++----- .../JoinFlowCoordinatorAssembly.swift | 2 -- .../JoinFlow/JoinFlowModuleAssembly.swift | 29 ------------------- .../Auth/JoinFlow/JoinFlowView.swift | 14 ++++----- .../Auth/JoinFlow/JoinFlowViewModel.swift | 14 ++++----- .../KeyPhraseMoreInfoViewModuleAssembly.swift | 16 ---------- 9 files changed, 13 insertions(+), 90 deletions(-) delete mode 100644 Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowModuleAssembly.swift delete mode 100644 Anytype/Sources/PresentationLayer/Auth/JoinFlow/KeyPhraseMoreInfoView/KeyPhraseMoreInfoViewModuleAssembly.swift diff --git a/Anytype.xcodeproj/project.pbxproj b/Anytype.xcodeproj/project.pbxproj index fdc984bb0c..4acec4810a 100644 --- a/Anytype.xcodeproj/project.pbxproj +++ b/Anytype.xcodeproj/project.pbxproj @@ -890,7 +890,6 @@ 2E04201E2BA899C500F36637 /* SelectRelationListData.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E04201D2BA899C500F36637 /* SelectRelationListData.swift */; }; 2E0797B32A0940F8006F0FD7 /* JoinFlowView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0797B12A0940F8006F0FD7 /* JoinFlowView.swift */; }; 2E0797B42A0940F8006F0FD7 /* JoinFlowViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0797B22A0940F8006F0FD7 /* JoinFlowViewModel.swift */; }; - 2E0797B82A0964BC006F0FD7 /* JoinFlowModuleAssembly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0797B72A0964BC006F0FD7 /* JoinFlowModuleAssembly.swift */; }; 2E0797BA2A096571006F0FD7 /* JoinFlowCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0797B92A096571006F0FD7 /* JoinFlowCoordinator.swift */; }; 2E0797BC2A0965FD006F0FD7 /* JoinFlowCoordinatorAssembly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0797BB2A0965FD006F0FD7 /* JoinFlowCoordinatorAssembly.swift */; }; 2E0797C42A09678C006F0FD7 /* AuthCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E0797BE2A09678C006F0FD7 /* AuthCoordinator.swift */; }; @@ -978,7 +977,6 @@ 2E48ACA32A55D4EF0059CB5C /* CustomBackSwipe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E48ACA22A55D4EF0059CB5C /* CustomBackSwipe.swift */; }; 2E48D74328CF461400CEE69D /* TertiaryPressedBackgroundButtonStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E48D74228CF461400CEE69D /* TertiaryPressedBackgroundButtonStyle.swift */; }; 2E4D78B22A82907E00813A4F /* KeyPhraseMoreInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E4D78B12A82907E00813A4F /* KeyPhraseMoreInfoView.swift */; }; - 2E4D78B62A82909900813A4F /* KeyPhraseMoreInfoViewModuleAssembly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E4D78B52A82909900813A4F /* KeyPhraseMoreInfoViewModuleAssembly.swift */; }; 2E52DE672A1CDF3D00F16815 /* LineProgressBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E52DE662A1CDF3D00F16815 /* LineProgressBar.swift */; }; 2E52DE692A1CDF5500F16815 /* LineProgressBarConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E52DE682A1CDF5500F16815 /* LineProgressBarConfiguration.swift */; }; 2E52DE6C2A1CE77100F16815 /* SoulViewModuleAssembly.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2E52DE6B2A1CE77100F16815 /* SoulViewModuleAssembly.swift */; }; @@ -2680,7 +2678,6 @@ 2E04201D2BA899C500F36637 /* SelectRelationListData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectRelationListData.swift; sourceTree = ""; }; 2E0797B12A0940F8006F0FD7 /* JoinFlowView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JoinFlowView.swift; sourceTree = ""; }; 2E0797B22A0940F8006F0FD7 /* JoinFlowViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JoinFlowViewModel.swift; sourceTree = ""; }; - 2E0797B72A0964BC006F0FD7 /* JoinFlowModuleAssembly.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JoinFlowModuleAssembly.swift; sourceTree = ""; }; 2E0797B92A096571006F0FD7 /* JoinFlowCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JoinFlowCoordinator.swift; sourceTree = ""; }; 2E0797BB2A0965FD006F0FD7 /* JoinFlowCoordinatorAssembly.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JoinFlowCoordinatorAssembly.swift; sourceTree = ""; }; 2E0797BE2A09678C006F0FD7 /* AuthCoordinator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AuthCoordinator.swift; sourceTree = ""; }; @@ -2768,7 +2765,6 @@ 2E48ACA22A55D4EF0059CB5C /* CustomBackSwipe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CustomBackSwipe.swift; sourceTree = ""; }; 2E48D74228CF461400CEE69D /* TertiaryPressedBackgroundButtonStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TertiaryPressedBackgroundButtonStyle.swift; sourceTree = ""; }; 2E4D78B12A82907E00813A4F /* KeyPhraseMoreInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyPhraseMoreInfoView.swift; sourceTree = ""; }; - 2E4D78B52A82909900813A4F /* KeyPhraseMoreInfoViewModuleAssembly.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyPhraseMoreInfoViewModuleAssembly.swift; sourceTree = ""; }; 2E52DE662A1CDF3D00F16815 /* LineProgressBar.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LineProgressBar.swift; sourceTree = ""; }; 2E52DE682A1CDF5500F16815 /* LineProgressBarConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LineProgressBarConfiguration.swift; sourceTree = ""; }; 2E52DE6B2A1CE77100F16815 /* SoulViewModuleAssembly.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SoulViewModuleAssembly.swift; sourceTree = ""; }; @@ -7163,7 +7159,6 @@ 2EDC2B022A13E48F0065E009 /* KeyPhraseView */, 2E0797B12A0940F8006F0FD7 /* JoinFlowView.swift */, 2E0797B22A0940F8006F0FD7 /* JoinFlowViewModel.swift */, - 2E0797B72A0964BC006F0FD7 /* JoinFlowModuleAssembly.swift */, 2E0797B92A096571006F0FD7 /* JoinFlowCoordinator.swift */, 2E0797BB2A0965FD006F0FD7 /* JoinFlowCoordinatorAssembly.swift */, 2EDC2AFA2A125BD60065E009 /* JoinFlowOutput.swift */, @@ -7383,7 +7378,6 @@ isa = PBXGroup; children = ( 2E4D78B12A82907E00813A4F /* KeyPhraseMoreInfoView.swift */, - 2E4D78B52A82909900813A4F /* KeyPhraseMoreInfoViewModuleAssembly.swift */, ); path = KeyPhraseMoreInfoView; sourceTree = ""; @@ -11374,7 +11368,6 @@ 1220670827314E210051A331 /* RelationsListViewModel.swift in Sources */, 2E2A22F92A9E448B00745D78 /* SetLayoutSettingsViewModel.swift in Sources */, 2A1F4CBB29B88DBE004516F6 /* SentryNonFatalLogger.swift in Sources */, - 2E0797B82A0964BC006F0FD7 /* JoinFlowModuleAssembly.swift in Sources */, 2A785B452AFCDDB30020297E /* EditorCoordinatorView.swift in Sources */, 12C2A5982757A6D600311854 /* StatusRelationDetailsView.swift in Sources */, 125683F627E09380003A8251 /* SelectionIndicatorViewModelBuilder.swift in Sources */, @@ -12071,7 +12064,6 @@ 2A78A95B2B9F36D300396B82 /* WorkspacesStorageMock.swift in Sources */, 2ED9F43D2A8E90A800BE0A6B /* SetViewSettingsCoordinatorView.swift in Sources */, 2AE7ECA3298816F30079F12B /* WidgetObjectListInternalViewModelProtocol.swift in Sources */, - 2E4D78B62A82909900813A4F /* KeyPhraseMoreInfoViewModuleAssembly.swift in Sources */, 863DB2942AB320D800CB6914 /* HeaderBuilder.swift in Sources */, 12136D2C2796C5EC00262FE7 /* RelationOptionsPopupLayout.swift in Sources */, 2ACDC9CC2B5688310063BFBD /* ShareOptionsInteractor.swift in Sources */, diff --git a/Anytype/Sources/PresentationLayer/Assemblies/ModulesDI.swift b/Anytype/Sources/PresentationLayer/Assemblies/ModulesDI.swift index 59b2981655..a81657239c 100644 --- a/Anytype/Sources/PresentationLayer/Assemblies/ModulesDI.swift +++ b/Anytype/Sources/PresentationLayer/Assemblies/ModulesDI.swift @@ -78,18 +78,10 @@ final class ModulesDI: ModulesDIProtocol { return DashboardAlertsAssembly(uiHelpersDI: uiHelpersDI) } - func joinFlow() -> JoinFlowModuleAssemblyProtocol { - return JoinFlowModuleAssembly(serviceLocator: serviceLocator) - } - func authKey() -> KeyPhraseViewModuleAssemblyProtocol { return KeyPhraseViewModuleAssembly(uiHelpersDI: uiHelpersDI) } - func authKeyMoreInfo() -> KeyPhraseMoreInfoViewModuleAssembly { - return KeyPhraseMoreInfoViewModuleAssembly() - } - func authSoul() -> SoulViewModuleAssemblyProtocol { return SoulViewModuleAssembly(serviceLocator: serviceLocator) } diff --git a/Anytype/Sources/PresentationLayer/Assemblies/ModulesDIProtocol.swift b/Anytype/Sources/PresentationLayer/Assemblies/ModulesDIProtocol.swift index ddf113fc73..544716878f 100644 --- a/Anytype/Sources/PresentationLayer/Assemblies/ModulesDIProtocol.swift +++ b/Anytype/Sources/PresentationLayer/Assemblies/ModulesDIProtocol.swift @@ -16,9 +16,7 @@ protocol ModulesDIProtocol: AnyObject { func widgetObjectList() -> WidgetObjectListModuleAssemblyProtocol func settingsAppearance() -> SettingsAppearanceModuleAssemblyProtocol func dashboardAlerts() -> DashboardAlertsAssemblyProtocol - func joinFlow() -> JoinFlowModuleAssemblyProtocol func authKey() -> KeyPhraseViewModuleAssemblyProtocol - func authKeyMoreInfo() -> KeyPhraseMoreInfoViewModuleAssembly func authSoul() -> SoulViewModuleAssemblyProtocol func authCreatingSoul() -> CreatingSoulViewModuleAssemblyProtocol func setObjectCreationSettings() -> SetObjectCreationSettingsModuleAssemblyProtocol diff --git a/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowCoordinator.swift b/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowCoordinator.swift index 12f85e36ef..eaad7f2056 100644 --- a/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowCoordinator.swift +++ b/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowCoordinator.swift @@ -10,27 +10,21 @@ final class JoinFlowCoordinator: JoinFlowCoordinatorProtocol, JoinFlowOutput { // MARK: - DI - private let joinFlowModuleAssembly: JoinFlowModuleAssemblyProtocol private let keyViewModuleAssembly: KeyPhraseViewModuleAssemblyProtocol - private let keyPhraseMoreInfoViewModuleAssembly: KeyPhraseMoreInfoViewModuleAssemblyProtocol private let soulViewModuleAssembly: SoulViewModuleAssemblyProtocol init( - joinFlowModuleAssembly: JoinFlowModuleAssemblyProtocol, keyViewModuleAssembly: KeyPhraseViewModuleAssemblyProtocol, - keyPhraseMoreInfoViewModuleAssembly: KeyPhraseMoreInfoViewModuleAssemblyProtocol, soulViewModuleAssembly: SoulViewModuleAssemblyProtocol ) { - self.joinFlowModuleAssembly = joinFlowModuleAssembly self.keyViewModuleAssembly = keyViewModuleAssembly - self.keyPhraseMoreInfoViewModuleAssembly = keyPhraseMoreInfoViewModuleAssembly self.soulViewModuleAssembly = soulViewModuleAssembly } // MARK: - JoinFlowCoordinatorProtocol func startFlow() -> AnyView { - joinFlowModuleAssembly.make(output: self) + JoinFlowView(output: self).eraseToAnyView() } // MARK: - JoinFlowOutput @@ -45,6 +39,6 @@ final class JoinFlowCoordinator: JoinFlowCoordinatorProtocol, JoinFlowOutput { } func keyPhraseMoreInfo() -> AnyView { - keyPhraseMoreInfoViewModuleAssembly.make() + KeyPhraseMoreInfoView().eraseToAnyView() } } diff --git a/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowCoordinatorAssembly.swift b/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowCoordinatorAssembly.swift index 868781daa4..11c9e750c8 100644 --- a/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowCoordinatorAssembly.swift +++ b/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowCoordinatorAssembly.swift @@ -20,9 +20,7 @@ final class JoinFlowCoordinatorAssembly: JoinFlowCoordinatorAssemblyProtocol { @MainActor func make() -> JoinFlowCoordinatorProtocol { return JoinFlowCoordinator( - joinFlowModuleAssembly: modulesDI.joinFlow(), keyViewModuleAssembly: modulesDI.authKey(), - keyPhraseMoreInfoViewModuleAssembly: modulesDI.authKeyMoreInfo(), soulViewModuleAssembly: modulesDI.authSoul() ) } diff --git a/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowModuleAssembly.swift b/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowModuleAssembly.swift deleted file mode 100644 index abe421f176..0000000000 --- a/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowModuleAssembly.swift +++ /dev/null @@ -1,29 +0,0 @@ -import SwiftUI - -protocol JoinFlowModuleAssemblyProtocol { - @MainActor - func make(output: JoinFlowOutput?) -> AnyView -} - -final class JoinFlowModuleAssembly: JoinFlowModuleAssemblyProtocol { - - private let serviceLocator: ServiceLocator - - init(serviceLocator: ServiceLocator) { - self.serviceLocator = serviceLocator - } - - // MARK: - JoinModuleAssemblyProtocol - - @MainActor - func make(output: JoinFlowOutput?) -> AnyView { - return JoinFlowView( - model: JoinFlowViewModel( - output: output, - applicationStateService: self.serviceLocator.applicationStateService(), - accountManager: self.serviceLocator.accountManager() - ) - ) - .eraseToAnyView() - } -} diff --git a/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowView.swift b/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowView.swift index fb97471329..9beae65819 100644 --- a/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowView.swift +++ b/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowView.swift @@ -2,9 +2,13 @@ import SwiftUI struct JoinFlowView: View { - @StateObject var model: JoinFlowViewModel + @StateObject private var model: JoinFlowViewModel @Environment(\.presentationMode) @Binding private var presentationMode + init(output: JoinFlowOutput?) { + _model = StateObject(wrappedValue: JoinFlowViewModel(output: output)) + } + var body: some View { GeometryReader { geo in content(height: geo.size.height) @@ -80,13 +84,7 @@ struct JoinFlowView: View { struct JoinFlowView_Previews : PreviewProvider { static var previews: some View { - JoinFlowView( - model: JoinFlowViewModel( - output: nil, - applicationStateService: DI.preview.serviceLocator.applicationStateService(), - accountManager: DI.preview.serviceLocator.accountManager() - ) - ) + JoinFlowView(output: nil) } } diff --git a/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowViewModel.swift b/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowViewModel.swift index 99acfa2dd5..408dae51d4 100644 --- a/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowViewModel.swift +++ b/Anytype/Sources/PresentationLayer/Auth/JoinFlow/JoinFlowViewModel.swift @@ -21,17 +21,13 @@ final class JoinFlowViewModel: ObservableObject, JoinFlowStepOutput { private let state = JoinFlowState() private weak var output: JoinFlowOutput? - private let applicationStateService: ApplicationStateServiceProtocol - private let accountManager: AccountManagerProtocol + @Injected(\.applicationStateService) + private var applicationStateService: ApplicationStateServiceProtocol + @Injected(\.accountManager) + private var accountManager: AccountManagerProtocol - init( - output: JoinFlowOutput?, - applicationStateService: ApplicationStateServiceProtocol, - accountManager: AccountManagerProtocol - ) { + init(output: JoinFlowOutput?) { self.output = output - self.applicationStateService = applicationStateService - self.accountManager = accountManager } func content() -> AnyView? { diff --git a/Anytype/Sources/PresentationLayer/Auth/JoinFlow/KeyPhraseMoreInfoView/KeyPhraseMoreInfoViewModuleAssembly.swift b/Anytype/Sources/PresentationLayer/Auth/JoinFlow/KeyPhraseMoreInfoView/KeyPhraseMoreInfoViewModuleAssembly.swift deleted file mode 100644 index b2098b59bd..0000000000 --- a/Anytype/Sources/PresentationLayer/Auth/JoinFlow/KeyPhraseMoreInfoView/KeyPhraseMoreInfoViewModuleAssembly.swift +++ /dev/null @@ -1,16 +0,0 @@ -import SwiftUI - -protocol KeyPhraseMoreInfoViewModuleAssemblyProtocol { - @MainActor - func make() -> AnyView -} - -final class KeyPhraseMoreInfoViewModuleAssembly: KeyPhraseMoreInfoViewModuleAssemblyProtocol { - - // MARK: - KeyPhraseMoreInfoViewModuleAssemblyProtocol - - @MainActor - func make() -> AnyView { - return KeyPhraseMoreInfoView().eraseToAnyView() - } -}