From c3d91c25f3026eaac0909f469e75792f82535245 Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Wed, 1 Jul 2020 12:39:26 -0400 Subject: [PATCH 01/19] Add feature flag for new Gutenberg Modal layout picker --- WordPress/Classes/Utility/BuildInformation/FeatureFlag.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/WordPress/Classes/Utility/BuildInformation/FeatureFlag.swift b/WordPress/Classes/Utility/BuildInformation/FeatureFlag.swift index 963b69adbd7f..143b960ee010 100644 --- a/WordPress/Classes/Utility/BuildInformation/FeatureFlag.swift +++ b/WordPress/Classes/Utility/BuildInformation/FeatureFlag.swift @@ -14,6 +14,7 @@ enum FeatureFlag: Int, CaseIterable { case readerWebview case swiftCoreData case homepageSettings + case gutenbergModalLayoutPicker /// Returns a boolean indicating if the feature is enabled var enabled: Bool { @@ -46,6 +47,8 @@ enum FeatureFlag: Int, CaseIterable { return BuildConfiguration.current == .localDeveloper case .homepageSettings: return true + case .gutenbergModalLayoutPicker: + return BuildConfiguration.current ~= [.localDeveloper, .a8cBranchTest] } } } @@ -88,6 +91,8 @@ extension FeatureFlag: OverrideableFlag { return "Migrate Core Data Stack to Swift" case .homepageSettings: return "Homepage Settings" + case .gutenbergModalLayoutPicker: + return "Gutenberg Modal Layout Picker" } } From 6d2ad121402af1f219ca49afe0341ee038cec16c Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Tue, 7 Jul 2020 13:22:09 -0400 Subject: [PATCH 02/19] Create base elements for Layout Picker --- .../Classes/Services/PageCoordinator.swift | 22 ++ WordPress/Classes/Services/PageService.swift | 16 ++ .../GutenbergLayoutPickerViewController.swift | 81 ++++++ .../GutenbergPreviewViewController.swift | 5 + .../LayoutPickerStoryboard.storyboard | 241 ++++++++++++++++++ .../Pages/PageListViewController.swift | 13 +- .../System/WPTabBarController+ShowTab.swift | 11 +- WordPress/WordPress.xcodeproj/project.pbxproj | 46 +++- 8 files changed, 419 insertions(+), 16 deletions(-) create mode 100644 WordPress/Classes/Services/PageCoordinator.swift create mode 100644 WordPress/Classes/Services/PageService.swift create mode 100644 WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift create mode 100644 WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergPreviewViewController.swift create mode 100644 WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard diff --git a/WordPress/Classes/Services/PageCoordinator.swift b/WordPress/Classes/Services/PageCoordinator.swift new file mode 100644 index 000000000000..5c657cd0335b --- /dev/null +++ b/WordPress/Classes/Services/PageCoordinator.swift @@ -0,0 +1,22 @@ +import Foundation + +class PageCoordinator { + + static func showLayoutPickerIfNeeded(from controller: UIViewController, forBlog blog: Blog, completion:(()->Void)) { + if Feature.enabled(.gutenbergModalLayoutPicker) && blog.isGutenbergEnabled { + showLayoutPicker(from: controller, completion) + } else { + completion() + } + } + + private static func showLayoutPicker(from controller: UIViewController, _ completion:(()->Void)) { + let storyboard = UIStoryboard(name: "LayoutPickerStoryboard", bundle: Bundle.main) + guard let rootView = storyboard.instantiateInitialViewController() else { + completion() + return + } + rootView.modalPresentationStyle = .pageSheet + controller.present(rootView, animated: true, completion: nil) + } +} diff --git a/WordPress/Classes/Services/PageService.swift b/WordPress/Classes/Services/PageService.swift new file mode 100644 index 000000000000..c2abb8b082ac --- /dev/null +++ b/WordPress/Classes/Services/PageService.swift @@ -0,0 +1,16 @@ +import Foundation + +class PageCoordinator { + + static func showLayoutPickerIfNeeded(forBlog blog: Blog, completion:(()->Void)) { + if Feature.enabled(.gutenbergModalLayoutPicker) && blog.isGutenbergEnabled { + showLayoutPicker(completion) + } else { + completion() + } + } + + private static func showLayoutPicker(_ completion:(()->Void)) { + completion() + } +} diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift new file mode 100644 index 000000000000..1637c6235568 --- /dev/null +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift @@ -0,0 +1,81 @@ +import UIKit +import Gridicons + +class GutenbergLayoutPickerViewController: UIViewController { + + @IBOutlet weak var headerView: UIView! + @IBOutlet weak var tableView: UITableView! + @IBOutlet weak var footerView: UIView! + @IBOutlet weak var createBlankPageBtn: UIButton! + @IBOutlet weak var closeButton: UIButton! + + override func viewDidLoad() { + + let seperator: UIColor + if #available(iOS 13.0, *) { + seperator = UIColor.separator + } else { + seperator = UIColor(red: 0.235, green: 0.235, blue: 0.263, alpha: 0.29) + } + + headerView.layer.borderColor = seperator.cgColor + headerView.layer.borderWidth = 0.5 + + footerView.layer.borderColor = seperator.cgColor + footerView.layer.borderWidth = 0.5 + + createBlankPageBtn.layer.borderColor = seperator.cgColor + createBlankPageBtn.layer.borderWidth = 0.5 + createBlankPageBtn.layer.cornerRadius = 8 + + var tableFooterFrame = footerView.frame + tableFooterFrame.origin.x = 0 + tableFooterFrame.origin.y = 0 + tableFooterFrame.size.height -= UIApplication.shared.keyWindow?.safeAreaInsets.bottom ?? 44 + let tableFooterView = UIView(frame: tableFooterFrame) + tableView.tableFooterView = tableFooterView + + closeButton.setImage(UIImage.gridicon(.crossSmall), for: .normal) + + super.viewDidLoad() + } + + override func viewWillAppear(_ animated: Bool) { + navigationController?.isNavigationBarHidden = true + super.viewWillAppear(animated) + } + + override func viewDidDisappear(_ animated: Bool) { + navigationController?.isNavigationBarHidden = false + super.viewDidDisappear(animated) + } + + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + navigationController?.isNavigationBarHidden = false + super.prepare(for: segue, sender: sender) + } + + @IBAction func closeModal(_ sender: Any) { + dismiss(animated: true, completion: nil) + } +} + +extension GutenbergLayoutPickerViewController: UITableViewDelegate { + +} + +extension GutenbergLayoutPickerViewController: UITableViewDataSource { + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return 20 + } + + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + return 318 + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = UITableViewCell(style: .default, reuseIdentifier: nil) + return cell + } +} diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergPreviewViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergPreviewViewController.swift new file mode 100644 index 000000000000..06e6bf2b4a51 --- /dev/null +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergPreviewViewController.swift @@ -0,0 +1,5 @@ +import UIKit + +class GutenbergPreviewViewController: UIViewController { + +} diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard new file mode 100644 index 000000000000..853e3f5513f2 --- /dev/null +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard @@ -0,0 +1,241 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WordPress/Classes/ViewRelated/Pages/PageListViewController.swift b/WordPress/Classes/ViewRelated/Pages/PageListViewController.swift index 9a224997598e..b77ac03d3d7a 100644 --- a/WordPress/Classes/ViewRelated/Pages/PageListViewController.swift +++ b/WordPress/Classes/ViewRelated/Pages/PageListViewController.swift @@ -442,11 +442,20 @@ class PageListViewController: AbstractPostListViewController, UIViewControllerRe // MARK: - Post Actions override func createPost() { + WPAppAnalytics.track(.editorCreatedPost, withProperties: ["tap_source": "posts_view", WPAppAnalyticsKeyPostType: "page"], with: blog) + + PageCoordinator.showLayoutPickerIfNeeded(from: self, forBlog: blog) { [weak self] in + self?.createPage() + } + } + + func createPage(content: String? = nil) { let context = ContextManager.sharedInstance().mainContext let postService = PostService(managedObjectContext: context) let page = postService.createDraftPage(for: blog) - WPAppAnalytics.track(.editorCreatedPost, withProperties: ["tap_source": "posts_view", WPAppAnalyticsKeyPostType: "page"], with: blog) - showEditor(post: page) + page.content = content + + self.showEditor(post: page) QuickStartTourGuide.find()?.visited(.newPage) } diff --git a/WordPress/Classes/ViewRelated/System/WPTabBarController+ShowTab.swift b/WordPress/Classes/ViewRelated/System/WPTabBarController+ShowTab.swift index 50e0a493bc3c..83d45237477f 100644 --- a/WordPress/Classes/ViewRelated/System/WPTabBarController+ShowTab.swift +++ b/WordPress/Classes/ViewRelated/System/WPTabBarController+ShowTab.swift @@ -17,16 +17,21 @@ extension WPTabBarController { } guard let blog = inBlog ?? self.currentOrLastBlog() else { return } + let blogID = blog.dotComID?.intValue ?? 0 as Any + WPAnalytics.track(WPAnalyticsEvent.editorCreatedPage, properties: ["tap_source": source, WPAppAnalyticsKeyBlogID: blogID, WPAppAnalyticsKeyPostType: "page"]) + + PageCoordinator.showLayoutPickerIfNeeded(from: self, forBlog: blog) { [weak self] in + self?.showPageEditor(blog: blog, title: title, content: content, template: nil) + } + } + private func showPageEditor(blog: Blog, title: String?, content: String?, template: String?) { let context = ContextManager.sharedInstance().mainContext let postService = PostService(managedObjectContext: context) let page = postService.createDraftPage(for: blog) page.postTitle = title page.content = content - let blogID = blog.dotComID?.intValue ?? 0 as Any - WPAnalytics.track(WPAnalyticsEvent.editorCreatedPage, properties: ["tap_source": source, WPAppAnalyticsKeyBlogID: blogID, WPAppAnalyticsKeyPostType: "page"]) - let editorFactory = EditorFactory() let pageViewController = editorFactory.instantiateEditor( diff --git a/WordPress/WordPress.xcodeproj/project.pbxproj b/WordPress/WordPress.xcodeproj/project.pbxproj index bd6d0a6e3662..767570a8a7d0 100644 --- a/WordPress/WordPress.xcodeproj/project.pbxproj +++ b/WordPress/WordPress.xcodeproj/project.pbxproj @@ -578,6 +578,10 @@ 4629E4212440C5B20002E15C /* GutenbergCoverUploadProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4629E4202440C5B20002E15C /* GutenbergCoverUploadProcessor.swift */; }; 4629E4232440C8160002E15C /* GutenbergCoverUploadProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4629E4222440C8160002E15C /* GutenbergCoverUploadProcessorTests.swift */; }; 462F4E0A18369F0B0028D2F8 /* BlogDetailsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 462F4E0718369F0B0028D2F8 /* BlogDetailsViewController.m */; }; + 4631359124AD013F0017E65C /* PageCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4631359024AD013F0017E65C /* PageCoordinator.swift */; }; + 4631359424AD05A60017E65C /* LayoutPickerStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4631359324AD05A60017E65C /* LayoutPickerStoryboard.storyboard */; }; + 4631359624AD068B0017E65C /* GutenbergLayoutPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4631359524AD068B0017E65C /* GutenbergLayoutPickerViewController.swift */; }; + 4631359824AD06A10017E65C /* GutenbergPreviewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4631359724AD06A10017E65C /* GutenbergPreviewViewController.swift */; }; 46638DF6244904A3006E8439 /* GutenbergBlockProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46638DF5244904A3006E8439 /* GutenbergBlockProcessor.swift */; }; 46963F5924649542000D356D /* EditorTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46963F5824649542000D356D /* EditorTheme.swift */; }; 4B2DD0F29CD6AC353C056D41 /* Pods_WordPressUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DCE7542239FBC709B90EA85 /* Pods_WordPressUITests.framework */; }; @@ -2966,6 +2970,10 @@ 4629E4222440C8160002E15C /* GutenbergCoverUploadProcessorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GutenbergCoverUploadProcessorTests.swift; sourceTree = ""; }; 462F4E0618369F0B0028D2F8 /* BlogDetailsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlogDetailsViewController.h; sourceTree = ""; }; 462F4E0718369F0B0028D2F8 /* BlogDetailsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; lineEnding = 0; path = BlogDetailsViewController.m; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.objc; }; + 4631359024AD013F0017E65C /* PageCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PageCoordinator.swift; sourceTree = ""; }; + 4631359324AD05A60017E65C /* LayoutPickerStoryboard.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LayoutPickerStoryboard.storyboard; sourceTree = ""; }; + 4631359524AD068B0017E65C /* GutenbergLayoutPickerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GutenbergLayoutPickerViewController.swift; sourceTree = ""; }; + 4631359724AD06A10017E65C /* GutenbergPreviewViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GutenbergPreviewViewController.swift; sourceTree = ""; }; 46638DF5244904A3006E8439 /* GutenbergBlockProcessor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GutenbergBlockProcessor.swift; sourceTree = ""; }; 46963F5824649542000D356D /* EditorTheme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditorTheme.swift; sourceTree = ""; }; 46F84612185A8B7E009D0DA5 /* PostContentProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PostContentProvider.h; sourceTree = ""; }; @@ -5566,7 +5574,7 @@ path = GutenbergWeb; sourceTree = ""; }; - 29B97314FDCFA39411CA2CEA = { + 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( 98D31BBF239720E4009CFF43 /* MainInterface.storyboard */, @@ -6411,6 +6419,16 @@ name = "Resources-iPad"; sourceTree = ""; }; + 4631359224AD057E0017E65C /* Layout Picker */ = { + isa = PBXGroup; + children = ( + 4631359524AD068B0017E65C /* GutenbergLayoutPickerViewController.swift */, + 4631359724AD06A10017E65C /* GutenbergPreviewViewController.swift */, + 4631359324AD05A60017E65C /* LayoutPickerStoryboard.storyboard */, + ); + path = "Layout Picker"; + sourceTree = ""; + }; 46963F5724649509000D356D /* Gutenberg */ = { isa = PBXGroup; children = ( @@ -7233,19 +7251,20 @@ 7E3E9B6E2177C9C300FD5797 /* Gutenberg */ = { isa = PBXGroup; children = ( - FF2EC3BE2209A105006176E1 /* Processors */, - 1ED046CE244F26B1008F6365 /* GutenbergWeb */, - 7E3E9B6F2177C9DC00FD5797 /* GutenbergViewController.swift */, - 7E40716123741375003627FA /* GutenbergNetworking.swift */, - F10E654F21B06139007AB2EE /* GutenbergViewController+MoreActions.swift */, - 91D8364021946EFB008340B2 /* GutenbergMediaPickerHelper.swift */, - FF8C54AC21F677260003ABCF /* GutenbergMediaInserterHelper.swift */, 7EA30DB421ADA20F0092F894 /* AztecAttachmentDelegate.swift */, 7EA30DB321ADA20F0092F894 /* EditorMediaUtility.swift */, - 912347182213484300BD9F97 /* GutenbergViewController+InformativeDialog.swift */, - 912347752216E27200BD9F97 /* GutenbergViewController+Localization.swift */, FFC02B82222687BF00E64FDE /* GutenbergImageLoader.swift */, + FF8C54AC21F677260003ABCF /* GutenbergMediaInserterHelper.swift */, + 91D8364021946EFB008340B2 /* GutenbergMediaPickerHelper.swift */, FF4DEAD52448FFC900ACA032 /* GutenbergMentionsViewController.swift */, + 7E40716123741375003627FA /* GutenbergNetworking.swift */, + 7E3E9B6F2177C9DC00FD5797 /* GutenbergViewController.swift */, + 912347182213484300BD9F97 /* GutenbergViewController+InformativeDialog.swift */, + 912347752216E27200BD9F97 /* GutenbergViewController+Localization.swift */, + F10E654F21B06139007AB2EE /* GutenbergViewController+MoreActions.swift */, + 1ED046CE244F26B1008F6365 /* GutenbergWeb */, + 4631359224AD057E0017E65C /* Layout Picker */, + FF2EC3BE2209A105006176E1 /* Processors */, 7E407122237163C3003627FA /* Utils */, ); path = Gutenberg; @@ -7992,6 +8011,7 @@ 57C2331722FE0EC900A3863B /* PostAutoUploadInteractor.swift */, 57D66B99234BB206005A2D74 /* PostServiceRemoteFactory.swift */, 8BC12F732320181E004DDA72 /* PostService+MarkAsFailedAndDraftIfNeeded.swift */, + 4631359024AD013F0017E65C /* PageCoordinator.swift */, ); path = Services; sourceTree = ""; @@ -10929,7 +10949,7 @@ bg, sk, ); - mainGroup = 29B97314FDCFA39411CA2CEA; + mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; productRefGroup = 19C28FACFE9D520D11CA2CBB /* Products */; projectDirPath = ""; projectRoot = ""; @@ -11103,6 +11123,7 @@ 17DC4C5722C5E6D60059CA11 /* open_source_icon_60pt@2x.png in Resources */, E18165FD14E4428B006CE885 /* loader.html in Resources */, 17E363E622C4280A000E0C79 /* pride_icon_40pt.png in Resources */, + 4631359424AD05A60017E65C /* LayoutPickerStoryboard.storyboard in Resources */, 17E3634A22C417F0000E0C79 /* jetpack_green_icon_60pt@2x.png in Resources */, E1DD4CCD1CAE41C800C3863E /* PagedViewController.xib in Resources */, 17E3634722C417F0000E0C79 /* jetpack_green_icon_76pt.png in Resources */, @@ -12394,6 +12415,7 @@ B574CE111B5D8F8600A84FFD /* WPStyleGuide+AlertView.swift in Sources */, 731E88C921C9A10B0055C014 /* ErrorStateViewConfiguration.swift in Sources */, 73E4E376227A033A0007D752 /* PostChart.swift in Sources */, + 4631359124AD013F0017E65C /* PageCoordinator.swift in Sources */, 43290D04215C28D800F6B398 /* Blog+QuickStart.swift in Sources */, D82253E5219956540014D0E2 /* AddressCell.swift in Sources */, FF1FD0242091268900186384 /* URL+LinkNormalization.swift in Sources */, @@ -12838,6 +12860,7 @@ 4326191522FCB9DC003C7642 /* MurielColor.swift in Sources */, 436D562B2117312700CEAA33 /* RegisterDomainDetailsErrorSectionFooter.swift in Sources */, 7E729C28209A087300F76599 /* ImageLoader.swift in Sources */, + 4631359824AD06A10017E65C /* GutenbergPreviewViewController.swift in Sources */, 73C8F06821BF1A5E00DDDF7E /* SiteAssemblyContentView.swift in Sources */, 5D146EBB189857ED0068FDC6 /* FeaturedImageViewController.m in Sources */, 57276E71239BDFD200515BE2 /* NotificationCenter+ObserveMultiple.swift in Sources */, @@ -12880,6 +12903,7 @@ 08216FAB1CDBF95100304BA7 /* MenuItemEditingViewController.m in Sources */, 984F86FB21DEDB070070E0E3 /* TopTotalsCell.swift in Sources */, 436D56282117312700CEAA33 /* RegisterDomainDetailsViewController+LocalizedStrings.swift in Sources */, + 4631359624AD068B0017E65C /* GutenbergLayoutPickerViewController.swift in Sources */, D8225409219AB2030014D0E2 /* SiteInformation.swift in Sources */, D83CA3A920842D190060E310 /* StockPhotosPageable.swift in Sources */, E62079DF1CF79FC200F5CD46 /* ReaderSearchSuggestion.swift in Sources */, From 0ac4cfbaa21925eee2c4fcf03a2b081e3bba6fa8 Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Tue, 7 Jul 2020 14:03:48 -0400 Subject: [PATCH 03/19] Adjusted layout picker container for dark mode --- .../GutenbergLayoutPickerViewController.swift | 40 +++++++++++-------- .../LayoutPickerStoryboard.storyboard | 22 +++++++++- 2 files changed, 44 insertions(+), 18 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift index 1637c6235568..4ec225a7abd8 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift @@ -10,23 +10,7 @@ class GutenbergLayoutPickerViewController: UIViewController { @IBOutlet weak var closeButton: UIButton! override func viewDidLoad() { - - let seperator: UIColor - if #available(iOS 13.0, *) { - seperator = UIColor.separator - } else { - seperator = UIColor(red: 0.235, green: 0.235, blue: 0.263, alpha: 0.29) - } - - headerView.layer.borderColor = seperator.cgColor - headerView.layer.borderWidth = 0.5 - - footerView.layer.borderColor = seperator.cgColor - footerView.layer.borderWidth = 0.5 - - createBlankPageBtn.layer.borderColor = seperator.cgColor - createBlankPageBtn.layer.borderWidth = 0.5 - createBlankPageBtn.layer.cornerRadius = 8 + formatBorders() var tableFooterFrame = footerView.frame tableFooterFrame.origin.x = 0 @@ -55,9 +39,31 @@ class GutenbergLayoutPickerViewController: UIViewController { super.prepare(for: segue, sender: sender) } + override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { + super.traitCollectionDidChange(previousTraitCollection) + if #available(iOS 13.0, *) { + if traitCollection.hasDifferentColorAppearance(comparedTo: previousTraitCollection) { + formatBorders() + } + } + } + @IBAction func closeModal(_ sender: Any) { dismiss(animated: true, completion: nil) } + + private func formatBorders() { + let seperator: UIColor + if #available(iOS 13.0, *) { + seperator = UIColor.separator + } else { + seperator = UIColor(red: 0.235, green: 0.235, blue: 0.263, alpha: 0.29) + } + + createBlankPageBtn.layer.borderColor = seperator.cgColor + createBlankPageBtn.layer.borderWidth = 1 + createBlankPageBtn.layer.cornerRadius = 8 + } } extension GutenbergLayoutPickerViewController: UITableViewDelegate { diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard index 853e3f5513f2..6495eac613bd 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard @@ -38,7 +38,7 @@ - + @@ -108,19 +108,29 @@ + + + + + + + + + + @@ -155,6 +165,13 @@ + + + + + + + + - + - - - - - - - - + - - + - + + @@ -236,23 +238,6 @@ - - - - - - - - - - - - - - - - - diff --git a/WordPress/WordPress.xcodeproj/project.pbxproj b/WordPress/WordPress.xcodeproj/project.pbxproj index 767570a8a7d0..f58d09d2a4a2 100644 --- a/WordPress/WordPress.xcodeproj/project.pbxproj +++ b/WordPress/WordPress.xcodeproj/project.pbxproj @@ -581,7 +581,6 @@ 4631359124AD013F0017E65C /* PageCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4631359024AD013F0017E65C /* PageCoordinator.swift */; }; 4631359424AD05A60017E65C /* LayoutPickerStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4631359324AD05A60017E65C /* LayoutPickerStoryboard.storyboard */; }; 4631359624AD068B0017E65C /* GutenbergLayoutPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4631359524AD068B0017E65C /* GutenbergLayoutPickerViewController.swift */; }; - 4631359824AD06A10017E65C /* GutenbergPreviewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4631359724AD06A10017E65C /* GutenbergPreviewViewController.swift */; }; 46638DF6244904A3006E8439 /* GutenbergBlockProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46638DF5244904A3006E8439 /* GutenbergBlockProcessor.swift */; }; 46963F5924649542000D356D /* EditorTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = 46963F5824649542000D356D /* EditorTheme.swift */; }; 4B2DD0F29CD6AC353C056D41 /* Pods_WordPressUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DCE7542239FBC709B90EA85 /* Pods_WordPressUITests.framework */; }; @@ -2973,7 +2972,6 @@ 4631359024AD013F0017E65C /* PageCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PageCoordinator.swift; sourceTree = ""; }; 4631359324AD05A60017E65C /* LayoutPickerStoryboard.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LayoutPickerStoryboard.storyboard; sourceTree = ""; }; 4631359524AD068B0017E65C /* GutenbergLayoutPickerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GutenbergLayoutPickerViewController.swift; sourceTree = ""; }; - 4631359724AD06A10017E65C /* GutenbergPreviewViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GutenbergPreviewViewController.swift; sourceTree = ""; }; 46638DF5244904A3006E8439 /* GutenbergBlockProcessor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GutenbergBlockProcessor.swift; sourceTree = ""; }; 46963F5824649542000D356D /* EditorTheme.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditorTheme.swift; sourceTree = ""; }; 46F84612185A8B7E009D0DA5 /* PostContentProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PostContentProvider.h; sourceTree = ""; }; @@ -6423,7 +6421,6 @@ isa = PBXGroup; children = ( 4631359524AD068B0017E65C /* GutenbergLayoutPickerViewController.swift */, - 4631359724AD06A10017E65C /* GutenbergPreviewViewController.swift */, 4631359324AD05A60017E65C /* LayoutPickerStoryboard.storyboard */, ); path = "Layout Picker"; @@ -12860,7 +12857,6 @@ 4326191522FCB9DC003C7642 /* MurielColor.swift in Sources */, 436D562B2117312700CEAA33 /* RegisterDomainDetailsErrorSectionFooter.swift in Sources */, 7E729C28209A087300F76599 /* ImageLoader.swift in Sources */, - 4631359824AD06A10017E65C /* GutenbergPreviewViewController.swift in Sources */, 73C8F06821BF1A5E00DDDF7E /* SiteAssemblyContentView.swift in Sources */, 5D146EBB189857ED0068FDC6 /* FeaturedImageViewController.m in Sources */, 57276E71239BDFD200515BE2 /* NotificationCenter+ObserveMultiple.swift in Sources */, From bbb664f05134b83ce0b3eb0ae16be3dff7b0855a Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Wed, 8 Jul 2020 14:18:55 -0400 Subject: [PATCH 07/19] Adjust dark mode colors for close button --- .../GutenbergLayoutPickerViewController.swift | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift index 6f1fc169a003..2520c123ca64 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift @@ -75,6 +75,15 @@ class GutenbergLayoutPickerViewController: UIViewController { button?.layer.cornerRadius = 8 } + if #available(iOS 13.0, *) { + closeButton.backgroundColor = UIColor { (traitCollection: UITraitCollection) -> UIColor in + if traitCollection.userInterfaceStyle == .dark { + return UIColor.systemFill + } else { + return UIColor.quaternarySystemFill + } + } + } } } From 8f3c5ab82d1272ed880b12464d2a98d8135553fd Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Wed, 8 Jul 2020 14:45:11 -0400 Subject: [PATCH 08/19] Enable Create Blank Page Flow --- .../Classes/Services/PageCoordinator.swift | 17 ++++++++++------- .../GutenbergLayoutPickerViewController.swift | 16 ++++++++++++++++ .../LayoutPickerStoryboard.storyboard | 3 +++ .../Pages/PageListViewController.swift | 8 ++++---- .../System/WPTabBarController+ShowTab.swift | 4 ++-- 5 files changed, 35 insertions(+), 13 deletions(-) diff --git a/WordPress/Classes/Services/PageCoordinator.swift b/WordPress/Classes/Services/PageCoordinator.swift index 5c657cd0335b..492a3e2d261b 100644 --- a/WordPress/Classes/Services/PageCoordinator.swift +++ b/WordPress/Classes/Services/PageCoordinator.swift @@ -1,22 +1,25 @@ import Foundation class PageCoordinator { + typealias TemplateSelectionCompletion = (String?) -> Void - static func showLayoutPickerIfNeeded(from controller: UIViewController, forBlog blog: Blog, completion:(()->Void)) { + static func showLayoutPickerIfNeeded(from controller: UIViewController, forBlog blog: Blog, completion: @escaping TemplateSelectionCompletion) { if Feature.enabled(.gutenbergModalLayoutPicker) && blog.isGutenbergEnabled { showLayoutPicker(from: controller, completion) } else { - completion() + completion(nil) } } - private static func showLayoutPicker(from controller: UIViewController, _ completion:(()->Void)) { + private static func showLayoutPicker(from controller: UIViewController, _ completion: @escaping TemplateSelectionCompletion) { let storyboard = UIStoryboard(name: "LayoutPickerStoryboard", bundle: Bundle.main) - guard let rootView = storyboard.instantiateInitialViewController() else { - completion() + guard let navigationController = storyboard.instantiateInitialViewController() as? UINavigationController, + let rootView = navigationController.topViewController as? GutenbergLayoutPickerViewController else { + completion(nil) return } - rootView.modalPresentationStyle = .pageSheet - controller.present(rootView, animated: true, completion: nil) + rootView.completion = completion + navigationController.modalPresentationStyle = .pageSheet + controller.present(navigationController, animated: true, completion: nil) } } diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift index 2520c123ca64..e7acc723eef6 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift @@ -14,6 +14,7 @@ class GutenbergLayoutPickerViewController: UIViewController { @IBOutlet weak var footerView: UIView! @IBOutlet weak var createBlankPageBtn: UIButton! + var completion: PageCoordinator.TemplateSelectionCompletion? = nil let minTitleFontSize: CGFloat = 22 let maxTitleFontSize: CGFloat = 34 var maxHeaderHeight: CGFloat = 285 @@ -61,6 +62,21 @@ class GutenbergLayoutPickerViewController: UIViewController { dismiss(animated: true, completion: nil) } + @IBAction func createBlankPage(_ sender: Any) { + createPage(nil) + } + + private func createPage(_ template: String?) { + guard let completion = completion else { + dismiss(animated: true, completion: nil) + return + } + + dismiss(animated: true) { + completion(template) + } + } + private func styleButtons() { let seperator: UIColor if #available(iOS 13.0, *) { diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard index 315768b5a0bf..61c0354bf19f 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard @@ -181,6 +181,9 @@ + + + diff --git a/WordPress/Classes/ViewRelated/Pages/PageListViewController.swift b/WordPress/Classes/ViewRelated/Pages/PageListViewController.swift index b77ac03d3d7a..5f800c79007b 100644 --- a/WordPress/Classes/ViewRelated/Pages/PageListViewController.swift +++ b/WordPress/Classes/ViewRelated/Pages/PageListViewController.swift @@ -444,16 +444,16 @@ class PageListViewController: AbstractPostListViewController, UIViewControllerRe override func createPost() { WPAppAnalytics.track(.editorCreatedPost, withProperties: ["tap_source": "posts_view", WPAppAnalyticsKeyPostType: "page"], with: blog) - PageCoordinator.showLayoutPickerIfNeeded(from: self, forBlog: blog) { [weak self] in - self?.createPage() + PageCoordinator.showLayoutPickerIfNeeded(from: self, forBlog: blog) { [weak self] template in + self?.createPage(template) } } - func createPage(content: String? = nil) { + func createPage(_ template: String? = nil) { let context = ContextManager.sharedInstance().mainContext let postService = PostService(managedObjectContext: context) let page = postService.createDraftPage(for: blog) - page.content = content + page.content = template self.showEditor(post: page) diff --git a/WordPress/Classes/ViewRelated/System/WPTabBarController+ShowTab.swift b/WordPress/Classes/ViewRelated/System/WPTabBarController+ShowTab.swift index 83d45237477f..ddd4fd836f4d 100644 --- a/WordPress/Classes/ViewRelated/System/WPTabBarController+ShowTab.swift +++ b/WordPress/Classes/ViewRelated/System/WPTabBarController+ShowTab.swift @@ -20,8 +20,8 @@ extension WPTabBarController { let blogID = blog.dotComID?.intValue ?? 0 as Any WPAnalytics.track(WPAnalyticsEvent.editorCreatedPage, properties: ["tap_source": source, WPAppAnalyticsKeyBlogID: blogID, WPAppAnalyticsKeyPostType: "page"]) - PageCoordinator.showLayoutPickerIfNeeded(from: self, forBlog: blog) { [weak self] in - self?.showPageEditor(blog: blog, title: title, content: content, template: nil) + PageCoordinator.showLayoutPickerIfNeeded(from: self, forBlog: blog) { [weak self] template in + self?.showPageEditor(blog: blog, title: title, content: content, template: template) } } From b385432aee2078245a6781248e74682e9e9c0b26 Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Fri, 10 Jul 2020 10:58:48 -0400 Subject: [PATCH 09/19] Update the style of the FeatureFlag enabled checks to match the swift patterns --- WordPress/Classes/Services/PageCoordinator.swift | 2 +- .../Layout Picker/GutenbergLayoutPickerViewController.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/WordPress/Classes/Services/PageCoordinator.swift b/WordPress/Classes/Services/PageCoordinator.swift index 492a3e2d261b..383a2428bda8 100644 --- a/WordPress/Classes/Services/PageCoordinator.swift +++ b/WordPress/Classes/Services/PageCoordinator.swift @@ -4,7 +4,7 @@ class PageCoordinator { typealias TemplateSelectionCompletion = (String?) -> Void static func showLayoutPickerIfNeeded(from controller: UIViewController, forBlog blog: Blog, completion: @escaping TemplateSelectionCompletion) { - if Feature.enabled(.gutenbergModalLayoutPicker) && blog.isGutenbergEnabled { + if FeatureFlag.gutenbergModalLayoutPicker.enabled && blog.isGutenbergEnabled { showLayoutPicker(from: controller, completion) } else { completion(nil) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift index e7acc723eef6..32eba7a50889 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift @@ -117,7 +117,7 @@ extension GutenbergLayoutPickerViewController: UITableViewDelegate { titleView.font = titleViewFont(withSize: minTitleFontSize) } else { headerHeightConstraint.constant = newHeaderViewHeight - if !Feature.enabled(.gutenbergSnappyLayoutPicker) { + if !FeatureFlag.gutenbergSnappyLayoutPicker.enabled { // Resets the scroll offset to account for the shift in the header size. which provides a more "smooth" collapse of the header. // Removing this line can provide more of a "snap" to the collapsed position while still animating. scrollView.contentOffset.y = 0 From e95130ed1889742a0d99d49046eafc771726111a Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Fri, 10 Jul 2020 11:00:06 -0400 Subject: [PATCH 10/19] Pass the modal layout picker capability to Gutenberg --- Podfile | 2 +- Podfile.lock | 150 +++++++++--------- .../Gutenberg/GutenbergViewController.swift | 1 + 3 files changed, 77 insertions(+), 76 deletions(-) diff --git a/Podfile b/Podfile index 7e0a02befd68..dddeea705f4c 100644 --- a/Podfile +++ b/Podfile @@ -149,7 +149,7 @@ target 'WordPress' do ## Gutenberg (React Native) ## ===================== ## - gutenberg :commit => '5c9331119f30bb028a60912c557beac26cc27ff2' + gutenberg :commit => 'cda5a86d54fb47d54ffa76cadf5d74de78be3b8d' ## Third party libraries ## ===================== diff --git a/Podfile.lock b/Podfile.lock index 1168602e09bc..5f74ddaed1f7 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -373,7 +373,7 @@ PODS: - React - RNTAztecView (1.31.1): - React-Core - - WordPress-Aztec-iOS (~> 1.19.3) + - WordPress-Aztec-iOS (~> 1.19.2) - Sentry (4.5.0): - Sentry/Core (= 4.5.0) - Sentry/Core (4.5.0) @@ -439,14 +439,14 @@ DEPENDENCIES: - Charts (~> 3.2.2) - CocoaLumberjack (~> 3.0) - Down (~> 0.6.6) - - FBLazyVector (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/FBLazyVector.podspec.json`) - - FBReactNativeSpec (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/FBReactNativeSpec.podspec.json`) - - Folly (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/Folly.podspec.json`) + - FBLazyVector (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/FBLazyVector.podspec.json`) + - FBReactNativeSpec (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/FBReactNativeSpec.podspec.json`) + - Folly (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/Folly.podspec.json`) - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.2.0) - - glog (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/glog.podspec.json`) + - glog (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/glog.podspec.json`) - Gridicons (~> 1.0.1) - - Gutenberg (from `http://github.com/wordpress-mobile/gutenberg-mobile/`, commit `5c9331119f30bb028a60912c557beac26cc27ff2`) + - Gutenberg (from `http://github.com/wordpress-mobile/gutenberg-mobile/`, commit `cda5a86d54fb47d54ffa76cadf5d74de78be3b8d`) - JTAppleCalendar (~> 8.0.2) - MediaEditor (~> 1.2.0) - MRProgress (= 0.8.3) @@ -456,36 +456,36 @@ DEPENDENCIES: - OCMock (= 3.4.3) - OHHTTPStubs (= 6.1.0) - OHHTTPStubs/Swift (= 6.1.0) - - RCTRequired (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/RCTRequired.podspec.json`) - - RCTTypeSafety (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/RCTTypeSafety.podspec.json`) + - RCTRequired (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/RCTRequired.podspec.json`) + - RCTTypeSafety (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/RCTTypeSafety.podspec.json`) - Reachability (= 3.2) - - React (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React.podspec.json`) - - React-Core (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-Core.podspec.json`) - - React-CoreModules (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-CoreModules.podspec.json`) - - React-cxxreact (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-cxxreact.podspec.json`) - - React-jsi (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-jsi.podspec.json`) - - React-jsiexecutor (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-jsiexecutor.podspec.json`) - - React-jsinspector (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-jsinspector.podspec.json`) - - react-native-blur (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-blur.podspec.json`) - - react-native-get-random-values (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-get-random-values.podspec.json`) - - react-native-keyboard-aware-scroll-view (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-keyboard-aware-scroll-view.podspec.json`) - - react-native-linear-gradient (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-linear-gradient.podspec.json`) - - react-native-safe-area (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-safe-area.podspec.json`) - - react-native-slider (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-slider.podspec.json`) - - react-native-video (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-video.podspec.json`) - - React-RCTActionSheet (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTActionSheet.podspec.json`) - - React-RCTAnimation (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTAnimation.podspec.json`) - - React-RCTBlob (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTBlob.podspec.json`) - - React-RCTImage (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTImage.podspec.json`) - - React-RCTLinking (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTLinking.podspec.json`) - - React-RCTNetwork (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTNetwork.podspec.json`) - - React-RCTSettings (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTSettings.podspec.json`) - - React-RCTText (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTText.podspec.json`) - - React-RCTVibration (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTVibration.podspec.json`) - - ReactCommon (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/ReactCommon.podspec.json`) - - ReactNativeDarkMode (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/ReactNativeDarkMode.podspec.json`) - - RNSVG (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/RNSVG.podspec.json`) - - RNTAztecView (from `http://github.com/wordpress-mobile/gutenberg-mobile/`, commit `5c9331119f30bb028a60912c557beac26cc27ff2`) + - React (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React.podspec.json`) + - React-Core (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-Core.podspec.json`) + - React-CoreModules (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-CoreModules.podspec.json`) + - React-cxxreact (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-cxxreact.podspec.json`) + - React-jsi (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-jsi.podspec.json`) + - React-jsiexecutor (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-jsiexecutor.podspec.json`) + - React-jsinspector (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-jsinspector.podspec.json`) + - react-native-blur (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-blur.podspec.json`) + - react-native-get-random-values (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-get-random-values.podspec.json`) + - react-native-keyboard-aware-scroll-view (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-keyboard-aware-scroll-view.podspec.json`) + - react-native-linear-gradient (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-linear-gradient.podspec.json`) + - react-native-safe-area (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-safe-area.podspec.json`) + - react-native-slider (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-slider.podspec.json`) + - react-native-video (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-video.podspec.json`) + - React-RCTActionSheet (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTActionSheet.podspec.json`) + - React-RCTAnimation (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTAnimation.podspec.json`) + - React-RCTBlob (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTBlob.podspec.json`) + - React-RCTImage (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTImage.podspec.json`) + - React-RCTLinking (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTLinking.podspec.json`) + - React-RCTNetwork (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTNetwork.podspec.json`) + - React-RCTSettings (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTSettings.podspec.json`) + - React-RCTText (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTText.podspec.json`) + - React-RCTVibration (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTVibration.podspec.json`) + - ReactCommon (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/ReactCommon.podspec.json`) + - ReactNativeDarkMode (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/ReactNativeDarkMode.podspec.json`) + - RNSVG (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/RNSVG.podspec.json`) + - RNTAztecView (from `http://github.com/wordpress-mobile/gutenberg-mobile/`, commit `cda5a86d54fb47d54ffa76cadf5d74de78be3b8d`) - SimulatorStatusMagic - Starscream (= 3.0.6) - SVProgressHUD (= 2.2.5) @@ -496,7 +496,7 @@ DEPENDENCIES: - WordPressShared (= 1.9.1) - WordPressUI (~> 1.7.1) - WPMediaPicker (~> 1.7.0) - - Yoga (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/Yoga.podspec.json`) + - Yoga (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/Yoga.podspec.json`) - ZendeskSupportSDK (= 5.0.0) - ZIPFoundation (~> 0.9.8) @@ -558,93 +558,93 @@ SPEC REPOS: EXTERNAL SOURCES: FBLazyVector: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/FBLazyVector.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/FBLazyVector.podspec.json FBReactNativeSpec: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/FBReactNativeSpec.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/FBReactNativeSpec.podspec.json Folly: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/Folly.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/Folly.podspec.json FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 glog: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/glog.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/glog.podspec.json Gutenberg: - :commit: 5c9331119f30bb028a60912c557beac26cc27ff2 + :commit: cda5a86d54fb47d54ffa76cadf5d74de78be3b8d :git: http://github.com/wordpress-mobile/gutenberg-mobile/ :submodules: true RCTRequired: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/RCTRequired.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/RCTRequired.podspec.json RCTTypeSafety: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/RCTTypeSafety.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/RCTTypeSafety.podspec.json React: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React.podspec.json React-Core: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-Core.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-Core.podspec.json React-CoreModules: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-CoreModules.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-CoreModules.podspec.json React-cxxreact: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-cxxreact.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-cxxreact.podspec.json React-jsi: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-jsi.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-jsi.podspec.json React-jsiexecutor: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-jsiexecutor.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-jsiexecutor.podspec.json React-jsinspector: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-jsinspector.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-jsinspector.podspec.json react-native-blur: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-blur.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-blur.podspec.json react-native-get-random-values: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-get-random-values.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-get-random-values.podspec.json react-native-keyboard-aware-scroll-view: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-keyboard-aware-scroll-view.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-keyboard-aware-scroll-view.podspec.json react-native-linear-gradient: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-linear-gradient.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-linear-gradient.podspec.json react-native-safe-area: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-safe-area.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-safe-area.podspec.json react-native-slider: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-slider.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-slider.podspec.json react-native-video: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/react-native-video.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-video.podspec.json React-RCTActionSheet: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTActionSheet.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTActionSheet.podspec.json React-RCTAnimation: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTAnimation.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTAnimation.podspec.json React-RCTBlob: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTBlob.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTBlob.podspec.json React-RCTImage: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTImage.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTImage.podspec.json React-RCTLinking: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTLinking.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTLinking.podspec.json React-RCTNetwork: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTNetwork.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTNetwork.podspec.json React-RCTSettings: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTSettings.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTSettings.podspec.json React-RCTText: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTText.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTText.podspec.json React-RCTVibration: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/React-RCTVibration.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTVibration.podspec.json ReactCommon: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/ReactCommon.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/ReactCommon.podspec.json ReactNativeDarkMode: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/ReactNativeDarkMode.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/ReactNativeDarkMode.podspec.json RNSVG: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/RNSVG.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/RNSVG.podspec.json RNTAztecView: - :commit: 5c9331119f30bb028a60912c557beac26cc27ff2 + :commit: cda5a86d54fb47d54ffa76cadf5d74de78be3b8d :git: http://github.com/wordpress-mobile/gutenberg-mobile/ :submodules: true Yoga: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/5c9331119f30bb028a60912c557beac26cc27ff2/third-party-podspecs/Yoga.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/Yoga.podspec.json CHECKOUT OPTIONS: FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :commit: 5c9331119f30bb028a60912c557beac26cc27ff2 + :commit: cda5a86d54fb47d54ffa76cadf5d74de78be3b8d :git: http://github.com/wordpress-mobile/gutenberg-mobile/ :submodules: true RNTAztecView: - :commit: 5c9331119f30bb028a60912c557beac26cc27ff2 + :commit: cda5a86d54fb47d54ffa76cadf5d74de78be3b8d :git: http://github.com/wordpress-mobile/gutenberg-mobile/ :submodules: true @@ -713,7 +713,7 @@ SPEC CHECKSUMS: ReactCommon: 48926fc48fcd7c8a629860049ffba9c23b4005dc ReactNativeDarkMode: f61376360c5d983907e5c316e8e1c853a8c2f348 RNSVG: 68a534a5db06dcbdaebfd5079349191598caef7b - RNTAztecView: 1fda168ae71c8d5db1cc94cba20d8d206113b01c + RNTAztecView: f3f9e2e2fbd885b86360a155314e5a36ef50b9d7 Sentry: ab6c209f23700d1460691dbc90e19ed0a05d496b SimulatorStatusMagic: 28d4a9d1a500ac7cea0b2b5a43c1c6ddb40ba56c Sodium: 63c0ca312a932e6da481689537d4b35568841bdc @@ -739,6 +739,6 @@ SPEC CHECKSUMS: ZendeskSupportSDK: a87ab1e4badace92c75eb11dc77ede1e995b2adc ZIPFoundation: 249fa8890597086cd536bb2df5c9804d84e122b0 -PODFILE CHECKSUM: 619fcd5c97f0d1471daba2af298b4c1d9e21682e +PODFILE CHECKSUM: d3d03a62d03a4aab6ff358fad93938e70d09cbab COCOAPODS: 1.8.4 diff --git a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift index 0e41f218a7ba..10cb4e48a5dc 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/GutenbergViewController.swift @@ -871,6 +871,7 @@ extension GutenbergViewController: GutenbergBridgeDataSource { return [ "mentions": post.blog.isAccessibleThroughWPCom() && FeatureFlag.gutenbergMentions.enabled, "unsupportedBlockEditor": isUnsupportedBlockEditorEnabled, + "modalLayoutPicker": FeatureFlag.gutenbergModalLayoutPicker.enabled, ] } From cb47fc340d098dbc4c8efde8d334bae72bd3558f Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Fri, 10 Jul 2020 12:26:15 -0400 Subject: [PATCH 11/19] Revert Pod file Change for WordPressAuthenticator merge --- Podfile | 2 +- Podfile.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Podfile b/Podfile index dddeea705f4c..b3f3491735a1 100644 --- a/Podfile +++ b/Podfile @@ -189,7 +189,7 @@ target 'WordPress' do pod 'Gridicons', '~> 1.0.1' - pod 'WordPressAuthenticator', '~> 1.20.0-beta.3' + pod 'WordPressAuthenticator', '~> 1.20.0-beta' # While in PR # pod 'WordPressAuthenticator', :git => 'https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git', :branch => '' # pod 'WordPressAuthenticator', :git => 'https://github.com/wordpress-mobile/WordPressAuthenticator-iOS.git', :commit => '' diff --git a/Podfile.lock b/Podfile.lock index 5f74ddaed1f7..41265de108c4 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -385,7 +385,7 @@ PODS: - WordPress-Aztec-iOS (1.19.3) - WordPress-Editor-iOS (1.19.3): - WordPress-Aztec-iOS (= 1.19.3) - - WordPressAuthenticator (1.20.0-beta.3): + - WordPressAuthenticator (1.20.0-beta.7): - 1PasswordExtension (= 1.8.6) - Alamofire (= 4.8) - CocoaLumberjack (~> 3.5) @@ -490,7 +490,7 @@ DEPENDENCIES: - Starscream (= 3.0.6) - SVProgressHUD (= 2.2.5) - WordPress-Editor-iOS (~> 1.19.3) - - WordPressAuthenticator (~> 1.20.0-beta.3) + - WordPressAuthenticator (~> 1.20.0-beta) - WordPressKit (= 4.12.0-beta.1) - WordPressMocks (~> 0.0.8) - WordPressShared (= 1.9.1) @@ -722,7 +722,7 @@ SPEC CHECKSUMS: UIDeviceIdentifier: 44f805037d21b94394821828f4fcaba34b38c2d0 WordPress-Aztec-iOS: b7ac8b30f746992e85d9668453ac87c2cdcecf4f WordPress-Editor-iOS: 1886f7fe464d79ee64ccfe7985281f8cf45f75eb - WordPressAuthenticator: 02cb261da08b4610f5720067983eb19fb167f14c + WordPressAuthenticator: f3e52bbbe3c8d2b363b09e6aa6b36a927967e3f0 WordPressKit: c10ba341c1490cbb30a52a10a1750e8f56a15fb9 WordPressMocks: b4064b99a073117bbc304abe82df78f2fbe60992 WordPressShared: 423779c24b1f8f2ee06d1068d30c7d2ea51ca813 @@ -739,6 +739,6 @@ SPEC CHECKSUMS: ZendeskSupportSDK: a87ab1e4badace92c75eb11dc77ede1e995b2adc ZIPFoundation: 249fa8890597086cd536bb2df5c9804d84e122b0 -PODFILE CHECKSUM: d3d03a62d03a4aab6ff358fad93938e70d09cbab +PODFILE CHECKSUM: f2e81e280eda833d21a91689b7249293f0db6357 COCOAPODS: 1.8.4 From 3f1e867be4428402238dcdd05aa1bf9591c0289e Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Tue, 14 Jul 2020 10:56:08 -0400 Subject: [PATCH 12/19] Remove feature flag used for design review --- .../Classes/Utility/BuildInformation/FeatureFlag.swift | 5 ----- .../GutenbergLayoutPickerViewController.swift | 8 +++----- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/WordPress/Classes/Utility/BuildInformation/FeatureFlag.swift b/WordPress/Classes/Utility/BuildInformation/FeatureFlag.swift index f40cfc17e5cc..6ef792295c56 100644 --- a/WordPress/Classes/Utility/BuildInformation/FeatureFlag.swift +++ b/WordPress/Classes/Utility/BuildInformation/FeatureFlag.swift @@ -17,7 +17,6 @@ enum FeatureFlag: Int, CaseIterable { case readerImprovementsPhase2 case gutenbergMentions case gutenbergModalLayoutPicker - case gutenbergSnappyLayoutPicker // Added for design feedback this should be removed before merging the PR /// Returns a boolean indicating if the feature is enabled var enabled: Bool { @@ -56,8 +55,6 @@ enum FeatureFlag: Int, CaseIterable { return BuildConfiguration.current ~= [.localDeveloper, .a8cBranchTest, .a8cPrereleaseTesting] case .gutenbergModalLayoutPicker: return BuildConfiguration.current ~= [.localDeveloper, .a8cBranchTest] - case .gutenbergSnappyLayoutPicker: - return false } } } @@ -106,8 +103,6 @@ extension FeatureFlag: OverrideableFlag { return "Mentions in Gutenberg" case .gutenbergModalLayoutPicker: return "Gutenberg Modal Layout Picker" - case .gutenbergSnappyLayoutPicker: - return "Make Modal Layout Picker \"Snappy\" on Collapse" } } diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift index 32eba7a50889..c66d0e4c8187 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift @@ -117,11 +117,9 @@ extension GutenbergLayoutPickerViewController: UITableViewDelegate { titleView.font = titleViewFont(withSize: minTitleFontSize) } else { headerHeightConstraint.constant = newHeaderViewHeight - if !FeatureFlag.gutenbergSnappyLayoutPicker.enabled { - // Resets the scroll offset to account for the shift in the header size. which provides a more "smooth" collapse of the header. - // Removing this line can provide more of a "snap" to the collapsed position while still animating. - scrollView.contentOffset.y = 0 - } + // Resets the scroll offset to account for the shift in the header size. which provides a more "smooth" collapse of the header. + // Removing this line can provide more of a "snap" to the collapsed position while still animating. + scrollView.contentOffset.y = 0 let pointSize = maxTitleFontSize * newHeaderViewHeight/maxHeaderHeight titleView.font = titleViewFont(withSize: max(minTitleFontSize, pointSize)) From 1d6f65fa8887ca07863b096ff51a339e79cdc050 Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Tue, 14 Jul 2020 15:43:13 -0400 Subject: [PATCH 13/19] Adjust Layout Picker header to use native controls and transitions --- .../WPStyleGuide+ApplicationStyles.swift | 1 + .../GutenbergLayoutPickerViewController.swift | 75 ++----- .../LayoutPickerStoryboard.storyboard | 185 ++++++------------ 3 files changed, 75 insertions(+), 186 deletions(-) diff --git a/WordPress/Classes/Extensions/Colors and Styles/WPStyleGuide+ApplicationStyles.swift b/WordPress/Classes/Extensions/Colors and Styles/WPStyleGuide+ApplicationStyles.swift index e86e6bef7685..e9173a94353c 100644 --- a/WordPress/Classes/Extensions/Colors and Styles/WPStyleGuide+ApplicationStyles.swift +++ b/WordPress/Classes/Extensions/Colors and Styles/WPStyleGuide+ApplicationStyles.swift @@ -83,6 +83,7 @@ extension WPStyleGuide { appearance.backgroundColor = .systemBackground appearance.shadowColor = separatorColor navigationBarAppearanceProxy.standardAppearance = appearance + navigationBarAppearanceProxy.scrollEdgeAppearance = navigationBarAppearanceProxy.standardAppearance } let tintColor = UIColor(light: .brand, dark: .white) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift index c66d0e4c8187..2787ba5f8e40 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift @@ -4,10 +4,8 @@ import Gridicons class GutenbergLayoutPickerViewController: UIViewController { @IBOutlet weak var headerView: UIView! - @IBOutlet weak var closeButton: UIButton! - @IBOutlet weak var titleView: UILabel! +// @IBOutlet weak var closeButton: UIButton! @IBOutlet weak var categoryBar: UICollectionView! - @IBOutlet weak var headerHeightConstraint: NSLayoutConstraint! @IBOutlet weak var tableView: UITableView! @@ -25,28 +23,11 @@ class GutenbergLayoutPickerViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() styleButtons() - maxHeaderHeight = headerHeightConstraint.constant - let tableFooterFrame = footerView.frame - let bottomInset = tableFooterFrame.size.height - (UIApplication.shared.keyWindow?.safeAreaInsets.bottom ?? 44) - tableView.contentInset = UIEdgeInsets(top: headerHeightConstraint.constant, left: 0, bottom: bottomInset, right: 0) - - closeButton.setImage(UIImage.gridicon(.crossSmall), for: .normal) - } - - override func viewWillAppear(_ animated: Bool) { - navigationController?.isNavigationBarHidden = true - super.viewWillAppear(animated) - } - - override func viewDidDisappear(_ animated: Bool) { - navigationController?.isNavigationBarHidden = false - super.viewDidDisappear(animated) - } - - override func prepare(for segue: UIStoryboardSegue, sender: Any?) { - navigationController?.isNavigationBarHidden = false - super.prepare(for: segue, sender: sender) +// let tableFooterFrame = footerView.frame +// let bottomInset = tableFooterFrame.size.height - (UIApplication.shared.keyWindow?.safeAreaInsets.bottom ?? 44) +// tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: bottomInset, right: 0) +// closeButton.setImage(UIImage.gridicon(.crossSmall), for: .normal) } override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { @@ -91,39 +72,15 @@ class GutenbergLayoutPickerViewController: UIViewController { button?.layer.cornerRadius = 8 } - if #available(iOS 13.0, *) { - closeButton.backgroundColor = UIColor { (traitCollection: UITraitCollection) -> UIColor in - if traitCollection.userInterfaceStyle == .dark { - return UIColor.systemFill - } else { - return UIColor.quaternarySystemFill - } - } - } - } -} - -extension GutenbergLayoutPickerViewController: UITableViewDelegate { - - func scrollViewDidScroll(_ scrollView: UIScrollView) { - let scrollOffset = scrollView.contentOffset.y - let newHeaderViewHeight = headerHeightConstraint.constant - scrollOffset - - if newHeaderViewHeight > maxHeaderHeight { - headerHeightConstraint.constant = maxHeaderHeight - titleView.font = titleViewFont(withSize: maxTitleFontSize) - } else if newHeaderViewHeight < minHeaderHeight { - headerHeightConstraint.constant = minHeaderHeight - titleView.font = titleViewFont(withSize: minTitleFontSize) - } else { - headerHeightConstraint.constant = newHeaderViewHeight - // Resets the scroll offset to account for the shift in the header size. which provides a more "smooth" collapse of the header. - // Removing this line can provide more of a "snap" to the collapsed position while still animating. - scrollView.contentOffset.y = 0 - - let pointSize = maxTitleFontSize * newHeaderViewHeight/maxHeaderHeight - titleView.font = titleViewFont(withSize: max(minTitleFontSize, pointSize)) - } +// if #available(iOS 13.0, *) { +// closeButton.backgroundColor = UIColor { (traitCollection: UITraitCollection) -> UIColor in +// if traitCollection.userInterfaceStyle == .dark { +// return UIColor.systemFill +// } else { +// return UIColor.quaternarySystemFill +// } +// } +// } } private func titleViewFont(withSize pointSize: CGFloat) -> UIFont? { @@ -137,10 +94,6 @@ extension GutenbergLayoutPickerViewController: UITableViewDataSource { return 20 } - func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { - return 318 - } - func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = UITableViewCell(style: .default, reuseIdentifier: nil) return cell diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard index 61c0354bf19f..28deb6163623 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard @@ -4,7 +4,6 @@ - @@ -14,9 +13,10 @@ - - + + + @@ -26,7 +26,7 @@ - + @@ -34,119 +34,66 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -209,11 +156,8 @@ - - - @@ -222,19 +166,16 @@ - + - + - - - @@ -242,10 +183,4 @@ - - - - - - From b689642fa2d5a14e53ccf7fe9eaca0d0a9dcafa3 Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Thu, 16 Jul 2020 15:55:59 -0400 Subject: [PATCH 14/19] Add in close button --- Podfile | 2 +- Podfile.lock | 156 +++++++++--------- .../GutenbergLayoutPickerViewController.swift | 50 ++++-- .../LayoutPickerStoryboard.storyboard | 124 ++++++++------ 4 files changed, 185 insertions(+), 147 deletions(-) diff --git a/Podfile b/Podfile index b3f3491735a1..95410af2db76 100644 --- a/Podfile +++ b/Podfile @@ -149,7 +149,7 @@ target 'WordPress' do ## Gutenberg (React Native) ## ===================== ## - gutenberg :commit => 'cda5a86d54fb47d54ffa76cadf5d74de78be3b8d' + gutenberg :commit => '99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2' ## Third party libraries ## ===================== diff --git a/Podfile.lock b/Podfile.lock index 41265de108c4..cac49f019a73 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -73,7 +73,7 @@ PODS: - GTMSessionFetcher/Core (1.4.0) - GTMSessionFetcher/Full (1.4.0): - GTMSessionFetcher/Core (= 1.4.0) - - Gutenberg (1.31.1): + - Gutenberg (1.32.0): - React (= 0.61.5) - React-CoreModules (= 0.61.5) - React-RCTImage (= 0.61.5) @@ -371,9 +371,9 @@ PODS: - React - RNSVG (9.13.6-gb): - React - - RNTAztecView (1.31.1): + - RNTAztecView (1.32.0): - React-Core - - WordPress-Aztec-iOS (~> 1.19.2) + - WordPress-Aztec-iOS (~> 1.19.3) - Sentry (4.5.0): - Sentry/Core (= 4.5.0) - Sentry/Core (4.5.0) @@ -439,14 +439,14 @@ DEPENDENCIES: - Charts (~> 3.2.2) - CocoaLumberjack (~> 3.0) - Down (~> 0.6.6) - - FBLazyVector (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/FBLazyVector.podspec.json`) - - FBReactNativeSpec (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/FBReactNativeSpec.podspec.json`) - - Folly (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/Folly.podspec.json`) + - FBLazyVector (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/FBLazyVector.podspec.json`) + - FBReactNativeSpec (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/FBReactNativeSpec.podspec.json`) + - Folly (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/Folly.podspec.json`) - FSInteractiveMap (from `https://github.com/wordpress-mobile/FSInteractiveMap.git`, tag `0.2.0`) - Gifu (= 3.2.0) - - glog (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/glog.podspec.json`) + - glog (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/glog.podspec.json`) - Gridicons (~> 1.0.1) - - Gutenberg (from `http://github.com/wordpress-mobile/gutenberg-mobile/`, commit `cda5a86d54fb47d54ffa76cadf5d74de78be3b8d`) + - Gutenberg (from `http://github.com/wordpress-mobile/gutenberg-mobile/`, commit `99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2`) - JTAppleCalendar (~> 8.0.2) - MediaEditor (~> 1.2.0) - MRProgress (= 0.8.3) @@ -456,36 +456,36 @@ DEPENDENCIES: - OCMock (= 3.4.3) - OHHTTPStubs (= 6.1.0) - OHHTTPStubs/Swift (= 6.1.0) - - RCTRequired (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/RCTRequired.podspec.json`) - - RCTTypeSafety (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/RCTTypeSafety.podspec.json`) + - RCTRequired (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/RCTRequired.podspec.json`) + - RCTTypeSafety (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/RCTTypeSafety.podspec.json`) - Reachability (= 3.2) - - React (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React.podspec.json`) - - React-Core (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-Core.podspec.json`) - - React-CoreModules (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-CoreModules.podspec.json`) - - React-cxxreact (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-cxxreact.podspec.json`) - - React-jsi (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-jsi.podspec.json`) - - React-jsiexecutor (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-jsiexecutor.podspec.json`) - - React-jsinspector (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-jsinspector.podspec.json`) - - react-native-blur (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-blur.podspec.json`) - - react-native-get-random-values (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-get-random-values.podspec.json`) - - react-native-keyboard-aware-scroll-view (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-keyboard-aware-scroll-view.podspec.json`) - - react-native-linear-gradient (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-linear-gradient.podspec.json`) - - react-native-safe-area (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-safe-area.podspec.json`) - - react-native-slider (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-slider.podspec.json`) - - react-native-video (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-video.podspec.json`) - - React-RCTActionSheet (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTActionSheet.podspec.json`) - - React-RCTAnimation (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTAnimation.podspec.json`) - - React-RCTBlob (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTBlob.podspec.json`) - - React-RCTImage (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTImage.podspec.json`) - - React-RCTLinking (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTLinking.podspec.json`) - - React-RCTNetwork (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTNetwork.podspec.json`) - - React-RCTSettings (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTSettings.podspec.json`) - - React-RCTText (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTText.podspec.json`) - - React-RCTVibration (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTVibration.podspec.json`) - - ReactCommon (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/ReactCommon.podspec.json`) - - ReactNativeDarkMode (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/ReactNativeDarkMode.podspec.json`) - - RNSVG (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/RNSVG.podspec.json`) - - RNTAztecView (from `http://github.com/wordpress-mobile/gutenberg-mobile/`, commit `cda5a86d54fb47d54ffa76cadf5d74de78be3b8d`) + - React (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React.podspec.json`) + - React-Core (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-Core.podspec.json`) + - React-CoreModules (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-CoreModules.podspec.json`) + - React-cxxreact (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-cxxreact.podspec.json`) + - React-jsi (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-jsi.podspec.json`) + - React-jsiexecutor (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-jsiexecutor.podspec.json`) + - React-jsinspector (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-jsinspector.podspec.json`) + - react-native-blur (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-blur.podspec.json`) + - react-native-get-random-values (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-get-random-values.podspec.json`) + - react-native-keyboard-aware-scroll-view (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-keyboard-aware-scroll-view.podspec.json`) + - react-native-linear-gradient (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-linear-gradient.podspec.json`) + - react-native-safe-area (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-safe-area.podspec.json`) + - react-native-slider (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-slider.podspec.json`) + - react-native-video (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-video.podspec.json`) + - React-RCTActionSheet (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTActionSheet.podspec.json`) + - React-RCTAnimation (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTAnimation.podspec.json`) + - React-RCTBlob (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTBlob.podspec.json`) + - React-RCTImage (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTImage.podspec.json`) + - React-RCTLinking (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTLinking.podspec.json`) + - React-RCTNetwork (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTNetwork.podspec.json`) + - React-RCTSettings (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTSettings.podspec.json`) + - React-RCTText (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTText.podspec.json`) + - React-RCTVibration (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTVibration.podspec.json`) + - ReactCommon (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/ReactCommon.podspec.json`) + - ReactNativeDarkMode (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/ReactNativeDarkMode.podspec.json`) + - RNSVG (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/RNSVG.podspec.json`) + - RNTAztecView (from `http://github.com/wordpress-mobile/gutenberg-mobile/`, commit `99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2`) - SimulatorStatusMagic - Starscream (= 3.0.6) - SVProgressHUD (= 2.2.5) @@ -496,7 +496,7 @@ DEPENDENCIES: - WordPressShared (= 1.9.1) - WordPressUI (~> 1.7.1) - WPMediaPicker (~> 1.7.0) - - Yoga (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/Yoga.podspec.json`) + - Yoga (from `https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/Yoga.podspec.json`) - ZendeskSupportSDK (= 5.0.0) - ZIPFoundation (~> 0.9.8) @@ -558,93 +558,93 @@ SPEC REPOS: EXTERNAL SOURCES: FBLazyVector: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/FBLazyVector.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/FBLazyVector.podspec.json FBReactNativeSpec: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/FBReactNativeSpec.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/FBReactNativeSpec.podspec.json Folly: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/Folly.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/Folly.podspec.json FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 glog: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/glog.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/glog.podspec.json Gutenberg: - :commit: cda5a86d54fb47d54ffa76cadf5d74de78be3b8d + :commit: 99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2 :git: http://github.com/wordpress-mobile/gutenberg-mobile/ :submodules: true RCTRequired: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/RCTRequired.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/RCTRequired.podspec.json RCTTypeSafety: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/RCTTypeSafety.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/RCTTypeSafety.podspec.json React: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React.podspec.json React-Core: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-Core.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-Core.podspec.json React-CoreModules: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-CoreModules.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-CoreModules.podspec.json React-cxxreact: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-cxxreact.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-cxxreact.podspec.json React-jsi: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-jsi.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-jsi.podspec.json React-jsiexecutor: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-jsiexecutor.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-jsiexecutor.podspec.json React-jsinspector: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-jsinspector.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-jsinspector.podspec.json react-native-blur: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-blur.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-blur.podspec.json react-native-get-random-values: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-get-random-values.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-get-random-values.podspec.json react-native-keyboard-aware-scroll-view: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-keyboard-aware-scroll-view.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-keyboard-aware-scroll-view.podspec.json react-native-linear-gradient: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-linear-gradient.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-linear-gradient.podspec.json react-native-safe-area: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-safe-area.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-safe-area.podspec.json react-native-slider: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-slider.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-slider.podspec.json react-native-video: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/react-native-video.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/react-native-video.podspec.json React-RCTActionSheet: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTActionSheet.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTActionSheet.podspec.json React-RCTAnimation: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTAnimation.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTAnimation.podspec.json React-RCTBlob: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTBlob.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTBlob.podspec.json React-RCTImage: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTImage.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTImage.podspec.json React-RCTLinking: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTLinking.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTLinking.podspec.json React-RCTNetwork: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTNetwork.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTNetwork.podspec.json React-RCTSettings: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTSettings.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTSettings.podspec.json React-RCTText: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTText.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTText.podspec.json React-RCTVibration: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/React-RCTVibration.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/React-RCTVibration.podspec.json ReactCommon: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/ReactCommon.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/ReactCommon.podspec.json ReactNativeDarkMode: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/ReactNativeDarkMode.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/ReactNativeDarkMode.podspec.json RNSVG: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/RNSVG.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/RNSVG.podspec.json RNTAztecView: - :commit: cda5a86d54fb47d54ffa76cadf5d74de78be3b8d + :commit: 99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2 :git: http://github.com/wordpress-mobile/gutenberg-mobile/ :submodules: true Yoga: - :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/cda5a86d54fb47d54ffa76cadf5d74de78be3b8d/third-party-podspecs/Yoga.podspec.json + :podspec: https://raw.githubusercontent.com/wordpress-mobile/gutenberg-mobile/99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2/third-party-podspecs/Yoga.podspec.json CHECKOUT OPTIONS: FSInteractiveMap: :git: https://github.com/wordpress-mobile/FSInteractiveMap.git :tag: 0.2.0 Gutenberg: - :commit: cda5a86d54fb47d54ffa76cadf5d74de78be3b8d + :commit: 99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2 :git: http://github.com/wordpress-mobile/gutenberg-mobile/ :submodules: true RNTAztecView: - :commit: cda5a86d54fb47d54ffa76cadf5d74de78be3b8d + :commit: 99eee8de7cf15d50cf9c6071e0f7ebc963a6e3f2 :git: http://github.com/wordpress-mobile/gutenberg-mobile/ :submodules: true @@ -674,7 +674,7 @@ SPEC CHECKSUMS: Gridicons: 8e19276b20bb15d1fda1d4d0db96d066d170135b GTMAppAuth: 4deac854479704f348309e7b66189e604cf5e01e GTMSessionFetcher: 6f5c8abbab8a9bce4bb3f057e317728ec6182b10 - Gutenberg: 7476cfa37e5c7506577cce2c4a0818f55fd1a05e + Gutenberg: ba99b9caf47488bb149e1d1374d7deec1356ee28 JTAppleCalendar: 932cadea40b1051beab10f67843451d48ba16c99 lottie-ios: 85ce835dd8c53e02509f20729fc7d6a4e6645a0a MediaEditor: 1ff91fda23f693b97c8b56de2456a46bbbebdbe1 @@ -713,7 +713,7 @@ SPEC CHECKSUMS: ReactCommon: 48926fc48fcd7c8a629860049ffba9c23b4005dc ReactNativeDarkMode: f61376360c5d983907e5c316e8e1c853a8c2f348 RNSVG: 68a534a5db06dcbdaebfd5079349191598caef7b - RNTAztecView: f3f9e2e2fbd885b86360a155314e5a36ef50b9d7 + RNTAztecView: 42c629c75ef05644d4ef32a4a1cd06e2619a5198 Sentry: ab6c209f23700d1460691dbc90e19ed0a05d496b SimulatorStatusMagic: 28d4a9d1a500ac7cea0b2b5a43c1c6ddb40ba56c Sodium: 63c0ca312a932e6da481689537d4b35568841bdc @@ -739,6 +739,6 @@ SPEC CHECKSUMS: ZendeskSupportSDK: a87ab1e4badace92c75eb11dc77ede1e995b2adc ZIPFoundation: 249fa8890597086cd536bb2df5c9804d84e122b0 -PODFILE CHECKSUM: f2e81e280eda833d21a91689b7249293f0db6357 +PODFILE CHECKSUM: e617a466720dc5d1ea13f9fe65217609bc8393c0 COCOAPODS: 1.8.4 diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift index 2787ba5f8e40..24f39868cae7 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift @@ -4,7 +4,8 @@ import Gridicons class GutenbergLayoutPickerViewController: UIViewController { @IBOutlet weak var headerView: UIView! -// @IBOutlet weak var closeButton: UIButton! + @IBOutlet weak var closeButton: UIButton! + @IBOutlet weak var headerHeight: NSLayoutConstraint! @IBOutlet weak var categoryBar: UICollectionView! @IBOutlet weak var tableView: UITableView! @@ -15,19 +16,21 @@ class GutenbergLayoutPickerViewController: UIViewController { var completion: PageCoordinator.TemplateSelectionCompletion? = nil let minTitleFontSize: CGFloat = 22 let maxTitleFontSize: CGFloat = 34 - var maxHeaderHeight: CGFloat = 285 + var maxHeaderHeight: CGFloat = 161 var minHeaderHeight: CGFloat { - return (navigationController?.navigationBar.frame.height ?? 56) + categoryBar.frame.height + 9 + return 4 + categoryBar.frame.height + 9 } override func viewDidLoad() { super.viewDidLoad() styleButtons() -// let tableFooterFrame = footerView.frame -// let bottomInset = tableFooterFrame.size.height - (UIApplication.shared.keyWindow?.safeAreaInsets.bottom ?? 44) -// tableView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: bottomInset, right: 0) -// closeButton.setImage(UIImage.gridicon(.crossSmall), for: .normal) + let tableFooterFrame = footerView.frame + let bottomInset = tableFooterFrame.size.height - (UIApplication.shared.keyWindow?.safeAreaInsets.bottom ?? 44) + tableView.tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: maxHeaderHeight)) + tableView.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: bottomInset)) + + closeButton.setImage(UIImage.gridicon(.crossSmall), for: .normal) } override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { @@ -72,15 +75,15 @@ class GutenbergLayoutPickerViewController: UIViewController { button?.layer.cornerRadius = 8 } -// if #available(iOS 13.0, *) { -// closeButton.backgroundColor = UIColor { (traitCollection: UITraitCollection) -> UIColor in -// if traitCollection.userInterfaceStyle == .dark { -// return UIColor.systemFill -// } else { -// return UIColor.quaternarySystemFill -// } -// } -// } + if #available(iOS 13.0, *) { + closeButton.backgroundColor = UIColor { (traitCollection: UITraitCollection) -> UIColor in + if traitCollection.userInterfaceStyle == .dark { + return UIColor.systemFill + } else { + return UIColor.quaternarySystemFill + } + } + } } private func titleViewFont(withSize pointSize: CGFloat) -> UIFont? { @@ -88,6 +91,21 @@ class GutenbergLayoutPickerViewController: UIViewController { } } +extension GutenbergLayoutPickerViewController: UITableViewDelegate { + + func scrollViewDidScroll(_ scrollView: UIScrollView) { + let newHeaderViewHeight = maxHeaderHeight - scrollView.contentOffset.y + + if newHeaderViewHeight > maxHeaderHeight { + headerHeight.constant = maxHeaderHeight + } else if newHeaderViewHeight < minHeaderHeight { + headerHeight.constant = minHeaderHeight + } else { + headerHeight.constant = newHeaderViewHeight + } + } +} + extension GutenbergLayoutPickerViewController: UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard index 28deb6163623..bb7a65ee0cf6 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard @@ -1,5 +1,5 @@ - + @@ -37,63 +37,62 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -156,7 +155,10 @@ + + + @@ -168,12 +170,30 @@ + + + + + From b52dcdf1a265b012d28b7af2f19fab3ee0a9931a Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Thu, 16 Jul 2020 17:26:46 -0400 Subject: [PATCH 15/19] Style navigation bar for layout picker --- .../Classes/Services/PageCoordinator.swift | 18 ++++++++++++++++-- .../GutenbergLayoutPickerViewController.swift | 12 +++++++++++- .../LayoutPickerStoryboard.storyboard | 2 +- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/WordPress/Classes/Services/PageCoordinator.swift b/WordPress/Classes/Services/PageCoordinator.swift index 383a2428bda8..7265e9000aad 100644 --- a/WordPress/Classes/Services/PageCoordinator.swift +++ b/WordPress/Classes/Services/PageCoordinator.swift @@ -15,10 +15,24 @@ class PageCoordinator { let storyboard = UIStoryboard(name: "LayoutPickerStoryboard", bundle: Bundle.main) guard let navigationController = storyboard.instantiateInitialViewController() as? UINavigationController, let rootView = navigationController.topViewController as? GutenbergLayoutPickerViewController else { - completion(nil) - return + completion(nil) + return } rootView.completion = completion + + let font = WPStyleGuide.serifFontForTextStyle(UIFont.TextStyle.largeTitle, fontWeight: .semibold) + let tintColor = UIColor(light: .black, dark: .white) + + navigationController.navigationBar.largeTitleTextAttributes = [ + NSAttributedString.Key.font: font.withSize(34), + NSAttributedString.Key.foregroundColor: tintColor + ] + + navigationController.navigationBar.titleTextAttributes = [ + NSAttributedString.Key.font: font.withSize(17), + NSAttributedString.Key.foregroundColor: tintColor + ] + navigationController.modalPresentationStyle = .pageSheet controller.present(navigationController, animated: true, completion: nil) } diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift index 24f39868cae7..fa67df8d3e16 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift @@ -18,7 +18,7 @@ class GutenbergLayoutPickerViewController: UIViewController { let maxTitleFontSize: CGFloat = 34 var maxHeaderHeight: CGFloat = 161 var minHeaderHeight: CGFloat { - return 4 + categoryBar.frame.height + 9 + return 9 + categoryBar.frame.height + 9 } override func viewDidLoad() { @@ -33,6 +33,11 @@ class GutenbergLayoutPickerViewController: UIViewController { closeButton.setImage(UIImage.gridicon(.crossSmall), for: .normal) } + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + navigationController?.navigationBar.shadowImage = UIImage() + } + override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { super.traitCollectionDidChange(previousTraitCollection) if #available(iOS 13.0, *) { @@ -50,6 +55,11 @@ class GutenbergLayoutPickerViewController: UIViewController { createPage(nil) } + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + navigationController?.navigationBar.shadowImage = UIImage(color: WPStyleGuide.webViewModalNavigationBarShadow()) + super.prepare(for: segue, sender: sender) + } + private func createPage(_ template: String?) { guard let completion = completion else { dismiss(animated: true, completion: nil) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard index bb7a65ee0cf6..fc4d2106f123 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard @@ -85,7 +85,7 @@ - + From 86121df90360fde40135e43e6e553adbf7bccb76 Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Fri, 17 Jul 2020 14:43:04 -0400 Subject: [PATCH 16/19] Adjust navigation bar style for layout picker --- .../GutenbergLayoutPickerViewController.swift | 31 +++++++++++++------ .../LayoutPickerStoryboard.storyboard | 9 ++---- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift index fa67df8d3e16..709220144050 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift @@ -18,7 +18,7 @@ class GutenbergLayoutPickerViewController: UIViewController { let maxTitleFontSize: CGFloat = 34 var maxHeaderHeight: CGFloat = 161 var minHeaderHeight: CGFloat { - return 9 + categoryBar.frame.height + 9 + return categoryBar.frame.height + 9 } override func viewDidLoad() { @@ -29,13 +29,12 @@ class GutenbergLayoutPickerViewController: UIViewController { let bottomInset = tableFooterFrame.size.height - (UIApplication.shared.keyWindow?.safeAreaInsets.bottom ?? 44) tableView.tableHeaderView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: maxHeaderHeight)) tableView.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: bottomInset)) - closeButton.setImage(UIImage.gridicon(.crossSmall), for: .normal) } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) - navigationController?.navigationBar.shadowImage = UIImage() + styleNavigationBar() } override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { @@ -56,18 +55,32 @@ class GutenbergLayoutPickerViewController: UIViewController { } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { - navigationController?.navigationBar.shadowImage = UIImage(color: WPStyleGuide.webViewModalNavigationBarShadow()) + restoreNavigationBarStyle() super.prepare(for: segue, sender: sender) } private func createPage(_ template: String?) { - guard let completion = completion else { - dismiss(animated: true, completion: nil) - return + dismiss(animated: true) { + self.completion?(template) } + } - dismiss(animated: true) { - completion(template) + private func styleNavigationBar() { + + if #available(iOS 13.0, *) { + navigationController?.navigationBar.standardAppearance.shadowColor = UIColor.clear + navigationController?.navigationBar.scrollEdgeAppearance?.shadowColor = UIColor.clear + } else { + navigationController?.navigationBar.shadowImage = UIImage() + } + } + + private func restoreNavigationBarStyle() { + if #available(iOS 13.0, *) { + navigationController?.navigationBar.standardAppearance.shadowColor = UIColor.systemGray4 + navigationController?.navigationBar.scrollEdgeAppearance?.shadowColor = UIColor.systemGray4 + } else { + navigationController?.navigationBar.shadowImage = UIImage(color: .lightGray) } } diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard index fc4d2106f123..1ec07753c570 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard @@ -85,7 +85,7 @@ - + @@ -96,11 +96,6 @@ - - - - - @@ -142,7 +137,6 @@ - @@ -160,6 +154,7 @@ + From 426ff38622bb2fd144ceeabcd444f9e8977f7d88 Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Fri, 17 Jul 2020 16:57:02 -0400 Subject: [PATCH 17/19] Style Navigation bar text for layout picker --- .../Classes/Services/PageCoordinator.swift | 13 ---- .../GutenbergLayoutPickerViewController.swift | 29 +------- .../GutenbergLightNavigationController.swift | 67 +++++++++++++++++++ .../LayoutPickerStoryboard.storyboard | 4 +- WordPress/WordPress.xcodeproj/project.pbxproj | 6 +- 5 files changed, 77 insertions(+), 42 deletions(-) create mode 100644 WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLightNavigationController.swift diff --git a/WordPress/Classes/Services/PageCoordinator.swift b/WordPress/Classes/Services/PageCoordinator.swift index 7265e9000aad..39f7fb6871d3 100644 --- a/WordPress/Classes/Services/PageCoordinator.swift +++ b/WordPress/Classes/Services/PageCoordinator.swift @@ -20,19 +20,6 @@ class PageCoordinator { } rootView.completion = completion - let font = WPStyleGuide.serifFontForTextStyle(UIFont.TextStyle.largeTitle, fontWeight: .semibold) - let tintColor = UIColor(light: .black, dark: .white) - - navigationController.navigationBar.largeTitleTextAttributes = [ - NSAttributedString.Key.font: font.withSize(34), - NSAttributedString.Key.foregroundColor: tintColor - ] - - navigationController.navigationBar.titleTextAttributes = [ - NSAttributedString.Key.font: font.withSize(17), - NSAttributedString.Key.foregroundColor: tintColor - ] - navigationController.modalPresentationStyle = .pageSheet controller.present(navigationController, animated: true, completion: nil) } diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift index 709220144050..2982b7b14841 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLayoutPickerViewController.swift @@ -33,8 +33,8 @@ class GutenbergLayoutPickerViewController: UIViewController { } override func viewWillAppear(_ animated: Bool) { + (navigationController as? GutenbergLightNavigationController)?.shadowIsHidden = true super.viewWillAppear(animated) - styleNavigationBar() } override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { @@ -55,7 +55,7 @@ class GutenbergLayoutPickerViewController: UIViewController { } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { - restoreNavigationBarStyle() + (navigationController as? GutenbergLightNavigationController)?.shadowIsHidden = false super.prepare(for: segue, sender: sender) } @@ -65,31 +65,12 @@ class GutenbergLayoutPickerViewController: UIViewController { } } - private func styleNavigationBar() { - - if #available(iOS 13.0, *) { - navigationController?.navigationBar.standardAppearance.shadowColor = UIColor.clear - navigationController?.navigationBar.scrollEdgeAppearance?.shadowColor = UIColor.clear - } else { - navigationController?.navigationBar.shadowImage = UIImage() - } - } - - private func restoreNavigationBarStyle() { - if #available(iOS 13.0, *) { - navigationController?.navigationBar.standardAppearance.shadowColor = UIColor.systemGray4 - navigationController?.navigationBar.scrollEdgeAppearance?.shadowColor = UIColor.systemGray4 - } else { - navigationController?.navigationBar.shadowImage = UIImage(color: .lightGray) - } - } - private func styleButtons() { let seperator: UIColor if #available(iOS 13.0, *) { seperator = UIColor.separator } else { - seperator = UIColor(red: 0.235, green: 0.235, blue: 0.263, alpha: 0.29) + seperator = UIColor.lightGray } [createBlankPageBtn].forEach { (button) in @@ -108,10 +89,6 @@ class GutenbergLayoutPickerViewController: UIViewController { } } } - - private func titleViewFont(withSize pointSize: CGFloat) -> UIFont? { - return WPStyleGuide.serifFontForTextStyle(UIFont.TextStyle.largeTitle, fontWeight: .semibold).withSize(pointSize) - } } extension GutenbergLayoutPickerViewController: UITableViewDelegate { diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLightNavigationController.swift b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLightNavigationController.swift new file mode 100644 index 000000000000..0f0f79682bb6 --- /dev/null +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/GutenbergLightNavigationController.swift @@ -0,0 +1,67 @@ +import UIKit + +class GutenbergLightNavigationController: UINavigationController { + + var separatorColor: UIColor { + if #available(iOS 13.0, *) { + return .separator + } else { + return .lightGray + } + } + + var shadowIsHidden: Bool = false { + didSet { + if shadowIsHidden { + if #available(iOS 13.0, *) { + navigationBar.standardAppearance.shadowColor = UIColor.clear + navigationBar.scrollEdgeAppearance?.shadowColor = UIColor.clear + } else { + navigationBar.shadowImage = UIImage() + } + } else { + if #available(iOS 13.0, *) { + navigationBar.standardAppearance.shadowColor = separatorColor + navigationBar.scrollEdgeAppearance?.shadowColor = separatorColor + } else { + navigationBar.shadowImage = UIImage(color: .lightGray) + } + } + } + } + + override func viewDidLoad() { + super.viewDidLoad() + let font = WPStyleGuide.serifFontForTextStyle(UIFont.TextStyle.largeTitle, fontWeight: .semibold) + let tintColor = UIColor(light: .black, dark: .white) + + let titleTextAttributes = [ + NSAttributedString.Key.font: font.withSize(17), + NSAttributedString.Key.foregroundColor: tintColor + ] + + let largeTitleTextAttributes = [ + NSAttributedString.Key.font: font.withSize(34), + NSAttributedString.Key.foregroundColor: tintColor + ] + + if #available(iOS 13.0, *) { + + let appearance = UINavigationBarAppearance() + appearance.backgroundColor = .systemBackground + appearance.shadowColor = separatorColor + appearance.titleTextAttributes = titleTextAttributes + appearance.largeTitleTextAttributes = largeTitleTextAttributes + + navigationBar.scrollEdgeAppearance = appearance + navigationBar.standardAppearance = appearance + } else { + navigationBar.backgroundColor = .white + navigationBar.titleTextAttributes = titleTextAttributes + navigationBar.largeTitleTextAttributes = largeTitleTextAttributes + } + + navigationBar.barStyle = .default + navigationBar.barTintColor = .white + } +} diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard index 1ec07753c570..cb91d525635b 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard @@ -8,10 +8,10 @@ - + - + diff --git a/WordPress/WordPress.xcodeproj/project.pbxproj b/WordPress/WordPress.xcodeproj/project.pbxproj index 895a782281df..48a219961733 100644 --- a/WordPress/WordPress.xcodeproj/project.pbxproj +++ b/WordPress/WordPress.xcodeproj/project.pbxproj @@ -586,6 +586,7 @@ 43FB3F411EBD215C00FC8A62 /* LoginEpilogueBlogCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43FB3F401EBD215C00FC8A62 /* LoginEpilogueBlogCell.swift */; }; 43FB3F471EC10F1E00FC8A62 /* LoginEpilogueTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43FB3F461EC10F1E00FC8A62 /* LoginEpilogueTableViewController.swift */; }; 43FF64EF20DAA0840060A69A /* GravatarUploader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43FF64EE20DAA0840060A69A /* GravatarUploader.swift */; }; + 4624710824C245F9004BA641 /* GutenbergLightNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4624710724C245F9004BA641 /* GutenbergLightNavigationController.swift */; }; 4629E41D243D21400002E15C /* EditorThemeStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4629E41C243D21400002E15C /* EditorThemeStore.swift */; }; 4629E4212440C5B20002E15C /* GutenbergCoverUploadProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4629E4202440C5B20002E15C /* GutenbergCoverUploadProcessor.swift */; }; 4629E4232440C8160002E15C /* GutenbergCoverUploadProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4629E4222440C8160002E15C /* GutenbergCoverUploadProcessorTests.swift */; }; @@ -2988,6 +2989,7 @@ 43FB3F401EBD215C00FC8A62 /* LoginEpilogueBlogCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginEpilogueBlogCell.swift; sourceTree = ""; }; 43FB3F461EC10F1E00FC8A62 /* LoginEpilogueTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginEpilogueTableViewController.swift; sourceTree = ""; }; 43FF64EE20DAA0840060A69A /* GravatarUploader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GravatarUploader.swift; sourceTree = ""; }; + 4624710724C245F9004BA641 /* GutenbergLightNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GutenbergLightNavigationController.swift; sourceTree = ""; }; 4629E41C243D21400002E15C /* EditorThemeStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditorThemeStore.swift; sourceTree = ""; }; 4629E4202440C5B20002E15C /* GutenbergCoverUploadProcessor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GutenbergCoverUploadProcessor.swift; sourceTree = ""; }; 4629E4222440C8160002E15C /* GutenbergCoverUploadProcessorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GutenbergCoverUploadProcessorTests.swift; sourceTree = ""; }; @@ -6470,8 +6472,9 @@ 4631359224AD057E0017E65C /* Layout Picker */ = { isa = PBXGroup; children = ( - 4631359524AD068B0017E65C /* GutenbergLayoutPickerViewController.swift */, 4631359324AD05A60017E65C /* LayoutPickerStoryboard.storyboard */, + 4631359524AD068B0017E65C /* GutenbergLayoutPickerViewController.swift */, + 4624710724C245F9004BA641 /* GutenbergLightNavigationController.swift */, ); path = "Layout Picker"; sourceTree = ""; @@ -13102,6 +13105,7 @@ 403269922027719C00608441 /* PluginDirectoryAccessoryItem.swift in Sources */, FFB1FAA01BF0EC4E0090C761 /* PHAsset+Exporters.swift in Sources */, D816B8D92112D85F0052CE4D /* News.swift in Sources */, + 4624710824C245F9004BA641 /* GutenbergLightNavigationController.swift in Sources */, 8298F38F1EEF2B15008EB7F0 /* AppFeedbackPromptView.swift in Sources */, F17A2A1E23BFBD72001E96AC /* UIView+ExistingConstraints.swift in Sources */, 400A2C892217A985000A8A59 /* CountryStatsRecordValue+CoreDataProperties.swift in Sources */, From 987579d0689a63401044ba44d80144c34fb1e553 Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Fri, 17 Jul 2020 16:57:23 -0400 Subject: [PATCH 18/19] Revert modified style --- .../Colors and Styles/WPStyleGuide+ApplicationStyles.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/WordPress/Classes/Extensions/Colors and Styles/WPStyleGuide+ApplicationStyles.swift b/WordPress/Classes/Extensions/Colors and Styles/WPStyleGuide+ApplicationStyles.swift index e9173a94353c..078462b96d68 100644 --- a/WordPress/Classes/Extensions/Colors and Styles/WPStyleGuide+ApplicationStyles.swift +++ b/WordPress/Classes/Extensions/Colors and Styles/WPStyleGuide+ApplicationStyles.swift @@ -34,7 +34,6 @@ extension WPStyleGuide { appearance.backgroundColor = .appBar appearance.titleTextAttributes = [.foregroundColor: UIColor.white] navigationAppearance.standardAppearance = appearance - navigationAppearance.scrollEdgeAppearance = navigationAppearance.standardAppearance } // Makes bar buttons visible in "Other Apps" media source picker. From 9da13fd3e1670d1501f51381c0b1c81425a9fe22 Mon Sep 17 00:00:00 2001 From: Chip Snyder Date: Tue, 21 Jul 2020 15:33:56 -0400 Subject: [PATCH 19/19] Left align subtitle --- .../Layout Picker/LayoutPickerStoryboard.storyboard | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard index cb91d525635b..9aa584cba96a 100644 --- a/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard +++ b/WordPress/Classes/ViewRelated/Gutenberg/Layout Picker/LayoutPickerStoryboard.storyboard @@ -46,11 +46,8 @@ - + - +