diff --git a/WordPress/Classes/Services/AppUpdate/AppUpdatePresenter.swift b/WordPress/Classes/Services/AppUpdate/AppUpdatePresenter.swift index 2c584d40aa6b..959ade8ccdb0 100644 --- a/WordPress/Classes/Services/AppUpdate/AppUpdatePresenter.swift +++ b/WordPress/Classes/Services/AppUpdate/AppUpdatePresenter.swift @@ -34,7 +34,7 @@ final class AppUpdatePresenter: AppUpdatePresenterProtocol { guard let window = UIApplication.sharedIfAvailable()?.mainWindow, let topViewController = window.topmostPresentedViewController, !((topViewController as? UINavigationController)?.viewControllers.first is BlockingUpdateViewController) else { - wpAssertionFailure("Failed to show blocking update view") + // Don't show if the view is already being displayed return } let viewModel = AppStoreInfoViewModel(appStoreInfo) diff --git a/WordPress/Classes/ViewRelated/AppUpdate/AppStoreInfoViewModel.swift b/WordPress/Classes/ViewRelated/AppUpdate/AppStoreInfoViewModel.swift index f50860cb5eb4..2c16a7b006d1 100644 --- a/WordPress/Classes/ViewRelated/AppUpdate/AppStoreInfoViewModel.swift +++ b/WordPress/Classes/ViewRelated/AppUpdate/AppStoreInfoViewModel.swift @@ -9,8 +9,8 @@ struct AppStoreInfoViewModel { let message = Strings.message let whatsNewTitle = Strings.whatsNew let updateButtonTitle = Strings.Actions.update + let latestVersionButtonTitle = Strings.Actions.latestVersion let cancelButtonTitle = Strings.Actions.cancel - let moreInfoButtonTitle = Strings.Actions.moreInfo init(_ appStoreInfo: AppStoreLookupResponse.AppStoreInfo) { self.appName = appStoreInfo.trackName @@ -27,7 +27,7 @@ private enum Strings { enum Actions { static let update = NSLocalizedString("appUpdate.action.update", value: "Update", comment: "Update button title") + static let latestVersion = NSLocalizedString("appUpdate.action.latestVersion", value: "Get the latest version", comment: "Get the latest version button title") static let cancel = NSLocalizedString("appUpdate.action.cancel", value: "Cancel", comment: "Cancel button title") - static let moreInfo = NSLocalizedString("appUpdate.action.moreInfo", value: "More info", comment: "More info button title") } } diff --git a/WordPress/Classes/ViewRelated/AppUpdate/BlockingUpdateView.swift b/WordPress/Classes/ViewRelated/AppUpdate/BlockingUpdateView.swift index a03f22e7881f..62a4e9ad3905 100644 --- a/WordPress/Classes/ViewRelated/AppUpdate/BlockingUpdateView.swift +++ b/WordPress/Classes/ViewRelated/AppUpdate/BlockingUpdateView.swift @@ -4,8 +4,8 @@ import UIKit import StoreKit final class BlockingUpdateViewController: UIHostingController { - init(viewModel: AppStoreInfoViewModel, onUpdateTapped: @escaping () -> Void) { - super.init(rootView: .init(viewModel: viewModel, onUpdateTapped: onUpdateTapped)) + init(viewModel: AppStoreInfoViewModel, onButtonTapped: @escaping () -> Void) { + super.init(rootView: .init(viewModel: viewModel, onButtonTapped: onButtonTapped)) } @MainActor required dynamic init?(coder aDecoder: NSCoder) { @@ -15,7 +15,7 @@ final class BlockingUpdateViewController: UIHostingController Void) + let onButtonTapped: (() -> Void) var body: some View { VStack(alignment: .leading, spacing: 8) { @@ -36,7 +36,10 @@ struct BlockingUpdateView: View { Spacer() - buttonsView + DSButton(title: viewModel.latestVersionButtonTitle, style: .init(emphasis: .primary, size: .large)) { + onButtonTapped() + } + .padding(.bottom, 20) } .padding([.leading, .trailing], 20) .interactiveDismissDisabled() @@ -80,15 +83,4 @@ struct BlockingUpdateView: View { } } } - - private var buttonsView: some View { - VStack { - DSButton(title: viewModel.updateButtonTitle, style: .init(emphasis: .primary, size: .large)) { - onUpdateTapped() - } - DSButton(title: viewModel.moreInfoButtonTitle, style: .init(emphasis: .tertiary, size: .large)) { - // Todo - } - } - } }