From 41a17dfb066a6c7b954e97e4544e05b33031cc3c Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Sat, 2 May 2020 17:21:01 -0500 Subject: [PATCH] Restrict build button on iOS so that it only appears if Twitter is enabled --- Mac/AppDelegate.swift | 2 +- Shared/ExtensionPoints/ExtensionPointManager.swift | 4 ++++ iOS/Add/Add.storyboard | 6 ++++-- iOS/Add/AddWebFeedViewController.swift | 9 +++++++++ 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Mac/AppDelegate.swift b/Mac/AppDelegate.swift index 2d2883160..9b6b86094 100644 --- a/Mac/AppDelegate.swift +++ b/Mac/AppDelegate.swift @@ -407,7 +407,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations, guard !isDisplayingSheet && !AccountManager.shared.activeAccounts.isEmpty else { return false } - return ExtensionPointManager.shared.activeExtensionPoints.values.contains(where: { $0 is TwitterFeedProvider }) + return ExtensionPointManager.shared.isTwitterEnabled } #if !MAC_APP_STORE if item.action == #selector(toggleWebInspectorEnabled(_:)) { diff --git a/Shared/ExtensionPoints/ExtensionPointManager.swift b/Shared/ExtensionPoints/ExtensionPointManager.swift index a1810ce95..423cad4eb 100644 --- a/Shared/ExtensionPoints/ExtensionPointManager.swift +++ b/Shared/ExtensionPoints/ExtensionPointManager.swift @@ -49,6 +49,10 @@ final class ExtensionPointManager: FeedProviderManagerDelegate { return activeExtensionPoints.values.compactMap({ return $0 as? FeedProvider }) } + var isTwitterEnabled: Bool { + return activeExtensionPoints.values.contains(where: { $0 is TwitterFeedProvider }) + } + init() { #if os(macOS) #if DEBUG diff --git a/iOS/Add/Add.storyboard b/iOS/Add/Add.storyboard index ddccaedb8..15a4958ba 100644 --- a/iOS/Add/Add.storyboard +++ b/iOS/Add/Add.storyboard @@ -26,7 +26,7 @@ - + @@ -41,7 +41,7 @@ - + @@ -118,7 +118,9 @@ + + diff --git a/iOS/Add/AddWebFeedViewController.swift b/iOS/Add/AddWebFeedViewController.swift index 937b2fc89..1ae74f070 100644 --- a/iOS/Add/AddWebFeedViewController.swift +++ b/iOS/Add/AddWebFeedViewController.swift @@ -15,6 +15,8 @@ import RSParser class AddWebFeedViewController: UITableViewController, AddContainerViewControllerChild { @IBOutlet private weak var urlTextField: UITextField! + @IBOutlet weak var urlTextFieldToSuperViewConstraint: NSLayoutConstraint! + @IBOutlet weak var urlBuilderButton: UIButton! @IBOutlet private weak var nameTextField: UITextField! private var folderLabel = "" @@ -41,6 +43,13 @@ class AddWebFeedViewController: UITableViewController, AddContainerViewControlle urlTextField.text = initialFeed urlTextField.delegate = self + if ExtensionPointManager.shared.isTwitterEnabled { + urlTextFieldToSuperViewConstraint.isActive = false + urlTextField.trailingAnchor.constraint(equalTo: urlBuilderButton.leadingAnchor, constant: -8).isActive = true + } else { + urlBuilderButton.isHidden = true + } + if initialFeed != nil { delegate?.readyToAdd(state: true) }