From 2a055b1c8fb3e2381f7041de417d23713619893b Mon Sep 17 00:00:00 2001 From: Lucian Cerbu Date: Wed, 28 Aug 2024 10:09:25 +0300 Subject: [PATCH] Removed old onboarding code Updated pods for Firebase and Google Maps Some refactoring --- Permanent.xcodeproj/project.pbxproj | 152 +---- Permanent/App/AppDelegate.swift | 14 +- Permanent/Common/Constants/Constants.swift | 1 - .../Common/Constants/StoryboardName.swift | 3 - ...OnboardingAcceptArchiveTableViewCell.swift | 68 -- ...ntOnboardingAcceptArchiveTableViewCell.xib | 111 --- ...AccountOnboardingHeaderTableViewCell.swift | 27 - .../AccountOnboardingHeaderTableViewCell.xib | 60 -- ...rdingMakeDefaultArchiveTableViewCell.swift | 71 -- ...oardingMakeDefaultArchiveTableViewCell.xib | 109 --- .../AccountOnboardingPageOne.swift | 21 - ...OnboardingPageOneWithPendingArchives.swift | 105 --- .../AccountOnboardingPageThree.swift | 91 --- .../AccountOnboardingPageTwo.swift | 105 --- ...OnboardingPageTwoWithPendingArchives.swift | 91 --- .../AccountOnboardingViewController.swift | 219 ------ .../ViewController/RootViewController.swift | 3 +- .../Screens/Container/OnboardingView.swift | 2 +- .../OnboadingViewController.swift | 62 -- .../ViewController/OnboardingPageOne.swift | 29 - .../ViewController/OnboardingPageThree.swift | 32 - .../ViewController/OnboardingPageTwo.swift | 31 - .../ViewController/PageViewController.swift | 91 --- .../ViewModel/OnboardingViewModel.swift | 18 - .../Storyboards/AccountOnboarding.storyboard | 637 ------------------ .../Storyboards/Onboarding.storyboard | 334 --------- Podfile | 14 +- Podfile.lock | 297 ++++---- 28 files changed, 212 insertions(+), 2586 deletions(-) delete mode 100644 Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingAcceptArchiveTableViewCell.swift delete mode 100644 Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingAcceptArchiveTableViewCell.xib delete mode 100644 Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingHeaderTableViewCell.swift delete mode 100644 Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingHeaderTableViewCell.xib delete mode 100644 Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingMakeDefaultArchiveTableViewCell.swift delete mode 100644 Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingMakeDefaultArchiveTableViewCell.xib delete mode 100644 Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageOne.swift delete mode 100644 Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageOneWithPendingArchives.swift delete mode 100644 Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageThree.swift delete mode 100644 Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageTwo.swift delete mode 100644 Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageTwoWithPendingArchives.swift delete mode 100644 Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingViewController.swift delete mode 100644 Permanent/Modules/Onboarding/ViewController/OnboadingViewController.swift delete mode 100644 Permanent/Modules/Onboarding/ViewController/OnboardingPageOne.swift delete mode 100644 Permanent/Modules/Onboarding/ViewController/OnboardingPageThree.swift delete mode 100644 Permanent/Modules/Onboarding/ViewController/OnboardingPageTwo.swift delete mode 100644 Permanent/Modules/Onboarding/ViewController/PageViewController.swift delete mode 100644 Permanent/Modules/Onboarding/ViewModel/OnboardingViewModel.swift delete mode 100644 Permanent/Resources/Storyboards/AccountOnboarding.storyboard delete mode 100644 Permanent/Resources/Storyboards/Onboarding.storyboard diff --git a/Permanent.xcodeproj/project.pbxproj b/Permanent.xcodeproj/project.pbxproj index 3c80c7b2..a5ad3e64 100644 --- a/Permanent.xcodeproj/project.pbxproj +++ b/Permanent.xcodeproj/project.pbxproj @@ -100,8 +100,6 @@ 5E2114932B026CB300944386 /* ViewExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E2114912B026CB300944386 /* ViewExtension.swift */; }; 5E218BF925A86C9E00B56625 /* PasswordElementView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E218BF725A86C9E00B56625 /* PasswordElementView.swift */; }; 5E218BFA25A86C9E00B56625 /* PasswordElementView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5E218BF825A86C9E00B56625 /* PasswordElementView.xib */; }; - 5E278898282D423F007EE374 /* AccountOnboardingPageOneWithPendingArchives.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E278897282D423E007EE374 /* AccountOnboardingPageOneWithPendingArchives.swift */; }; - 5E27889A282D43CC007EE374 /* AccountOnboardingPageTwoWithPendingArchives.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E278899282D43CC007EE374 /* AccountOnboardingPageTwoWithPendingArchives.swift */; }; 5E29C1D525AEF22D00C2A230 /* SecurityViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E29C1D425AEF22D00C2A230 /* SecurityViewModel.swift */; }; 5E2C5D1B24D98EE100E2B95F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E2C5D1A24D98EE100E2B95F /* AppDelegate.swift */; }; 5E2C5D2424D98EE300E2B95F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5E2C5D2324D98EE300E2B95F /* Assets.xcassets */; }; @@ -130,7 +128,6 @@ 5E3A6EE9275F610B00AD6DCC /* FieldNameUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E3A6EE8275F610B00AD6DCC /* FieldNameUI.swift */; }; 5E3ACA512C21EBB00031A2A0 /* OnboardingCongratulationsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E3ACA502C21EBB00031A2A0 /* OnboardingCongratulationsView.swift */; }; 5E3ACA532C22EF720031A2A0 /* ArchiveDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E3ACA522C22EF720031A2A0 /* ArchiveDetailsView.swift */; }; - 5E3CD44E24EE7F390081B978 /* Onboarding.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5E3CD44D24EE7F390081B978 /* Onboarding.storyboard */; }; 5E3E121C2A41902C00682DE5 /* ArchivesRemoteDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E3E12182A41902C00682DE5 /* ArchivesRemoteDataSource.swift */; }; 5E3E121D2A41902C00682DE5 /* AccountRemoteDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E3E12192A41902C00682DE5 /* AccountRemoteDataSource.swift */; }; 5E3E121E2A41902C00682DE5 /* AuthRemoteDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E3E121A2A41902C00682DE5 /* AuthRemoteDataSource.swift */; }; @@ -182,12 +179,6 @@ 5E473A052A41883600A20D85 /* TagEndpoint.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5ED73B242613C30E002F9861 /* TagEndpoint.swift */; }; 5E473A062A41886A00A20D85 /* ArrayExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCC1E3242549A43F00B71866 /* ArrayExtension.swift */; }; 5E473A072A41887600A20D85 /* PHAssetExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC915F4F254718FA00C86012 /* PHAssetExtension.swift */; }; - 5E4D0AEC2832695C00C6439C /* AccountOnboardingAcceptArchiveTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E4D0AEA2832695C00C6439C /* AccountOnboardingAcceptArchiveTableViewCell.swift */; }; - 5E4D0AED2832695C00C6439C /* AccountOnboardingAcceptArchiveTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5E4D0AEB2832695C00C6439C /* AccountOnboardingAcceptArchiveTableViewCell.xib */; }; - 5E4D0AF02832697A00C6439C /* AccountOnboardingMakeDefaultArchiveTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E4D0AEE2832697A00C6439C /* AccountOnboardingMakeDefaultArchiveTableViewCell.swift */; }; - 5E4D0AF12832697A00C6439C /* AccountOnboardingMakeDefaultArchiveTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5E4D0AEF2832697A00C6439C /* AccountOnboardingMakeDefaultArchiveTableViewCell.xib */; }; - 5E4D0AF428328AC500C6439C /* AccountOnboardingHeaderTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E4D0AF228328AC500C6439C /* AccountOnboardingHeaderTableViewCell.swift */; }; - 5E4D0AF528328AC500C6439C /* AccountOnboardingHeaderTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5E4D0AF328328AC500C6439C /* AccountOnboardingHeaderTableViewCell.xib */; }; 5E4E4CCF29826F4000FEF292 /* ArchiveSettingsTagsHeaderCollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E4E4CCD29826F4000FEF292 /* ArchiveSettingsTagsHeaderCollectionView.swift */; }; 5E4E4CD029826F4000FEF292 /* ArchiveSettingsTagsHeaderCollectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5E4E4CCE29826F4000FEF292 /* ArchiveSettingsTagsHeaderCollectionView.xib */; }; 5E548E842B29F9D600DD2C59 /* AddStorageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E548E832B29F9D600DD2C59 /* AddStorageView.swift */; }; @@ -214,7 +205,6 @@ 5E5EF853273B1E57004F7EBC /* Profile.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5E5EF852273B1E56004F7EBC /* Profile.storyboard */; }; 5E5EF856273B23C3004F7EBC /* PublicProfilePageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E5EF855273B23C3004F7EBC /* PublicProfilePageViewController.swift */; }; 5E5EF858273B2416004F7EBC /* PublicProfilePageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E5EF857273B2416004F7EBC /* PublicProfilePageViewModel.swift */; }; - 5E60451D251206F9002E47CB /* OnboardingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E60451C251206F9002E47CB /* OnboardingViewModel.swift */; }; 5E60451E25120826002E47CB /* SignUpViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06B0EB2424E67B6A003D90C6 /* SignUpViewController.swift */; }; 5E604E552B4EADD8008C5034 /* BottomInfoMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E604E542B4EADD8008C5034 /* BottomInfoMessageView.swift */; }; 5E611E33261C681700B17491 /* TagDetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5E611E32261C681700B17491 /* TagDetailsViewController.swift */; }; @@ -447,11 +437,6 @@ 5EE0689B2B9FAA5A004055A4 /* RoundButtonRightImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE0689A2B9FAA5A004055A4 /* RoundButtonRightImageView.swift */; }; 5EE0689D2BA05BA5004055A4 /* SmallRoundButtonImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE0689C2BA05BA5004055A4 /* SmallRoundButtonImageView.swift */; }; 5EE0ADB325F8216D008ABDC6 /* TagVO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE0ADB225F8216D008ABDC6 /* TagVO.swift */; }; - 5EE17FF624EE94DA00496AF7 /* PageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE17FF524EE94DA00496AF7 /* PageViewController.swift */; }; - 5EE17FFE24EE9AC500496AF7 /* OnboadingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE17FFD24EE9AC500496AF7 /* OnboadingViewController.swift */; }; - 5EE1800324EECBD500496AF7 /* OnboardingPageOne.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE1800224EECBD500496AF7 /* OnboardingPageOne.swift */; }; - 5EE1800524EF2A6F00496AF7 /* OnboardingPageTwo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE1800424EF2A6F00496AF7 /* OnboardingPageTwo.swift */; }; - 5EE1800724EF2A8100496AF7 /* OnboardingPageThree.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE1800624EF2A8100496AF7 /* OnboardingPageThree.swift */; }; 5EE291B326F37AA200159F4D /* ArchiveScreenPendingArchiveDetailsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5EE291B126F37AA200159F4D /* ArchiveScreenPendingArchiveDetailsTableViewCell.swift */; }; 5EE291B426F37AA200159F4D /* ArchiveScreenPendingArchiveDetailsTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5EE291B226F37AA200159F4D /* ArchiveScreenPendingArchiveDetailsTableViewCell.xib */; }; 5EE3E10E25A72DB8009BACA8 /* Settings.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5EE3E10D25A72DB8009BACA8 /* Settings.storyboard */; }; @@ -895,11 +880,6 @@ F5E793D7294B5AB000CFCCA5 /* AuthTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5E793D6294B5AB000CFCCA5 /* AuthTextField.swift */; }; F5EA7C81286DB56700001110 /* PreferencesManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCB0725825221494003E2F66 /* PreferencesManager.swift */; }; F5EA7C82286DC02C00001110 /* FileHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCC5501E255AB31800CA1574 /* FileHelper.swift */; }; - F5EAD0632822BBC700EC2584 /* AccountOnboardingPageOne.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5EAD0622822BBC700EC2584 /* AccountOnboardingPageOne.swift */; }; - F5EAD0652822BBDC00EC2584 /* AccountOnboardingPageTwo.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5EAD0642822BBDC00EC2584 /* AccountOnboardingPageTwo.swift */; }; - F5EAD0672822BBE900EC2584 /* AccountOnboardingPageThree.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5EAD0662822BBE900EC2584 /* AccountOnboardingPageThree.swift */; }; - F5EEB4CF281C033800D584AD /* AccountOnboarding.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F5EEB4CE281C033800D584AD /* AccountOnboarding.storyboard */; }; - F5EEB4D42821537600D584AD /* AccountOnboardingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5EEB4D32821537500D584AD /* AccountOnboardingViewController.swift */; }; F5EEB4D62821556C00D584AD /* AccountOnboardingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5EEB4D52821556C00D584AD /* AccountOnboardingViewModel.swift */; }; /* End PBXBuildFile section */ @@ -1032,8 +1012,6 @@ 5E2114912B026CB300944386 /* ViewExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewExtension.swift; sourceTree = ""; }; 5E218BF725A86C9E00B56625 /* PasswordElementView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasswordElementView.swift; sourceTree = ""; }; 5E218BF825A86C9E00B56625 /* PasswordElementView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PasswordElementView.xib; sourceTree = ""; }; - 5E278897282D423E007EE374 /* AccountOnboardingPageOneWithPendingArchives.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountOnboardingPageOneWithPendingArchives.swift; sourceTree = ""; }; - 5E278899282D43CC007EE374 /* AccountOnboardingPageTwoWithPendingArchives.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountOnboardingPageTwoWithPendingArchives.swift; sourceTree = ""; }; 5E29C1D425AEF22D00C2A230 /* SecurityViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecurityViewModel.swift; sourceTree = ""; }; 5E2C5D1724D98EE100E2B95F /* Permanent.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Permanent.app; sourceTree = BUILT_PRODUCTS_DIR; }; 5E2C5D1A24D98EE100E2B95F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; @@ -1061,7 +1039,6 @@ 5E3ACA502C21EBB00031A2A0 /* OnboardingCongratulationsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingCongratulationsView.swift; sourceTree = ""; }; 5E3ACA522C22EF720031A2A0 /* ArchiveDetailsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArchiveDetailsView.swift; sourceTree = ""; }; 5E3B81A1286C5E3E003E8764 /* ShareExtensionDEV-Debug.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "ShareExtensionDEV-Debug.entitlements"; sourceTree = ""; }; - 5E3CD44D24EE7F390081B978 /* Onboarding.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Onboarding.storyboard; sourceTree = ""; }; 5E3E12182A41902C00682DE5 /* ArchivesRemoteDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ArchivesRemoteDataSource.swift; path = Permanent/Services/Repositories/Datasources/Remote/ArchivesRemoteDataSource.swift; sourceTree = SOURCE_ROOT; }; 5E3E12192A41902C00682DE5 /* AccountRemoteDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AccountRemoteDataSource.swift; path = Permanent/Services/Repositories/Datasources/Remote/AccountRemoteDataSource.swift; sourceTree = SOURCE_ROOT; }; 5E3E121A2A41902C00682DE5 /* AuthRemoteDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AuthRemoteDataSource.swift; path = Permanent/Services/Repositories/Datasources/Remote/AuthRemoteDataSource.swift; sourceTree = SOURCE_ROOT; }; @@ -1076,12 +1053,6 @@ 5E46217925C1A2CA007642BE /* InputTextWithLabelElementViewViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = InputTextWithLabelElementViewViewController.xib; sourceTree = ""; }; 5E46386C276CAAF70035D8CE /* PublicProfilePersonalInfoViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PublicProfilePersonalInfoViewController.swift; sourceTree = ""; }; 5E4739B42A40FDFA00A20D85 /* ShareManagementRepository.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ShareManagementRepository.swift; sourceTree = ""; }; - 5E4D0AEA2832695C00C6439C /* AccountOnboardingAcceptArchiveTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountOnboardingAcceptArchiveTableViewCell.swift; sourceTree = ""; }; - 5E4D0AEB2832695C00C6439C /* AccountOnboardingAcceptArchiveTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccountOnboardingAcceptArchiveTableViewCell.xib; sourceTree = ""; }; - 5E4D0AEE2832697A00C6439C /* AccountOnboardingMakeDefaultArchiveTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountOnboardingMakeDefaultArchiveTableViewCell.swift; sourceTree = ""; }; - 5E4D0AEF2832697A00C6439C /* AccountOnboardingMakeDefaultArchiveTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccountOnboardingMakeDefaultArchiveTableViewCell.xib; sourceTree = ""; }; - 5E4D0AF228328AC500C6439C /* AccountOnboardingHeaderTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountOnboardingHeaderTableViewCell.swift; sourceTree = ""; }; - 5E4D0AF328328AC500C6439C /* AccountOnboardingHeaderTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccountOnboardingHeaderTableViewCell.xib; sourceTree = ""; }; 5E4E4CCD29826F4000FEF292 /* ArchiveSettingsTagsHeaderCollectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArchiveSettingsTagsHeaderCollectionView.swift; sourceTree = ""; }; 5E4E4CCE29826F4000FEF292 /* ArchiveSettingsTagsHeaderCollectionView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ArchiveSettingsTagsHeaderCollectionView.xib; sourceTree = ""; }; 5E548E832B29F9D600DD2C59 /* AddStorageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddStorageView.swift; sourceTree = ""; }; @@ -1106,7 +1077,6 @@ 5E5EF852273B1E56004F7EBC /* Profile.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Profile.storyboard; sourceTree = ""; }; 5E5EF855273B23C3004F7EBC /* PublicProfilePageViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PublicProfilePageViewController.swift; sourceTree = ""; }; 5E5EF857273B2416004F7EBC /* PublicProfilePageViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PublicProfilePageViewModel.swift; sourceTree = ""; }; - 5E60451C251206F9002E47CB /* OnboardingViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnboardingViewModel.swift; sourceTree = ""; }; 5E604E542B4EADD8008C5034 /* BottomInfoMessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BottomInfoMessageView.swift; sourceTree = ""; }; 5E611E32261C681700B17491 /* TagDetailsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagDetailsViewController.swift; sourceTree = ""; }; 5E624DBE29475A34002D6ECB /* FusionAuthRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FusionAuthRepository.swift; sourceTree = ""; }; @@ -1293,11 +1263,6 @@ 5EE0689A2B9FAA5A004055A4 /* RoundButtonRightImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoundButtonRightImageView.swift; sourceTree = ""; }; 5EE0689C2BA05BA5004055A4 /* SmallRoundButtonImageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmallRoundButtonImageView.swift; sourceTree = ""; }; 5EE0ADB225F8216D008ABDC6 /* TagVO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TagVO.swift; sourceTree = ""; }; - 5EE17FF524EE94DA00496AF7 /* PageViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PageViewController.swift; sourceTree = ""; }; - 5EE17FFD24EE9AC500496AF7 /* OnboadingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboadingViewController.swift; sourceTree = ""; }; - 5EE1800224EECBD500496AF7 /* OnboardingPageOne.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingPageOne.swift; sourceTree = ""; }; - 5EE1800424EF2A6F00496AF7 /* OnboardingPageTwo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingPageTwo.swift; sourceTree = ""; }; - 5EE1800624EF2A8100496AF7 /* OnboardingPageThree.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingPageThree.swift; sourceTree = ""; }; 5EE291B126F37AA200159F4D /* ArchiveScreenPendingArchiveDetailsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArchiveScreenPendingArchiveDetailsTableViewCell.swift; sourceTree = ""; }; 5EE291B226F37AA200159F4D /* ArchiveScreenPendingArchiveDetailsTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ArchiveScreenPendingArchiveDetailsTableViewCell.xib; sourceTree = ""; }; 5EE3E10D25A72DB8009BACA8 /* Settings.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Settings.storyboard; sourceTree = ""; }; @@ -1669,11 +1634,6 @@ F5E4BA412670D16F0027D97A /* BaseOperation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseOperation.swift; sourceTree = ""; }; F5E4BA432670D1940027D97A /* UploadOperation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UploadOperation.swift; sourceTree = ""; }; F5E793D6294B5AB000CFCCA5 /* AuthTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AuthTextField.swift; sourceTree = ""; }; - F5EAD0622822BBC700EC2584 /* AccountOnboardingPageOne.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountOnboardingPageOne.swift; sourceTree = ""; }; - F5EAD0642822BBDC00EC2584 /* AccountOnboardingPageTwo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountOnboardingPageTwo.swift; sourceTree = ""; }; - F5EAD0662822BBE900EC2584 /* AccountOnboardingPageThree.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountOnboardingPageThree.swift; sourceTree = ""; }; - F5EEB4CE281C033800D584AD /* AccountOnboarding.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = AccountOnboarding.storyboard; sourceTree = ""; }; - F5EEB4D32821537500D584AD /* AccountOnboardingViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountOnboardingViewController.swift; sourceTree = ""; }; F5EEB4D52821556C00D584AD /* AccountOnboardingViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountOnboardingViewModel.swift; sourceTree = ""; }; FC94838FAF288C7DF233D661 /* Pods-Permanent.dev-debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Permanent.dev-debug.xcconfig"; path = "Target Support Files/Pods-Permanent/Pods-Permanent.dev-debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -2395,19 +2355,6 @@ path = ViewModel; sourceTree = ""; }; - 5E3E12412A41EDB300682DE5 /* Cells */ = { - isa = PBXGroup; - children = ( - 5E4D0AEA2832695C00C6439C /* AccountOnboardingAcceptArchiveTableViewCell.swift */, - 5E4D0AEB2832695C00C6439C /* AccountOnboardingAcceptArchiveTableViewCell.xib */, - 5E4D0AF228328AC500C6439C /* AccountOnboardingHeaderTableViewCell.swift */, - 5E4D0AF328328AC500C6439C /* AccountOnboardingHeaderTableViewCell.xib */, - 5E4D0AEE2832697A00C6439C /* AccountOnboardingMakeDefaultArchiveTableViewCell.swift */, - 5E4D0AEF2832697A00C6439C /* AccountOnboardingMakeDefaultArchiveTableViewCell.xib */, - ); - path = Cells; - sourceTree = ""; - }; 5E3E12422A41EE2600682DE5 /* Cells */ = { isa = PBXGroup; children = ( @@ -2444,14 +2391,6 @@ path = Cells; sourceTree = ""; }; - 5E3E12472A41F48600682DE5 /* ViewModel */ = { - isa = PBXGroup; - children = ( - 5E60451C251206F9002E47CB /* OnboardingViewModel.swift */, - ); - path = ViewModel; - sourceTree = ""; - }; 5E3E12482A41F50A00682DE5 /* ViewModel */ = { isa = PBXGroup; children = ( @@ -2614,8 +2553,6 @@ 5E4739AC2A40F9F100A20D85 /* AccountOnboarding */ = { isa = PBXGroup; children = ( - 5E3E12412A41EDB300682DE5 /* Cells */, - F5EEB4D22821537500D584AD /* ViewController */, 5E3E12402A41EDAA00682DE5 /* ViewModel */, ); path = AccountOnboarding; @@ -2626,8 +2563,6 @@ children = ( 5E1582A92C5BA09500103EA8 /* Screens */, 5E0B1BD22B961CCE00B10BB5 /* Views */, - BC4526EB251CD61500E24A51 /* ViewController */, - 5E3E12472A41F48600682DE5 /* ViewModel */, ); path = Onboarding; sourceTree = ""; @@ -3401,8 +3336,6 @@ isa = PBXGroup; children = ( 5E2C5D2524D98EE300E2B95F /* Launch.storyboard */, - 5E3CD44D24EE7F390081B978 /* Onboarding.storyboard */, - F5EEB4CE281C033800D584AD /* AccountOnboarding.storyboard */, BC6D3B3D251363A900390927 /* Authentication.storyboard */, BC4526F0251CD6B600E24A51 /* Main.storyboard */, BCC1CCE82578F8DA0069E337 /* Share.storyboard */, @@ -3583,18 +3516,6 @@ path = Helpers; sourceTree = ""; }; - BC4526EB251CD61500E24A51 /* ViewController */ = { - isa = PBXGroup; - children = ( - 5EE17FFD24EE9AC500496AF7 /* OnboadingViewController.swift */, - 5EE1800224EECBD500496AF7 /* OnboardingPageOne.swift */, - 5EE1800424EF2A6F00496AF7 /* OnboardingPageTwo.swift */, - 5EE1800624EF2A8100496AF7 /* OnboardingPageThree.swift */, - 5EE17FF524EE94DA00496AF7 /* PageViewController.swift */, - ); - path = ViewController; - sourceTree = ""; - }; BC55970225A3461A00BF55DA /* DropdownView */ = { isa = PBXGroup; children = ( @@ -4020,19 +3941,6 @@ path = Upload; sourceTree = ""; }; - F5EEB4D22821537500D584AD /* ViewController */ = { - isa = PBXGroup; - children = ( - F5EAD0622822BBC700EC2584 /* AccountOnboardingPageOne.swift */, - 5E278897282D423E007EE374 /* AccountOnboardingPageOneWithPendingArchives.swift */, - F5EAD0662822BBE900EC2584 /* AccountOnboardingPageThree.swift */, - F5EAD0642822BBDC00EC2584 /* AccountOnboardingPageTwo.swift */, - 5E278899282D43CC007EE374 /* AccountOnboardingPageTwoWithPendingArchives.swift */, - F5EEB4D32821537500D584AD /* AccountOnboardingViewController.swift */, - ); - path = ViewController; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -4197,7 +4105,6 @@ F54257A028AE6F2300D79AA1 /* FileCollectionViewGridCell.xib in Resources */, 92DCF7832A1507E5004C36CB /* LegacyAccountStatusCell.xib in Resources */, BC6D3B3E251363A900390927 /* Authentication.storyboard in Resources */, - 5E4D0AED2832695C00C6439C /* AccountOnboardingAcceptArchiveTableViewCell.xib in Resources */, 5E202E072981FD660063DDED /* ArchiveSettingsTagCollectionViewCell.xib in Resources */, 5EADF8092625BCCE00D14E9C /* TagsNamesCollectionViewCell.xib in Resources */, F5C37D4928AD62060062D9EB /* FileCollectionViewCell.xib in Resources */, @@ -4214,7 +4121,6 @@ 5ED581CC25EFC3A100A5A79E /* FileDetailsBottomCollectionViewCell.xib in Resources */, 5E31B630292FA9BC00934408 /* ShareManagementAccessRolesCollectionViewCell.xib in Resources */, 5ED0856C24E4256B00CDB4D3 /* OpenSans-SemiBold.ttf in Resources */, - 5E3CD44E24EE7F390081B978 /* Onboarding.storyboard in Resources */, 5E31B634292FA9EA00934408 /* ShareManagementAccessRolesHeaderCollectionReusableView.xib in Resources */, 5ECF1DB72B7520E20086EF21 /* Usual-ExtraBoldItalic.ttf in Resources */, 5EE291B426F37AA200159F4D /* ArchiveScreenPendingArchiveDetailsTableViewCell.xib in Resources */, @@ -4259,14 +4165,12 @@ 5E048FD8292308B10023C929 /* ShareMangementAdditionalOptionCollectionViewCell.xib in Resources */, 927AE0C92A262EA100BDF26A /* BannerView.xib in Resources */, 5E1C546229B8CA0C00A04B99 /* FileCollectionViewHeaderCell.xib in Resources */, - 5E4D0AF12832697A00C6439C /* AccountOnboardingMakeDefaultArchiveTableViewCell.xib in Resources */, BC0D99C6256DB18500D29041 /* DrawerTableViewCell.xib in Resources */, 5E46217B25C1A2CA007642BE /* InputTextWithLabelElementViewViewController.xib in Resources */, 5ECF1DC32B7520E20086EF21 /* Usual-MediumItalic.ttf in Resources */, 5EBA2B8426009D92005C7B12 /* FileDetailsMapViewCellCollectionViewCell.xib in Resources */, 5E7AE8B0291D0A8D00F2A41D /* ShareManagementLinkNotGeneratedCollectionViewCell.xib in Resources */, 5E2C5D2424D98EE300E2B95F /* Assets.xcassets in Resources */, - 5E4D0AF528328AC500C6439C /* AccountOnboardingHeaderTableViewCell.xib in Resources */, 92DCF7852A150976004C36CB /* LegacyArchiveCompletedCell.xib in Resources */, F52D2B85292D44D60008D047 /* ShareManagementSharedWithCollectionViewCell.xib in Resources */, 5E048FD42923088C0023C929 /* ShareManagementExpirationDateCollectionViewCell.xib in Resources */, @@ -4286,7 +4190,6 @@ 5E62F7BB27F5E5910046F6C8 /* PublicGalleryHeaderCollectionViewCell.xib in Resources */, 5ED581C725EFC38D00A5A79E /* FileDetailsMenuCollectionViewCell.xib in Resources */, 5E56FDC4274424BD00BC3BE0 /* ProfilePageAboutCollectionViewCell.xib in Resources */, - F5EEB4CF281C033800D584AD /* AccountOnboarding.storyboard in Resources */, 5E5DFA712746361D000D9924 /* ProfilePageFooterCollectionViewCell.xib in Resources */, 5E56FDC02744247D00BC3BE0 /* ProfilePageArchiveCollectionViewCell.xib in Resources */, BCC1E32C254A193C00B71866 /* ActionDialogView.xib in Resources */, @@ -4522,7 +4425,6 @@ 5EF0B6E727F43CFA000CBAF6 /* PublicGalleryViewController.swift in Sources */, 5E2CFA25274EEB570055941C /* ProfileItemVO.swift in Sources */, 5E181B852AF14EE8002DE69A /* CustomBarProgressStyle.swift in Sources */, - 5E4D0AF428328AC500C6439C /* AccountOnboardingHeaderTableViewCell.swift in Sources */, 5EB569AD2B307F3400C35543 /* RoundButtonView.swift in Sources */, BC11C80C25595BA3008BDEFA /* RecordVOPayload.swift in Sources */, BCD414E82580BFFE0019548F /* ShareLinkOption.swift in Sources */, @@ -4550,7 +4452,6 @@ 9220ACCF2A20E6CE003797C9 /* RoundedImageView.swift in Sources */, BCFFD293252B506B009485C1 /* UIViewControllerExtension.swift in Sources */, BC42EDD325C014CC0031B965 /* InviteEndpoint.swift in Sources */, - 5E4D0AF02832697A00C6439C /* AccountOnboardingMakeDefaultArchiveTableViewCell.swift in Sources */, BC42EDC325BEE9310031B965 /* InvitationTableViewCell.swift in Sources */, 5EB053D32BD120C400AFE66D /* TextField+Extension.swift in Sources */, BC59BAB925C2B7D6005A45D3 /* ShareStatus.swift in Sources */, @@ -4562,7 +4463,6 @@ 5E6673132A79B4E3001C49CC /* CustomTextFieldStyle.swift in Sources */, F557A64927A1C81600C061D4 /* OnlinePresenceTableViewCell.swift in Sources */, BC62D580254181BD00E84DA9 /* DataExtension.swift in Sources */, - F5EEB4D42821537600D584AD /* AccountOnboardingViewController.swift in Sources */, BC6358A42536D8EA00EEC48C /* FilesViewModel.swift in Sources */, F5E793D7294B5AB000CFCCA5 /* AuthTextField.swift in Sources */, BC42EDCD25C011290031B965 /* InviteVO.swift in Sources */, @@ -4704,7 +4604,6 @@ BC11C808255953B2008BDEFA /* APIPayload.swift in Sources */, BD96908C25D17E1400E49AB3 /* GetPresignedUrlResponse.swift in Sources */, F5C8D249273205B000707301 /* SearchEndpoint.swift in Sources */, - 5EE1800324EECBD500496AF7 /* OnboardingPageOne.swift in Sources */, F559F87928F99E3E0015A522 /* FolderNavigationViewModel.swift in Sources */, 5ED428892A12D0E1001F88FB /* LegacyPlanningRepository.swift in Sources */, 5E5DFA702746361D000D9924 /* ProfilePageFooterCollectionViewCell.swift in Sources */, @@ -4762,10 +4661,8 @@ 5E1582B92C5CD66500103EA8 /* OnboardingInvitedWelcomeViewModel.swift in Sources */, 5EA70D8F2B2C793A00175D9C /* GradientCustomBarView.swift in Sources */, 5EE9D8C627A1EE8100CE5F9C /* EstablishedInfoProfileItem.swift in Sources */, - 5EE17FF624EE94DA00496AF7 /* PageViewController.swift in Sources */, BC59BAD125C2B8BD005A45D3 /* NotificationProtocol.swift in Sources */, BC326AAF2526195E00A69597 /* APIErrors.swift in Sources */, - 5E27889A282D43CC007EE374 /* AccountOnboardingPageTwoWithPendingArchives.swift in Sources */, BC566CE72546FDE7000249E1 /* RecordVO.swift in Sources */, BC83FDFC2559893200AEE10C /* FolderVOPayload.swift in Sources */, 5E5DFA6C27463602000D9924 /* ProfilePageHeaderCollectionViewCell.swift in Sources */, @@ -4788,7 +4685,6 @@ 5E1582BF2C5CD7C600103EA8 /* OnboardingChartYourPathViewModel.swift in Sources */, 5E56FDC3274424BD00BC3BE0 /* ProfilePageAboutCollectionViewCell.swift in Sources */, 5E2C5D1B24D98EE100E2B95F /* AppDelegate.swift in Sources */, - 5EE1800524EF2A6F00496AF7 /* OnboardingPageTwo.swift in Sources */, 5E6673112A79439B001C49CC /* ReplaceFilenameViewModel.swift in Sources */, 5E991EE42A4ADDE4006229C0 /* SectionView.swift in Sources */, F58F314F27F32E2D00B89B99 /* DonateViewController.swift in Sources */, @@ -4881,7 +4777,6 @@ BCF906722589FA1700DF1B64 /* TooltipView.swift in Sources */, 5E63944E29702F830043D952 /* ForgotPasswordResponse.swift in Sources */, BC648780251B6591009D7DE1 /* LoginResponse.swift in Sources */, - 5E60451D251206F9002E47CB /* OnboardingViewModel.swift in Sources */, F5C80BD929893C8400CC1939 /* PublicProfileDeeplinkPayload.swift in Sources */, BCC1E3252549A43F00B71866 /* ArrayExtension.swift in Sources */, 5EB620272784B01D001B9AFD /* GenderProfileItem.swift in Sources */, @@ -4896,7 +4791,6 @@ BC0D99C9256E5B8B00D29041 /* DrawerOption.swift in Sources */, 5E62F7BE27F5E5A50046F6C8 /* PublicGalleryFooterCollectionViewCell.swift in Sources */, 5E29C1D525AEF22D00C2A230 /* SecurityViewModel.swift in Sources */, - F5EAD0632822BBC700EC2584 /* AccountOnboardingPageOne.swift in Sources */, 5E3A060029E44D7900A6C531 /* Workspace.swift in Sources */, BCF9066B2587B2D200DF1B64 /* MemberTableViewCell.swift in Sources */, 5E744F9127E36EAA00A47D27 /* RCValues.swift in Sources */, @@ -4921,7 +4815,6 @@ 5ED9A7B82BBF3BD6009BDD70 /* ArchiveTypeView.swift in Sources */, 5E604E552B4EADD8008C5034 /* BottomInfoMessageView.swift in Sources */, 5E181B872AF2EAF5002DE69A /* CustomStepperView.swift in Sources */, - 5E278898282D423F007EE374 /* AccountOnboardingPageOneWithPendingArchives.swift in Sources */, 5E0E3C302886EB69001C7F10 /* ShareExtensionViewModel.swift in Sources */, BD95ECC125D53E58009B443F /* ScreenLockManager.swift in Sources */, BC59BAD025C2B8BD005A45D3 /* NotificationVO.swift in Sources */, @@ -4953,7 +4846,6 @@ BCEECDAF25B0594B00A4520E /* Downloader.swift in Sources */, 5E624DC32947BECE002D6ECB /* FusionLoginResponse.swift in Sources */, 92430A902B10A55E0098597D /* EventType.swift in Sources */, - 5EE1800724EF2A8100496AF7 /* OnboardingPageThree.swift in Sources */, BC62D57D254180D300E84DA9 /* FileInfo.swift in Sources */, BC0D99C5256DB18500D29041 /* DrawerTableViewCell.swift in Sources */, 5EE3E11125A72ED0009BACA8 /* AccountSettingsViewController.swift in Sources */, @@ -4973,7 +4865,6 @@ BC0D99B7256D3AF600D29041 /* RootNavigationController.swift in Sources */, 5E8B706B283D6E5A004295C6 /* PublicGalleryNoArchiveCellCollectionViewCell.swift in Sources */, BCE8DA7825655E8F00842ABD /* FileState.swift in Sources */, - F5EAD0652822BBDC00EC2584 /* AccountOnboardingPageTwo.swift in Sources */, 9220ACCC2A1CBB4F003797C9 /* AccountSteward.swift in Sources */, BC0D99CC256E5BF000D29041 /* TableViewData.swift in Sources */, BCF4E5D5255C2DFB003505BA /* ParentFolderVO.swift in Sources */, @@ -4981,7 +4872,6 @@ BC11C7FE25558E03008BDEFA /* UIContextualActionExtension.swift in Sources */, 5ED9A7B62BBF3294009BDD70 /* OnboardingSelectArchiveTypeView.swift in Sources */, 5EB620252784871B001B9AFD /* EmailProfileItem.swift in Sources */, - F5EAD0672822BBE900EC2584 /* AccountOnboardingPageThree.swift in Sources */, BC6D3B492514E45F00390927 /* EnvironmentProtocol.swift in Sources */, 5E1582B52C5BA3C300103EA8 /* OnboardingContainerViewModel.swift in Sources */, BCF4E5D8255C2EB2003505BA /* RecordExifVO.swift in Sources */, @@ -4989,8 +4879,6 @@ F58EBC2E25DE963800D2D383 /* SharedFilesViewModel.swift in Sources */, 5E1582BB2C5CD6CB00103EA8 /* OnboardingCreateFirstArchiveViewModel.swift in Sources */, BCEAB27F2580F6D700567E8C /* MinArchiveVO.swift in Sources */, - 5EE17FFE24EE9AC500496AF7 /* OnboadingViewController.swift in Sources */, - 5E4D0AEC2832695C00C6439C /* AccountOnboardingAcceptArchiveTableViewCell.swift in Sources */, BC11C80525594B41008BDEFA /* APIResults.swift in Sources */, BC11C7FB2555769A008BDEFA /* Strings.swift in Sources */, F58B8B9E2758047200D43606 /* PublicArchiveFileViewController.swift in Sources */, @@ -5490,7 +5378,7 @@ ENV_VARS_FILENAME = "env-vars.sh"; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = "$(SRCROOT)/Permanent/Resources/Assets/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5521,7 +5409,7 @@ ENV_VARS_FILENAME = "env-vars.sh"; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = "$(SRCROOT)/Permanent/Resources/Assets/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5547,7 +5435,7 @@ DEVELOPMENT_TEAM = C8YKZNBVWT; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; MARKETING_VERSION = 1.10.2; PRODUCT_BUNDLE_IDENTIFIER = org.permanent.PermanentArchive.PermanentUITests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -5568,7 +5456,7 @@ DEVELOPMENT_TEAM = C8YKZNBVWT; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; MARKETING_VERSION = 1.10.2; PRODUCT_BUNDLE_IDENTIFIER = org.permanent.PermanentArchive.PermanentUITests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -5589,7 +5477,7 @@ DEVELOPMENT_TEAM = C8YKZNBVWT; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; MARKETING_VERSION = 1.10.2; PRODUCT_BUNDLE_IDENTIFIER = org.permanent.PermanentArchive.PermanentUITests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -5610,7 +5498,7 @@ DEVELOPMENT_TEAM = C8YKZNBVWT; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; MARKETING_VERSION = 1.10.2; PRODUCT_BUNDLE_IDENTIFIER = org.permanent.PermanentArchive.PermanentUITests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -5631,7 +5519,7 @@ DEVELOPMENT_TEAM = C8YKZNBVWT; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = PermanentTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5655,7 +5543,7 @@ DEVELOPMENT_TEAM = C8YKZNBVWT; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = PermanentTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5679,7 +5567,7 @@ DEVELOPMENT_TEAM = C8YKZNBVWT; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = PermanentTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5703,7 +5591,7 @@ DEVELOPMENT_TEAM = C8YKZNBVWT; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = PermanentTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5734,7 +5622,7 @@ INFOPLIST_KEY_CFBundleDisplayName = ShareExtension; INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Victory Square Partners. All rights reserved."; INFOPLIST_KEY_UIUserInterfaceStyle = Light; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5768,7 +5656,7 @@ INFOPLIST_KEY_CFBundleDisplayName = ShareExtension; INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Victory Square Partners. All rights reserved."; INFOPLIST_KEY_UIUserInterfaceStyle = Light; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5802,7 +5690,7 @@ INFOPLIST_KEY_CFBundleDisplayName = ShareExtension; INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Victory Square Partners. All rights reserved."; INFOPLIST_KEY_UIUserInterfaceStyle = Light; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5836,7 +5724,7 @@ INFOPLIST_KEY_CFBundleDisplayName = ShareExtension; INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Victory Square Partners. All rights reserved."; INFOPLIST_KEY_UIUserInterfaceStyle = Light; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -5928,7 +5816,7 @@ ENV_VARS_FILENAME = "env-vars-staging.sh"; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = "$(SRCROOT)/Permanent/Resources/Assets/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -6013,7 +5901,7 @@ ENV_VARS_FILENAME = "env-vars-staging.sh"; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = "$(SRCROOT)/Permanent/Resources/Assets/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -6040,7 +5928,7 @@ DEVELOPMENT_TEAM = C8YKZNBVWT; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = PushExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -6065,7 +5953,7 @@ DEVELOPMENT_TEAM = C8YKZNBVWT; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = PushExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -6090,7 +5978,7 @@ DEVELOPMENT_TEAM = C8YKZNBVWT; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = PushExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -6115,7 +6003,7 @@ DEVELOPMENT_TEAM = C8YKZNBVWT; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; INFOPLIST_FILE = PushExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.7; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/Permanent/App/AppDelegate.swift b/Permanent/App/AppDelegate.swift index f7552934..df0ed708 100644 --- a/Permanent/App/AppDelegate.swift +++ b/Permanent/App/AppDelegate.swift @@ -216,12 +216,14 @@ extension AppDelegate { } extension AppDelegate: MessagingDelegate { - func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String) { - print("Saving push token: " + fcmToken) - PreferencesManager.shared.set(fcmToken, forKey: Constants.Keys.StorageKeys.fcmPushTokenKey) - - if rootViewController.isDrawerRootActive && AuthenticationManager.shared.session != nil { - rootViewController.sendPushNotificationToken() + func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) { + if let fcmToken = fcmToken { + print("Saving push token: " + fcmToken) + PreferencesManager.shared.set(fcmToken, forKey: Constants.Keys.StorageKeys.fcmPushTokenKey) + + if rootViewController.isDrawerRootActive && AuthenticationManager.shared.session != nil { + rootViewController.sendPushNotificationToken() + } } } } diff --git a/Permanent/Common/Constants/Constants.swift b/Permanent/Common/Constants/Constants.swift index f6f49014..fe887d4b 100644 --- a/Permanent/Common/Constants/Constants.swift +++ b/Permanent/Common/Constants/Constants.swift @@ -156,7 +156,6 @@ extension Constants.API.NotificationType { } extension Constants.Keys.StorageKeys { - static let isNewUserStorageKey = "isNewUser" static let uploadFilesKey = "uploadFilesKey" static let shareURLToken = "shareURLTokenStorageKey" static let publicURLToken = "publicURLTokenKey" diff --git a/Permanent/Common/Constants/StoryboardName.swift b/Permanent/Common/Constants/StoryboardName.swift index bb43f5e9..22e8c3da 100644 --- a/Permanent/Common/Constants/StoryboardName.swift +++ b/Permanent/Common/Constants/StoryboardName.swift @@ -11,7 +11,6 @@ enum StoryboardName: String { case main case authentication case launch - case onboarding case welcomePage case members case share @@ -21,13 +20,11 @@ enum StoryboardName: String { case archives case profile case donate - case accountOnboarding case archiveSettings case legacyPlanning var name: String { switch self { - case .accountOnboarding: return "AccountOnboarding" case .archiveSettings: return "ArchiveSettings" case .legacyPlanning: return "LegacyPlanning" diff --git a/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingAcceptArchiveTableViewCell.swift b/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingAcceptArchiveTableViewCell.swift deleted file mode 100644 index 06dd653b..00000000 --- a/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingAcceptArchiveTableViewCell.swift +++ /dev/null @@ -1,68 +0,0 @@ -// -// AccountOnboardingAcceptArchiveTableViewCell.swift -// Permanent -// -// Created by Lucian Cerbu on 16.05.2022. -// - -import UIKit - -class AccountOnboardingAcceptArchiveTableViewCell: UITableViewCell { - static let identifier = "AccountOnboardingAcceptArchiveTableViewCell" - @IBOutlet weak var archiveThumbnailImageView: UIImageView! - @IBOutlet weak var archiveTitleLabel: UILabel! - @IBOutlet weak var archiveInvitedByLabel: UILabel! - @IBOutlet weak var acceptButton: UIButton! - - var acceptButtonAction: ((AccountOnboardingAcceptArchiveTableViewCell) -> Void)? - var archiveData: ArchiveVOData? - - override func awakeFromNib() { - super.awakeFromNib() - } - - func configure(archive: ArchiveVOData?, screenType: AccountOnboardingViewModel.Page?) { - initUI(screenType: screenType) - archiveData = archive - if let name = archive?.fullName { - archiveTitleLabel.text = "The \(name) Archive" - } else { - archiveTitleLabel.text = "The Archive" - } - - guard let thumbnail = archive?.thumbURL1000 else { return } - let role = archive?.accessRole ?? "" - let accessRole = AccessRole.roleForValue(role).groupName - let textLabel = "Pending Archive \nAccess: ".localized().replacingOccurrences(of: "", with: accessRole) - - archiveThumbnailImageView.sd_setImage(with: URL(string: thumbnail)) - - archiveInvitedByLabel.text = textLabel - } - - private func initUI(screenType: AccountOnboardingViewModel.Page?) { - archiveTitleLabel.textColor = .black - archiveTitleLabel.font = TextFontStyle.style17.font - archiveInvitedByLabel.textColor = .darkGray - archiveInvitedByLabel.font = TextFontStyle.style8.font - - acceptButton.isHidden = (screenType == .acceptedInvitation) - acceptButton.setFont(TextFontStyle.style11.font) - acceptButton.setTitleColor(.darkBlue, for: .normal) - } - - override func prepareForReuse() { - super.prepareForReuse() - - archiveTitleLabel.text = "The Archive" - archiveInvitedByLabel.text = "" - archiveThumbnailImageView.image = .placeholder - } - - static func nib() -> UINib { - return UINib(nibName: identifier, bundle: nil) - } - @IBAction func acceptAction(_ sender: Any) { - acceptButtonAction?(self) - } -} diff --git a/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingAcceptArchiveTableViewCell.xib b/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingAcceptArchiveTableViewCell.xib deleted file mode 100644 index 47e06214..00000000 --- a/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingAcceptArchiveTableViewCell.xib +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingHeaderTableViewCell.swift b/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingHeaderTableViewCell.swift deleted file mode 100644 index 946f9a11..00000000 --- a/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingHeaderTableViewCell.swift +++ /dev/null @@ -1,27 +0,0 @@ -// -// AccountOnboardingHeaderTableViewCell.swift -// Permanent -// -// Created by Lucian Cerbu on 16.05.2022. -// - -import UIKit - -class AccountOnboardingHeaderTableViewCell: UITableViewHeaderFooterView { - static let identifier = "AccountOnboardingHeaderTableViewCell" - @IBOutlet weak var headerLabel: UILabel! - - override func awakeFromNib() { - super.awakeFromNib() - } - - func configure(label: String) { - headerLabel.font = TextFontStyle.style32.font - headerLabel.textColor = .black - headerLabel.text = label.localized() - } - - static func nib() -> UINib { - return UINib(nibName: identifier, bundle: nil) - } -} diff --git a/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingHeaderTableViewCell.xib b/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingHeaderTableViewCell.xib deleted file mode 100644 index c8a8ba77..00000000 --- a/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingHeaderTableViewCell.xib +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingMakeDefaultArchiveTableViewCell.swift b/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingMakeDefaultArchiveTableViewCell.swift deleted file mode 100644 index f19c2abb..00000000 --- a/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingMakeDefaultArchiveTableViewCell.swift +++ /dev/null @@ -1,71 +0,0 @@ -// -// AccountOnboardingMakeDefaultArchiveTableViewCell.swift -// Permanent -// -// Created by Lucian Cerbu on 16.05.2022. -// - -import UIKit - -class AccountOnboardingMakeDefaultArchiveTableViewCell: UITableViewCell { - static let identifier = "AccountOnboardingMakeDefaultArchiveTableViewCell" - - @IBOutlet weak var archiveThumbnailImageView: UIImageView! - @IBOutlet weak var archiveTitleLabel: UILabel! - @IBOutlet weak var archiveInvitedByLabel: UILabel! - @IBOutlet weak var makeDefaultButton: RoundedButton! - - var makeDefaultButtonAction: ((AccountOnboardingMakeDefaultArchiveTableViewCell) -> Void)? - var archiveData: ArchiveVOData? - - override func awakeFromNib() { - super.awakeFromNib() - } - - func configure(archive: ArchiveVOData?) { - initUI() - archiveData = archive - if let name = archive?.fullName { - archiveTitleLabel.text = "The \(name) Archive" - } else { - archiveTitleLabel.text = "The Archive" - } - - guard let thumbnail = archive?.thumbURL1000 else { return } - let role = archive?.accessRole ?? "" - let accessRole = AccessRole.roleForValue(role).groupName - let textLabel = "Pending Archive \nAccess: ".localized().replacingOccurrences(of: "", with: accessRole) - - archiveThumbnailImageView.sd_setImage(with: URL(string: thumbnail)) - - archiveInvitedByLabel.text = textLabel - } - - private func initUI() { - archiveTitleLabel.textColor = .black - archiveTitleLabel.font = TextFontStyle.style17.font - archiveInvitedByLabel.textColor = .darkGray - archiveInvitedByLabel.font = TextFontStyle.style8.font - - makeDefaultButton.setup() - makeDefaultButton.setTitleColor(UIColor.white.darker(by: 30), for: .disabled) - makeDefaultButton.setTitleColor(UIColor.white, for: .highlighted) - makeDefaultButton.configureActionButtonUI(title: "Make Default") - } - - override func prepareForReuse() { - super.prepareForReuse() - - archiveTitleLabel.text = "The Archive" - archiveInvitedByLabel.text = "" - archiveThumbnailImageView.image = .placeholder - } - - static func nib() -> UINib { - return UINib(nibName: identifier, bundle: nil) - } - - @IBAction func makeDefaultAction(_ sender: Any) { - makeDefaultButtonAction?(self) - } -} diff --git a/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingMakeDefaultArchiveTableViewCell.xib b/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingMakeDefaultArchiveTableViewCell.xib deleted file mode 100644 index d6758d70..00000000 --- a/Permanent/Modules/AccountOnboarding/Cells/AccountOnboardingMakeDefaultArchiveTableViewCell.xib +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageOne.swift b/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageOne.swift deleted file mode 100644 index 528d648e..00000000 --- a/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageOne.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// AccountOnboardingPageOne.swift -// Permanent -// -// Created by Vlad Alexandru Rusu on 04.05.2022. -// - -import UIKit - -class AccountOnboardingPageOne: BaseViewController { - - @IBOutlet weak var welcomeLabel: UILabel! - @IBOutlet weak var detailsLabel: UILabel! - - override func viewDidLoad() { - super.viewDidLoad() - - welcomeLabel.font = TextFontStyle.style.font - detailsLabel.font = TextFontStyle.style5.font - } -} diff --git a/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageOneWithPendingArchives.swift b/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageOneWithPendingArchives.swift deleted file mode 100644 index 0ceb8ee3..00000000 --- a/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageOneWithPendingArchives.swift +++ /dev/null @@ -1,105 +0,0 @@ -// -// AccountOnboardingPageOneWithPendingArchives.swift -// Permanent -// -// Created by Lucian Cerbu on 12.05.2022. -// - -import UIKit - -class AccountOnboardingPageOneWithPendingArchives: BaseViewController { - @IBOutlet weak var welcomeLabel: UILabel! - @IBOutlet weak var detailsLabel: UILabel! - @IBOutlet weak var tableView: UITableView! - - override func viewDidLoad() { - super.viewDidLoad() - - initUI() - setupTableView() - } - - private func initUI() { - welcomeLabel.font = TextFontStyle.style.font - detailsLabel.font = TextFontStyle.style5.font - } - - private func setupTableView() { - tableView.separatorStyle = .none - tableView.alwaysBounceVertical = false - tableView.register(UINib(nibName: String(describing: AccountOnboardingAcceptArchiveTableViewCell.self), bundle: nil), forCellReuseIdentifier: String(describing: AccountOnboardingAcceptArchiveTableViewCell.self)) - tableView.register(UINib(nibName: String(describing: AccountOnboardingHeaderTableViewCell.self), bundle: nil), forHeaderFooterViewReuseIdentifier: String(describing: AccountOnboardingHeaderTableViewCell.self)) - } - - private func acceptButtonAction() -> ((AccountOnboardingAcceptArchiveTableViewCell) -> Void) { - return { [weak self] cell in - self?.showSpinner() - guard let archiveVOData = cell.archiveData else { return } - - self?.viewModel?.acceptArchiveOperation(archive: archiveVOData, { status, error in - if status { - guard let archiveId = archiveVOData.archiveID else { - self?.hideSpinner() - self?.showErrorAlert(message: .errorMessage) - return - } - - self?.viewModel?.updateAccount(withDefaultArchiveId: archiveId, { accountVOdata, error in - guard let _ = accountVOdata else { - self?.hideSpinner() - self?.showErrorAlert(message: .errorMessage) - return - } - - self?.viewModel?.changeArchive(archiveVOData, { status, error in - self?.hideSpinner() - - if status { - AppDelegate.shared.rootViewController.setDrawerRoot() - } else { - self?.showErrorAlert(message: .errorMessage) - } - }) - }) - } else { - self?.hideSpinner() - self?.showErrorAlert(message: .errorMessage) - } - }) - } - } -} - -extension AccountOnboardingPageOneWithPendingArchives: UITableViewDataSource, UITableViewDelegate { - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - guard let numberOfPendingArchives = viewModel?.accountArchives?.count else { return .zero } - - return numberOfPendingArchives - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - var cell = UITableViewCell() - - if let tableViewCell = tableView.dequeueReusableCell(withIdentifier: String(describing: AccountOnboardingAcceptArchiveTableViewCell.self)) as? AccountOnboardingAcceptArchiveTableViewCell, - let tableViewData = viewModel?.accountArchives, - let archiveVO = tableViewData[indexPath.row].archiveVO { - tableViewCell.configure(archive: archiveVO, screenType: viewModel?.currentPage) - - tableViewCell.acceptButtonAction = acceptButtonAction() - - cell = tableViewCell - } - return cell - } - - func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { - let headerView = UIView() - if let headerCell = tableView.dequeueReusableHeaderFooterView(withIdentifier: String(describing: AccountOnboardingHeaderTableViewCell.self)) as? AccountOnboardingHeaderTableViewCell { - headerCell.configure(label: "Pending invitations".localized()) - headerView.addSubview(headerCell) - } - tableView.separatorInset.left = 0 - headerView.backgroundColor = .clear - return headerView - } -} diff --git a/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageThree.swift b/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageThree.swift deleted file mode 100644 index 2aa87e2f..00000000 --- a/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageThree.swift +++ /dev/null @@ -1,91 +0,0 @@ -// -// AccountOnboardingPageThree.swift -// Permanent -// -// Created by Vlad Alexandru Rusu on 04.05.2022. -// - -import UIKit - -class AccountOnboardingPageThree: BaseViewController { - - @IBOutlet weak var titleLabel: UILabel! - - @IBOutlet weak var archiveContainerView: UIView! - @IBOutlet weak var typeImageView: UIImageView! - @IBOutlet weak var archiveTitleLabel: UILabel! - @IBOutlet weak var archiveDetailsLabel: UILabel! - - @IBOutlet weak var detailsLabel: UILabel! - @IBOutlet weak var titleTextField: UITextField! - - override func viewDidLoad() { - super.viewDidLoad() - - titleLabel.font = TextFontStyle.style.font - detailsLabel.font = TextFontStyle.style5.font - - archiveTitleLabel.font = TextFontStyle.style17.font - archiveDetailsLabel.font = TextFontStyle.style5.font - typeImageView.tintColor = .primary - updateSelectedType() - - let leftLabel = UILabel(frame: .zero) - leftLabel.font = TextFontStyle.style5.font - leftLabel.text = " The " - leftLabel.sizeToFit() - titleTextField.leftView = leftLabel - titleTextField.leftViewMode = .always - - let rightLabel = UILabel(frame: .zero) - rightLabel.font = TextFontStyle.style5.font - rightLabel.text = " Archive " - rightLabel.sizeToFit() - titleTextField.rightView = rightLabel - titleTextField.rightViewMode = .always - - titleTextField.font = TextFontStyle.style5.font - - archiveContainerView.layer.borderColor = UIColor.primary.cgColor - archiveContainerView.layer.borderWidth = 1 - archiveContainerView.layer.cornerRadius = 5 - } - - func updateSelectedType() { - switch viewModel?.archiveType { - case .person: - typeImageView.image = UIImage(named: "archive-person") - archiveTitleLabel.text = "Person Archive".localized() - archiveDetailsLabel.text = "represents an individual person, such as yourself or someone else".localized() - titleTextField.placeholder = "Person Name" - - case .family: - typeImageView.image = UIImage(named: "archive-group") - archiveTitleLabel.text = "Group Archive".localized() - archiveDetailsLabel.text = "any group of people, such as a community group or a family".localized() - titleTextField.placeholder = "Group Name" - - case .organization: - typeImageView.image = UIImage(named: "archive-organization") - archiveTitleLabel.text = "Organization Archive".localized() - archiveDetailsLabel.text = "an organizational entity, such as a company or nonprofit".localized() - titleTextField.placeholder = "Organization Name" - - default: break - } - } -} - -extension AccountOnboardingPageThree: UITextFieldDelegate { - func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { - let newString = (textField.text as NSString?)?.replacingCharacters(in: range, with: string) - viewModel?.archiveName = newString - - return true - } - - func textFieldShouldReturn(_ textField: UITextField) -> Bool { - textField.resignFirstResponder() - return true - } -} diff --git a/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageTwo.swift b/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageTwo.swift deleted file mode 100644 index 15389485..00000000 --- a/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageTwo.swift +++ /dev/null @@ -1,105 +0,0 @@ -// -// AccountOnboardingPageTwo.swift -// Permanent -// -// Created by Vlad Alexandru Rusu on 04.05.2022. -// - -import UIKit - -class AccountOnboardingPageTwo: BaseViewController { - - @IBOutlet weak var titleLabel: UILabel! - @IBOutlet weak var detailsLabel: UILabel! - - @IBOutlet weak var personContainerView: UIView! - @IBOutlet weak var personImageView: UIImageView! - @IBOutlet weak var personTitleLabel: UILabel! - @IBOutlet weak var personDetailsLabel: UILabel! - - @IBOutlet weak var groupContainerView: UIView! - @IBOutlet weak var groupImageView: UIImageView! - @IBOutlet weak var groupTitleLabel: UILabel! - @IBOutlet weak var groupDetailsLabel: UILabel! - - @IBOutlet weak var organizationContainerView: UIView! - @IBOutlet weak var organizationImageView: UIImageView! - @IBOutlet weak var organizationTitleLabel: UILabel! - @IBOutlet weak var organizationDetailsLabel: UILabel! - - override func viewDidLoad() { - super.viewDidLoad() - - titleLabel.font = TextFontStyle.style.font - detailsLabel.font = TextFontStyle.style5.font - - personTitleLabel.font = TextFontStyle.style17.font - personDetailsLabel.font = TextFontStyle.style5.font - - groupTitleLabel.font = TextFontStyle.style17.font - groupDetailsLabel.font = TextFontStyle.style5.font - - organizationTitleLabel.font = TextFontStyle.style17.font - organizationDetailsLabel.font = TextFontStyle.style5.font - - setupContainerView(personContainerView) - personImageView.tintColor = .primary - - setupContainerView(groupContainerView) - groupContainerView.tintColor = .primary - - setupContainerView(organizationContainerView) - organizationContainerView.tintColor = .primary - - updateSelectedType() - } - - func updateSelectedType() { - switch viewModel?.archiveType { - case .person: - setSelected(true, containerView: personContainerView, titleLabel: personTitleLabel, detailsLabel: personDetailsLabel, imageView: personImageView) - setSelected(false, containerView: groupContainerView, titleLabel: groupTitleLabel, detailsLabel: groupDetailsLabel, imageView: groupImageView) - setSelected(false, containerView: organizationContainerView, titleLabel: organizationTitleLabel, detailsLabel: organizationDetailsLabel, imageView: organizationImageView) - - case .family: - setSelected(false, containerView: personContainerView, titleLabel: personTitleLabel, detailsLabel: personDetailsLabel, imageView: personImageView) - setSelected(true, containerView: groupContainerView, titleLabel: groupTitleLabel, detailsLabel: groupDetailsLabel, imageView: groupImageView) - setSelected(false, containerView: organizationContainerView, titleLabel: organizationTitleLabel, detailsLabel: organizationDetailsLabel, imageView: organizationImageView) - - case .organization: - setSelected(false, containerView: personContainerView, titleLabel: personTitleLabel, detailsLabel: personDetailsLabel, imageView: personImageView) - setSelected(false, containerView: groupContainerView, titleLabel: groupTitleLabel, detailsLabel: groupDetailsLabel, imageView: groupImageView) - setSelected(true, containerView: organizationContainerView, titleLabel: organizationTitleLabel, detailsLabel: organizationDetailsLabel, imageView: organizationImageView) - - default: break - } - } - - func setupContainerView(_ containerView: UIView) { - containerView.layer.borderColor = UIColor.primary.cgColor - containerView.layer.borderWidth = 1 - containerView.layer.cornerRadius = 5 - } - - func setSelected(_ selected: Bool, containerView: UIView, titleLabel: UILabel, detailsLabel: UILabel, imageView: UIImageView) { - containerView.backgroundColor = selected ? UIColor.primary : UIColor.white - titleLabel.textColor = selected ? .white : .primary - detailsLabel.textColor = selected ? .white : .black - imageView.tintColor = selected ? .white : .primary - } - - @IBAction func personButtonPressed(_ sender: Any) { - viewModel?.archiveType = .person - updateSelectedType() - } - - @IBAction func groupButtonPressed(_ sender: Any) { - viewModel?.archiveType = .family - updateSelectedType() - } - - @IBAction func organizationButtonPressed(_ sender: Any) { - viewModel?.archiveType = .organization - updateSelectedType() - } -} diff --git a/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageTwoWithPendingArchives.swift b/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageTwoWithPendingArchives.swift deleted file mode 100644 index 930b10cd..00000000 --- a/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingPageTwoWithPendingArchives.swift +++ /dev/null @@ -1,91 +0,0 @@ -// -// AccountOnboardingPageTwoWithPendingArchives.swift -// Permanent -// -// Created by Lucian Cerbu on 12.05.2022. -// - -import UIKit - -class AccountOnboardingPageTwoWithPendingArchives: BaseViewController { - @IBOutlet weak var welcomeLabel: UILabel! - @IBOutlet weak var detailsLabel: UILabel! - @IBOutlet weak var tableView: UITableView! - - override func viewDidLoad() { - super.viewDidLoad() - - initUI() - setupTableView() - } - - private func initUI() { - welcomeLabel.font = TextFontStyle.style.font - detailsLabel.font = TextFontStyle.style5.font - - detailsLabel.text = "Congratulations! You’ve joined \(viewModel?.accountArchives?.count ?? 0) archives. The last step is to choose which archive to set as your default, the first one you’ll see when you log in. Select your default archive below, or create a new one of your own to be your default." - } - - private func setupTableView() { - tableView.separatorStyle = .none - tableView.alwaysBounceVertical = false - tableView.allowsSelection = true - - tableView.register(UINib(nibName: String(describing: AccountOnboardingAcceptArchiveTableViewCell.self), bundle: nil), forCellReuseIdentifier: String(describing: AccountOnboardingAcceptArchiveTableViewCell.self)) - tableView.register(UINib(nibName: String(describing: AccountOnboardingHeaderTableViewCell.self), bundle: nil), forHeaderFooterViewReuseIdentifier: String(describing: AccountOnboardingHeaderTableViewCell.self)) - } -} - -extension AccountOnboardingPageTwoWithPendingArchives: UITableViewDataSource, UITableViewDelegate { - func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - guard let numberOfPendingArchives = viewModel?.accountArchives?.count else { return .zero } - - return numberOfPendingArchives - } - - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - var cell = UITableViewCell() - - if let tableViewCell = tableView.dequeueReusableCell(withIdentifier: String(describing: AccountOnboardingAcceptArchiveTableViewCell.self)) as? AccountOnboardingAcceptArchiveTableViewCell, - let tableViewData = viewModel?.accountArchives, - let archiveVO = tableViewData[indexPath.row].archiveVO { - tableViewCell.configure(archive: archiveVO, screenType: viewModel?.currentPage) - - cell = tableViewCell - } - return cell - } - - func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - guard let tableViewData = viewModel?.accountArchives, let archiveVOData = tableViewData[indexPath.row].archiveVO, let archiveId = archiveVOData.archiveID else { return } - - showSpinner() - viewModel?.updateAccount(withDefaultArchiveId: archiveId, { [weak self] accountVOdata, error in - guard accountVOdata != nil else { - self?.hideSpinner() - self?.showErrorAlert(message: .errorMessage) - return - } - self?.viewModel?.changeArchive(archiveVOData, { status, error in - self?.hideSpinner() - - if status { - AppDelegate.shared.rootViewController.setDrawerRoot() - } else { - self?.showErrorAlert(message: .errorMessage) - } - }) - }) - } - - func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { - let headerView = UIView() - if let headerCell = tableView.dequeueReusableHeaderFooterView(withIdentifier: String(describing: AccountOnboardingHeaderTableViewCell.self)) as? AccountOnboardingHeaderTableViewCell { - headerCell.configure(label: "Choose a default archive".localized()) - headerView.addSubview(headerCell) - } - tableView.separatorInset.left = 0 - headerView.backgroundColor = .clear - return headerView - } -} diff --git a/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingViewController.swift b/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingViewController.swift deleted file mode 100644 index 1470a271..00000000 --- a/Permanent/Modules/AccountOnboarding/ViewController/AccountOnboardingViewController.swift +++ /dev/null @@ -1,219 +0,0 @@ -// -// AccountOnboardingViewController.swift -// Permanent -// -// Created by Vlad Alexandru Rusu on 03.05.2022. -// - -import UIKit - -class AccountOnboardingViewController: BaseViewController { - @IBOutlet weak var firstStepIndicator: UIView! - @IBOutlet weak var secondStepIndicator: UIView! - @IBOutlet weak var thirdStepIndicator: UIView! - - @IBOutlet weak var backButton: RoundedButton! - @IBOutlet weak var nextButton: RoundedButton! - - @IBOutlet weak var containerView: UIView! - - let pageViewController = UIPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil) - let pageOneVC = UIViewController.create(withIdentifier: .accountOnboardingPg1, from: .accountOnboarding) as! AccountOnboardingPageOne - let pageOnePendingVC = UIViewController.create(withIdentifier: .accountOnboardingPg1Pending, from: .accountOnboarding) as! AccountOnboardingPageOneWithPendingArchives - let pageTwoVC = UIViewController.create(withIdentifier: .accountOnboardingPg2, from: .accountOnboarding) as! AccountOnboardingPageTwo - let pageTwoPendingVC = UIViewController.create(withIdentifier: .accountOnboardingPg2Pending, from: .accountOnboarding) as! AccountOnboardingPageTwoWithPendingArchives - let pageThreeVC = UIViewController.create(withIdentifier: .accountOnboardingPg3, from: .accountOnboarding) as! AccountOnboardingPageThree - - override func viewDidLoad() { - super.viewDidLoad() - - viewModel = AccountOnboardingViewModel() - pageOneVC.viewModel = viewModel - pageTwoVC.viewModel = viewModel - pageThreeVC.viewModel = viewModel - pageOnePendingVC.viewModel = viewModel - pageTwoPendingVC.viewModel = viewModel - - viewModel?.getAccountInfo({ _, _ in }) - - initUI() - updatePageIndicator() - updateNavButtons() - - addChild(pageViewController) - containerView.addSubview(pageViewController.view) - pageViewController.view.frame = containerView.bounds - pageViewController.didMove(toParent: self) - - viewModel?.getAccountArchives({ [self] error in - if let archives = viewModel?.accountArchives, archives.count > .zero { - let hasPending = archives.allSatisfy({ archive in - archive.archiveVO?.status == ArchiveVOData.Status.pending - }) - - viewModel?.currentPage = hasPending ? .pendingInvitation : .acceptedInvitation - updateCurrentPage(direction: .forward) - - let vc = hasPending ? pageOnePendingVC : pageTwoPendingVC - pageViewController.setViewControllers([vc], direction: .forward, animated: false) - } else { - pageViewController.setViewControllers([pageOneVC], direction: .forward, animated: false) - } - }) - - NotificationCenter.default.addObserver(forName: AccountOnboardingViewModel.archiveTypeChanged, object: viewModel, queue: nil) { [weak self] notification in - self?.updateNavButtons() - } - NotificationCenter.default.addObserver(forName: AccountOnboardingViewModel.archiveNameChanged, object: viewModel, queue: nil) { [weak self] notification in - self?.updateNavButtons() - } - } - - func initUI() { - nextButton.setup() - nextButton.setTitleColor(UIColor.white.darker(by: 30), for: .disabled) - nextButton.setTitleColor(UIColor.white, for: .highlighted) - nextButton.configureActionButtonUI(title: viewModel?.nextButtonTitle ?? "") - - backButton.setup() - backButton.setTitleColor(UIColor.white, for: .normal) - backButton.setTitleColor(UIColor.white, for: .highlighted) - backButton.configureActionButtonUI(title: viewModel?.backButtonTitle ?? "", bgColor: .doveGray) - backButton.setFont(UIFont.systemFont(ofSize: 18)) - } - - func updateCurrentPage(direction: UIPageViewController.NavigationDirection) { - updatePageIndicator() - updateDisplayedVC(direction: direction) - updateNavButtons() - } - - func updateNavButtons() { - nextButton.configureActionButtonUI(title: viewModel?.nextButtonTitle ?? "") - nextButton.isEnabled = viewModel?.nextButtonEnabled ?? false - nextButton.isHidden = viewModel?.nextButtonHidden ?? false - - backButton.isHidden = !(viewModel?.hasBackButton ?? false) - - if viewModel?.currentPage == .pendingInvitation || viewModel?.currentPage == .acceptedInvitation { - backButton.configureActionButtonUI(title: viewModel?.backButtonTitle ?? "", bgColor: .clear) - backButton.setTitleColor(.primary, for: .normal) - backButton.setTitleColor(.primary, for: .highlighted) - backButton.contentHorizontalAlignment = .left - } else { - backButton.configureActionButtonUI(title: viewModel?.backButtonTitle ?? "", bgColor: .dustyGray) - backButton.setTitleColor(.white, for: .normal) - backButton.setTitleColor(.white, for: .highlighted) - backButton.contentHorizontalAlignment = .center - } - } - - func updatePageIndicator() { - switch viewModel?.currentPage { - case .getStarted: - firstStepIndicator.backgroundColor = .primary - secondStepIndicator.backgroundColor = .lightGray - thirdStepIndicator.backgroundColor = .lightGray - - case .createArchive: - firstStepIndicator.backgroundColor = .primary - secondStepIndicator.backgroundColor = .primary - thirdStepIndicator.backgroundColor = .lightGray - - case .nameArchive: - firstStepIndicator.backgroundColor = .primary - secondStepIndicator.backgroundColor = .primary - thirdStepIndicator.backgroundColor = .primary - - default: - firstStepIndicator.backgroundColor = .clear - secondStepIndicator.backgroundColor = .clear - thirdStepIndicator.backgroundColor = .clear - } - } - - func updateDisplayedVC(direction: UIPageViewController.NavigationDirection) { - let nextViewController: UIViewController - - switch viewModel?.currentPage { - case .getStarted: nextViewController = pageOneVC - - case .createArchive: nextViewController = pageTwoVC - - case .nameArchive: nextViewController = pageThreeVC - - case .pendingInvitation: nextViewController = pageOnePendingVC - - case .acceptedInvitation: nextViewController = pageTwoPendingVC - - default: nextViewController = pageOneVC - } - - pageViewController.setViewControllers([nextViewController], direction: direction, animated: true) - } - - @IBAction func backButtonPressed(_ sender: Any) { - var direction: UIPageViewController.NavigationDirection = .reverse - switch viewModel?.currentPage { - case .createArchive: - if viewModel?.acceptedArchives?.isEmpty == false { - viewModel?.currentPage = .acceptedInvitation - } else if viewModel?.accountArchives?.isEmpty == false { - viewModel?.currentPage = .pendingInvitation - } else { - viewModel?.currentPage = .getStarted - } - - case .nameArchive: viewModel?.currentPage = .createArchive - - case .pendingInvitation: - viewModel?.currentPage = .createArchive - direction = .forward - - case .acceptedInvitation: viewModel?.currentPage = .createArchive - direction = .forward - - default: viewModel?.currentPage = .getStarted - } - - updateCurrentPage(direction: direction) - } - - @IBAction func nextButtonPressed(_ sender: Any) { - switch viewModel?.currentPage { - case .getStarted: viewModel?.currentPage = .createArchive - - case .createArchive: viewModel?.currentPage = .nameArchive - - case .nameArchive: - showSpinner() - viewModel?.finishOnboard({ status in - self.hideSpinner() - if status == .success { - AppDelegate.shared.rootViewController.setDrawerRoot() - } else { - self.showErrorAlert(message: .errorMessage) - } - }) - - case .pendingInvitation: - showSpinner() - viewModel?.acceptAllPendingArchives({ [weak self] result, error in - self?.hideSpinner() - if result { - self?.viewModel?.currentPage = .acceptedInvitation - self?.updateCurrentPage(direction: .forward) - return - } else { - self?.showErrorAlert(message: .errorMessage) - } - }) - - case .acceptedInvitation: viewModel?.currentPage = .acceptedInvitation - - default: viewModel?.currentPage = .getStarted - } - - updateCurrentPage(direction: .forward) - } -} diff --git a/Permanent/Modules/Main/ViewController/RootViewController.swift b/Permanent/Modules/Main/ViewController/RootViewController.swift index b64eb08f..29408e0f 100644 --- a/Permanent/Modules/Main/ViewController/RootViewController.swift +++ b/Permanent/Modules/Main/ViewController/RootViewController.swift @@ -82,9 +82,8 @@ class RootViewController: UIViewController { self?.setRoot(named: .biometrics, from: .authentication) } } else { - let isNewUser: Bool = PreferencesManager.shared.getValue(forKey: Constants.Keys.StorageKeys.isNewUserStorageKey) ?? true let skipOnboarding: Bool = CommandLine.arguments.contains("--SkipOnboarding") - let route: (ViewControllerId, StoryboardName) = (isNewUser && !skipOnboarding) ? (.onboarding, .onboarding) : (.signUp, .authentication) + let route: (ViewControllerId, StoryboardName) = (.signUp, .authentication) if skipOnboarding { AuthenticationManager.shared.logout() diff --git a/Permanent/Modules/Onboarding/Screens/Container/OnboardingView.swift b/Permanent/Modules/Onboarding/Screens/Container/OnboardingView.swift index a4ed8dad..76de76f1 100644 --- a/Permanent/Modules/Onboarding/Screens/Container/OnboardingView.swift +++ b/Permanent/Modules/Onboarding/Screens/Container/OnboardingView.swift @@ -230,7 +230,7 @@ struct OnboardingView: View { } #Preview { - var onboardingViewModel = OnboardingContainerViewModel(username: "none", password: "none") + let onboardingViewModel = OnboardingContainerViewModel(username: "none", password: "none") onboardingViewModel.fullName = "really long username" onboardingViewModel.allArchives = [ OnboardingArchive(fullname: "Documents", accessType: "viewer", status: ArchiveVOData.Status.ok, archiveID: 33, thumbnailURL: "", isThumbnailGenerated: false), diff --git a/Permanent/Modules/Onboarding/ViewController/OnboadingViewController.swift b/Permanent/Modules/Onboarding/ViewController/OnboadingViewController.swift deleted file mode 100644 index 82db9410..00000000 --- a/Permanent/Modules/Onboarding/ViewController/OnboadingViewController.swift +++ /dev/null @@ -1,62 +0,0 @@ -// -// OnboadingViewStoryboard.swift -// Permanent -// -// Created by Lucian Cerbu on 20/08/2020. -// - -import UIKit - -class OnboadingViewController: BaseViewController { - @IBOutlet var nextButtonLabel: RoundedButton! - @IBOutlet var skipButtonLabel: UIButton! - - var delegate: OnboardingViewModelDelegate? - weak var pageViewController: PageViewController? - - override func viewDidLoad() { - super.viewDidLoad() - - navigationController?.setNavigationBarHidden(true, animated: false) - view.backgroundColor = .darkBlue - skipButtonLabel.setTitleColor(.white, for: .normal) - nextButtonLabel.setTitle(.next, for: .normal) - } - - @IBAction func nextButton(_ sender: RoundedButton) { - if pageViewController?.viewModel?.moveToNextPage() == false { - goToLogin() - } - } - - @IBAction func skipButton(_ sender: UIButton) { - goToLogin() - } - - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { - if segue.identifier == "showPageViewControllerSegue" { - pageViewController = segue.destination as? PageViewController - - pageViewController?.viewModel = PageViewModel() - pageViewController?.viewModel?.delegate = pageViewController - - pageViewController?.viewModel?.onCurrentPageChange = { [weak self] currentPageIndex, _ in - self?.nextButtonLabel.setTitle("\(Constants.onboardingBottomButtonText[currentPageIndex])", for: .normal) - } - } - } -} - -extension OnboadingViewController: OnboardingViewModelDelegate, UIScrollViewDelegate { - func configureHolderView() {} - - func nextButtonPressed(page: Int, scrollView: UIScrollView) {} - - func goToLogin() { - PreferencesManager.shared.set(false, forKey: Constants.Keys.StorageKeys.isNewUserStorageKey) - PreferencesManager.shared.set(true, forKey: Constants.Keys.StorageKeys.biometricsAuthEnabled) - - let signUpController = UIViewController.create(withIdentifier: .signUp, from: .authentication) - navigationController?.setViewControllers([signUpController], animated: true) - } -} diff --git a/Permanent/Modules/Onboarding/ViewController/OnboardingPageOne.swift b/Permanent/Modules/Onboarding/ViewController/OnboardingPageOne.swift deleted file mode 100644 index 156866f5..00000000 --- a/Permanent/Modules/Onboarding/ViewController/OnboardingPageOne.swift +++ /dev/null @@ -1,29 +0,0 @@ -// -// OnboardingPageOne.swift -// Permanent -// -// Created by Lucian Cerbu on 20/08/2020. -// - -import UIKit - -class OnboardingPageOne: UIViewController { - @IBOutlet weak var labelOne: UILabel! - @IBOutlet weak var labelTwo: UILabel! - override func viewDidLoad() { - super.viewDidLoad() - view.backgroundColor = .darkBlue - - labelOne.attributedText = TextFontStyle.style.setTextWithLineSpacing(text: Constants.onboardingTextBold[0]) - labelOne.font = TextFontStyle.style.font - labelOne.textAlignment = TextFontStyle.style.alignment - labelOne.numberOfLines = 3 - labelOne.textColor = .white - - labelTwo.attributedText = TextFontStyle.style2.setTextWithLineSpacing(text: Constants.onboardingTextNormal[0]) - labelTwo.font = TextFontStyle.style2.font - labelTwo.textAlignment = TextFontStyle.style2.alignment - labelTwo.numberOfLines = 3 - labelTwo.textColor = .white - } -} diff --git a/Permanent/Modules/Onboarding/ViewController/OnboardingPageThree.swift b/Permanent/Modules/Onboarding/ViewController/OnboardingPageThree.swift deleted file mode 100644 index d426425b..00000000 --- a/Permanent/Modules/Onboarding/ViewController/OnboardingPageThree.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// OnboardingPageThree.swift -// Permanent -// -// Created by Lucian Cerbu on 21/08/2020. -// - -import UIKit - -class OnboardingPageThree: UIViewController { - - @IBOutlet weak var labelOne: UILabel! - @IBOutlet weak var labelTwo: UILabel! - - override func viewDidLoad() { - super.viewDidLoad() - - view.backgroundColor = .darkBlue - labelOne.textColor = .white - labelTwo.textColor = .white - - labelOne.attributedText = TextFontStyle.style.setTextWithLineSpacing(text: Constants.onboardingTextBold[2]) - labelOne.font = TextFontStyle.style.font - labelOne.textAlignment = TextFontStyle.style.alignment - labelOne.numberOfLines = 3 - - labelTwo.attributedText = TextFontStyle.style2.setTextWithLineSpacing(text: Constants.onboardingTextNormal[2]) - labelTwo.font = TextFontStyle.style2.font - labelTwo.textAlignment = TextFontStyle.style2.alignment - labelTwo.numberOfLines = 3 - } -} diff --git a/Permanent/Modules/Onboarding/ViewController/OnboardingPageTwo.swift b/Permanent/Modules/Onboarding/ViewController/OnboardingPageTwo.swift deleted file mode 100644 index b886154b..00000000 --- a/Permanent/Modules/Onboarding/ViewController/OnboardingPageTwo.swift +++ /dev/null @@ -1,31 +0,0 @@ -// -// OnboardingPageTwo.swift -// Permanent -// -// Created by Lucian Cerbu on 21/08/2020. -// - -import UIKit - -class OnboardingPageTwo: UIViewController { - @IBOutlet weak var labelOne: UILabel! - @IBOutlet weak var labelTwo: UILabel! - - override func viewDidLoad() { - super.viewDidLoad() - - view.backgroundColor = .darkBlue - labelOne.textColor = .white - labelTwo.textColor = .white - - labelOne.attributedText = TextFontStyle.style.setTextWithLineSpacing(text: Constants.onboardingTextBold[1]) - labelOne.font = TextFontStyle.style.font - labelOne.textAlignment = TextFontStyle.style.alignment - labelOne.numberOfLines = 3 - - labelTwo.attributedText = TextFontStyle.style2.setTextWithLineSpacing(text: Constants.onboardingTextNormal[1]) - labelTwo.font = TextFontStyle.style2.font - labelTwo.textAlignment = TextFontStyle.style2.alignment - labelTwo.numberOfLines = 3 - } -} diff --git a/Permanent/Modules/Onboarding/ViewController/PageViewController.swift b/Permanent/Modules/Onboarding/ViewController/PageViewController.swift deleted file mode 100644 index d2198e60..00000000 --- a/Permanent/Modules/Onboarding/ViewController/PageViewController.swift +++ /dev/null @@ -1,91 +0,0 @@ -// -// PageViewController.swift -// Permanent -// -// Created by Gabi Tiplea on 20/08/2020. -// - -import UIKit - -class PageViewController: BasePageViewController { - - override func viewDidLoad() { - super.viewDidLoad() - dataSource = self - delegate = self - - navigationController?.setNavigationBarHidden(true, animated: false) - pageControl.currentPageIndicatorTintColor = .tangerine - pageControl.pageIndicatorTintColor = .white - } -} - -extension PageViewController: UIPageViewControllerDelegate { - func pageViewController(_ pageViewController: UIPageViewController, willTransitionTo pendingViewControllers: [UIViewController]) { - guard let nextViewController = pendingViewControllers.first else { - return - } - if let index = currentViewControllers.firstIndex(of: nextViewController) { - viewModel?.currentPage = index - } - } -} - -extension PageViewController: UIPageViewControllerDataSource { - func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { - guard let index = currentViewControllers.firstIndex(of: viewController) else { - print("Failed to find view controller") - return nil - } - if let beforePageIndex = viewModel?.beforePageIndex(before: index) { - return currentViewControllers[beforePageIndex] - } else { - return nil - } - } - - func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? { - guard let index = currentViewControllers.firstIndex(of: viewController) else { - print("Failed to find view controller") - return nil - } - if let nextPageIndex = viewModel?.nextPageIndex(after: index) { - return currentViewControllers[nextPageIndex] - } else { - return nil - } - } - - func presentationCount(for _: UIPageViewController) -> Int { - return currentViewControllers.count - } - - func presentationIndex(for _: UIPageViewController) -> Int { - guard let viewController = viewControllers?.first else { return NSNotFound} - guard let index = currentViewControllers.firstIndex(of: viewController) else { - print("Failed to find view controller") - return NSNotFound - } - return index - } -} - -extension PageViewController: PageViewModelDelegate { - func numberOfViewControllers() -> Int { - return currentViewControllers.count - } - - func setViewController(of index: Int) { - if !(0.. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Permanent/Resources/Storyboards/Onboarding.storyboard b/Permanent/Resources/Storyboards/Onboarding.storyboard deleted file mode 100644 index a2caaf0e..00000000 --- a/Permanent/Resources/Storyboards/Onboarding.storyboard +++ /dev/null @@ -1,334 +0,0 @@ - - - - - - - - - - - - - OpenSans-SemiBold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Podfile b/Podfile index 4147897c..d040f29d 100644 --- a/Podfile +++ b/Podfile @@ -3,21 +3,21 @@ use_frameworks! inhibit_all_warnings! target 'Permanent' do - pod 'Firebase/Analytics', '6.32.2' - pod 'Firebase/Crashlytics', '6.32.2' - pod 'Firebase/Messaging' - pod 'Firebase/RemoteConfig' + pod 'Firebase/Analytics', '11.1.0' + pod 'Firebase/Crashlytics', '11.1.0' + pod 'Firebase/Messaging', '11.1.0' + pod 'Firebase/RemoteConfig', '11.1.0' pod 'Protobuf', '3.22.3' pod 'ObjectMapper', '4.2.0' pod 'SDWebImage', '5.10.0' pod 'SDWebImageSwiftUI', '2.2.3' pod 'Sourcery', '1.4.1' - pod 'GoogleMaps', '6.1.1.0' - pod 'GooglePlaces', '6.1.1.0' + pod 'GoogleMaps', '8.4.0' + pod 'GooglePlaces', '8.5.0' pod 'KeychainSwift', '20.0' pod 'StripeApplePay', '22.8.1' pod 'SkeletonView', '1.30.4' - pod 'Mixpanel-swift' + pod 'Mixpanel-swift', '4.3.0' target 'PermanentTests' do inherit! :search_paths diff --git a/Podfile.lock b/Podfile.lock index 2e7646d4..64b67d6c 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,116 +1,161 @@ PODS: - - Firebase (6.32.2): - - Firebase/Core (= 6.32.2) - - Firebase/Analytics (6.32.2): + - Firebase (11.1.0): + - Firebase/Core (= 11.1.0) + - Firebase/Analytics (11.1.0): - Firebase/Core - - Firebase/Core (6.32.2): + - Firebase/Core (11.1.0): - Firebase/CoreOnly - - FirebaseAnalytics (= 6.8.2) - - Firebase/CoreOnly (6.32.2): - - FirebaseCore (= 6.10.2) - - Firebase/Crashlytics (6.32.2): + - FirebaseAnalytics (~> 11.1.0) + - Firebase/CoreOnly (11.1.0): + - FirebaseCore (= 11.1.0) + - Firebase/Crashlytics (11.1.0): - Firebase/CoreOnly - - FirebaseCrashlytics (~> 4.6.0) - - Firebase/Messaging (6.32.2): + - FirebaseCrashlytics (~> 11.1.0) + - Firebase/Messaging (11.1.0): - Firebase/CoreOnly - - FirebaseMessaging (~> 4.6.2) - - Firebase/RemoteConfig (6.32.2): + - FirebaseMessaging (~> 11.1.0) + - Firebase/RemoteConfig (11.1.0): - Firebase/CoreOnly - - FirebaseRemoteConfig (~> 4.9.0) - - FirebaseABTesting (4.2.0): - - FirebaseCore (~> 6.10) - - FirebaseAnalytics (6.8.2): - - FirebaseCore (~> 6.10) - - FirebaseInstallations (~> 1.6) - - GoogleAppMeasurement (= 6.8.2) - - GoogleUtilities/AppDelegateSwizzler (~> 6.7) - - GoogleUtilities/MethodSwizzler (~> 6.7) - - GoogleUtilities/Network (~> 6.7) - - "GoogleUtilities/NSData+zlib (~> 6.7)" - - nanopb (~> 1.30906.0) - - FirebaseCore (6.10.2): - - FirebaseCoreDiagnostics (~> 1.6) - - GoogleUtilities/Environment (~> 6.7) - - GoogleUtilities/Logger (~> 6.7) - - FirebaseCoreDiagnostics (1.7.0): - - GoogleDataTransport (~> 7.4) - - GoogleUtilities/Environment (~> 6.7) - - GoogleUtilities/Logger (~> 6.7) - - nanopb (~> 1.30906.0) - - FirebaseCrashlytics (4.6.2): - - FirebaseCore (~> 6.10) - - FirebaseInstallations (~> 1.6) - - GoogleDataTransport (~> 7.2) - - nanopb (~> 1.30906.0) - - PromisesObjC (~> 1.2) - - FirebaseInstallations (1.7.0): - - FirebaseCore (~> 6.10) - - GoogleUtilities/Environment (~> 6.7) - - GoogleUtilities/UserDefaults (~> 6.7) - - PromisesObjC (~> 1.2) - - FirebaseInstanceID (4.8.0): - - FirebaseCore (~> 6.10) - - FirebaseInstallations (~> 1.6) - - GoogleUtilities/Environment (~> 6.7) - - GoogleUtilities/UserDefaults (~> 6.7) - - FirebaseMessaging (4.6.2): - - FirebaseCore (~> 6.10) - - FirebaseInstanceID (~> 4.6) - - GoogleUtilities/AppDelegateSwizzler (~> 6.7) - - GoogleUtilities/Environment (~> 6.7) - - GoogleUtilities/Reachability (~> 6.7) - - GoogleUtilities/UserDefaults (~> 6.7) - - Protobuf (>= 3.9.2, ~> 3.9) - - FirebaseRemoteConfig (4.9.1): - - FirebaseABTesting (~> 4.2) - - FirebaseCore (~> 6.10) - - FirebaseInstallations (~> 1.6) - - GoogleUtilities/Environment (~> 6.7) - - "GoogleUtilities/NSData+zlib (~> 6.7)" - - GoogleAppMeasurement (6.8.2): - - GoogleUtilities/AppDelegateSwizzler (~> 6.7) - - GoogleUtilities/MethodSwizzler (~> 6.7) - - GoogleUtilities/Network (~> 6.7) - - "GoogleUtilities/NSData+zlib (~> 6.7)" - - nanopb (~> 1.30906.0) - - GoogleDataTransport (7.5.1): - - nanopb (~> 1.30906.0) - - GoogleMaps (6.1.1): - - GoogleMaps/Maps (= 6.1.1) - - GoogleMaps/Base (6.1.1) - - GoogleMaps/Maps (6.1.1): + - FirebaseRemoteConfig (~> 11.1.0) + - FirebaseABTesting (11.1.0): + - FirebaseCore (~> 11.0) + - FirebaseAnalytics (11.1.0): + - FirebaseAnalytics/AdIdSupport (= 11.1.0) + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - FirebaseAnalytics/AdIdSupport (11.1.0): + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - GoogleAppMeasurement (= 11.1.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - FirebaseCore (11.1.0): + - FirebaseCoreInternal (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/Logger (~> 8.0) + - FirebaseCoreExtension (11.1.0): + - FirebaseCore (~> 11.0) + - FirebaseCoreInternal (11.1.0): + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseCrashlytics (11.1.0): + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - FirebaseRemoteConfigInterop (~> 11.0) + - FirebaseSessions (~> 11.0) + - GoogleDataTransport (~> 10.0) + - GoogleUtilities/Environment (~> 8.0) + - nanopb (~> 3.30910.0) + - PromisesObjC (~> 2.4) + - FirebaseInstallations (11.1.0): + - FirebaseCore (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - PromisesObjC (~> 2.4) + - FirebaseMessaging (11.1.0): + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - GoogleDataTransport (~> 10.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/Reachability (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - nanopb (~> 3.30910.0) + - FirebaseRemoteConfig (11.1.0): + - FirebaseABTesting (~> 11.0) + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - FirebaseRemoteConfigInterop (~> 11.0) + - FirebaseSharedSwift (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseRemoteConfigInterop (11.1.0) + - FirebaseSessions (11.1.0): + - FirebaseCore (~> 11.0) + - FirebaseCoreExtension (~> 11.0) + - FirebaseInstallations (~> 11.0) + - GoogleDataTransport (~> 10.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - nanopb (~> 3.30910.0) + - PromisesSwift (~> 2.1) + - FirebaseSharedSwift (11.1.0) + - GoogleAppMeasurement (11.1.0): + - GoogleAppMeasurement/AdIdSupport (= 11.1.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleAppMeasurement/AdIdSupport (11.1.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 11.1.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleAppMeasurement/WithoutAdIdSupport (11.1.0): + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleDataTransport (10.1.0): + - nanopb (~> 3.30910.0) + - PromisesObjC (~> 2.4) + - GoogleMaps (8.4.0): + - GoogleMaps/Maps (= 8.4.0) + - GoogleMaps/Base (8.4.0) + - GoogleMaps/Maps (8.4.0): - GoogleMaps/Base - - GooglePlaces (6.1.1) - - GoogleUtilities/AppDelegateSwizzler (6.7.2): + - GooglePlaces (8.5.0) + - GoogleUtilities/AppDelegateSwizzler (8.0.2): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (6.7.2): - - PromisesObjC (~> 1.2) - - GoogleUtilities/Logger (6.7.2): + - GoogleUtilities/Privacy + - GoogleUtilities/Environment (8.0.2): + - GoogleUtilities/Privacy + - GoogleUtilities/Logger (8.0.2): - GoogleUtilities/Environment - - GoogleUtilities/MethodSwizzler (6.7.2): + - GoogleUtilities/Privacy + - GoogleUtilities/MethodSwizzler (8.0.2): - GoogleUtilities/Logger - - GoogleUtilities/Network (6.7.2): + - GoogleUtilities/Privacy + - GoogleUtilities/Network (8.0.2): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Privacy - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (6.7.2)" - - GoogleUtilities/Reachability (6.7.2): + - "GoogleUtilities/NSData+zlib (8.0.2)": + - GoogleUtilities/Privacy + - GoogleUtilities/Privacy (8.0.2) + - GoogleUtilities/Reachability (8.0.2): - GoogleUtilities/Logger - - GoogleUtilities/UserDefaults (6.7.2): + - GoogleUtilities/Privacy + - GoogleUtilities/UserDefaults (8.0.2): - GoogleUtilities/Logger + - GoogleUtilities/Privacy - KeychainSwift (20.0.0) - - Mixpanel-swift (4.1.4): - - Mixpanel-swift/Complete (= 4.1.4) - - Mixpanel-swift/Complete (4.1.4) - - nanopb (1.30906.0): - - nanopb/decode (= 1.30906.0) - - nanopb/encode (= 1.30906.0) - - nanopb/decode (1.30906.0) - - nanopb/encode (1.30906.0) + - Mixpanel-swift (4.3.0): + - Mixpanel-swift/Complete (= 4.3.0) + - Mixpanel-swift/Complete (4.3.0) + - nanopb (3.30910.0): + - nanopb/decode (= 3.30910.0) + - nanopb/encode (= 3.30910.0) + - nanopb/decode (3.30910.0) + - nanopb/encode (3.30910.0) - ObjectMapper (4.2.0) - - PromisesObjC (1.2.12) + - PromisesObjC (2.4.0) + - PromisesSwift (2.4.0): + - PromisesObjC (= 2.4.0) - Protobuf (3.22.3) - SDWebImage (5.10.0): - SDWebImage/Core (= 5.10.0) @@ -125,14 +170,14 @@ PODS: DEPENDENCIES: - Firebase - - Firebase/Analytics (= 6.32.2) - - Firebase/Crashlytics (= 6.32.2) - - Firebase/Messaging - - Firebase/RemoteConfig - - GoogleMaps (= 6.1.1.0) - - GooglePlaces (= 6.1.1.0) + - Firebase/Analytics (= 11.1.0) + - Firebase/Crashlytics (= 11.1.0) + - Firebase/Messaging (= 11.1.0) + - Firebase/RemoteConfig (= 11.1.0) + - GoogleMaps (= 8.4.0) + - GooglePlaces (= 8.5.0) - KeychainSwift (= 20.0) - - Mixpanel-swift + - Mixpanel-swift (= 4.3.0) - ObjectMapper (= 4.2.0) - Protobuf (= 3.22.3) - SDWebImage (= 5.10.0) @@ -147,12 +192,15 @@ SPEC REPOS: - FirebaseABTesting - FirebaseAnalytics - FirebaseCore - - FirebaseCoreDiagnostics + - FirebaseCoreExtension + - FirebaseCoreInternal - FirebaseCrashlytics - FirebaseInstallations - - FirebaseInstanceID - FirebaseMessaging - FirebaseRemoteConfig + - FirebaseRemoteConfigInterop + - FirebaseSessions + - FirebaseSharedSwift - GoogleAppMeasurement - GoogleDataTransport - GoogleMaps @@ -163,6 +211,7 @@ SPEC REPOS: - nanopb - ObjectMapper - PromisesObjC + - PromisesSwift - Protobuf - SDWebImage - SDWebImageSwiftUI @@ -172,26 +221,30 @@ SPEC REPOS: - StripeCore SPEC CHECKSUMS: - Firebase: 47176280bfba198e531f909cfb1612dad216cb96 - FirebaseABTesting: 8a9d8df3acc2b43f4a22014ddf9f601bca6af699 - FirebaseAnalytics: 3c2fee6a922023ccfda7af87e4e641bad1fc11ba - FirebaseCore: 1d697bb944bf2af5fc248f1a66e165c9dd88bf97 - FirebaseCoreDiagnostics: 770ac5958e1372ce67959ae4b4f31d8e127c3ac1 - FirebaseCrashlytics: 1a747c9cc084a24dc6d9511c991db1cd078154eb - FirebaseInstallations: 466c7b4d1f58fe16707693091da253726a731ed2 - FirebaseInstanceID: bd3ffc24367f901a43c063b36c640b345a4a5dd1 - FirebaseMessaging: 82d75b3770a78bbce470769a6980429608b4c407 - FirebaseRemoteConfig: 35a729305f254fb15a2e541d4b36f3a379da7fdc - GoogleAppMeasurement: 1a66f478c68ecd6c16ee63ee60c7c3a648e6b337 - GoogleDataTransport: f56af7caa4ed338dc8e138a5d7c5973e66440833 - GoogleMaps: 94e6e0851beece6678af9f508f4918b7a7c61722 - GooglePlaces: 9c1f3baa75191b94dfc12b80a801292e03977f73 - GoogleUtilities: 7f2f5a07f888cdb145101d6042bc4422f57e70b3 + Firebase: fdb3bd378401f26a7adfcf446b0a630f8c20c0e8 + FirebaseABTesting: c2e22c3aab99afa81d0561708b2c1c356c556976 + FirebaseAnalytics: 9fcdb2e9844174bb405b34cc47092c9b91993d83 + FirebaseCore: 6e2a2782e234b14d48e880ed369ac55cda87fed7 + FirebaseCoreExtension: aa5c9779c2d0d39d83f1ceb3fdbafe80c4feecfa + FirebaseCoreInternal: adefedc9a88dbe393c4884640a73ec9e8e790f8c + FirebaseCrashlytics: 95cfe27373ff2edab39c28583d93cbf2dfff401d + FirebaseInstallations: d0a8fea5a6fa91abc661591cf57c0f0d70863e57 + FirebaseMessaging: 61014ecade746724664eee1f6c066c058a7c9fa7 + FirebaseRemoteConfig: 05521e937b72e01847a7128da5a492327364c705 + FirebaseRemoteConfigInterop: abf8b1bbc0bf1b84abd22b66746926410bf91a87 + FirebaseSessions: 78f137e68dc01ca71606169ba4ac73b98c13752a + FirebaseSharedSwift: 260a35e08943ec810d820a70bc0359136351d0c5 + GoogleAppMeasurement: 8bb20efc67c8fc1cff9c42a06c256caf55289bbf + GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 + GoogleMaps: 8939898920281c649150e0af74aa291c60f2e77d + GooglePlaces: 426efb69051e7b460e16300ba63598687d10fa1a + GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d KeychainSwift: 0ce6a4d13f7228054d1a71bb1b500448fb2ab837 - Mixpanel-swift: 4991762c97c3535ce4e67c395a93e40ab7b666f7 - nanopb: 59317e09cf1f1a0af72f12af412d54edf52603fc + Mixpanel-swift: 2192b9a24cf41b870749e4e0e10fbc9822bb2b4a + nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 ObjectMapper: 1eb41f610210777375fa806bf161dc39fb832b81 - PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97 + PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 + PromisesSwift: 9d77319bbe72ebf6d872900551f7eeba9bce2851 Protobuf: d03938d5f7e974a97964fb0567771e36fbe9ecce SDWebImage: 9169792e9eec3e45bba2a0c02f74bf8bd922d1ee SDWebImageSwiftUI: 17396b7889f9abc27231caaeb64c537564284aab @@ -200,6 +253,6 @@ SPEC CHECKSUMS: StripeApplePay: 858c1dadc39b658d317661dea8cc2b7158533a17 StripeCore: 52e0aba2fad604455692db593bf5edc04758b760 -PODFILE CHECKSUM: 0574e6577e141971eb1229b2c6f1e2396263d9f4 +PODFILE CHECKSUM: 27f2734a24302941522daf1e2cdd1a654d359145 COCOAPODS: 1.13.0