diff --git a/iphone/Maps/Bookmarks/Catalog/CatalogWebViewController.swift b/iphone/Maps/Bookmarks/Catalog/CatalogWebViewController.swift index abe0ab5568..6b66007dab 100644 --- a/iphone/Maps/Bookmarks/Catalog/CatalogWebViewController.swift +++ b/iphone/Maps/Bookmarks/Catalog/CatalogWebViewController.swift @@ -185,7 +185,7 @@ final class CatalogWebViewController: WebViewController { } if url.path.contains(subscribePath) { - showSubscribe() + showSubscribe(type: .sightseeing) decisionHandler(.cancel); return } @@ -218,12 +218,18 @@ final class CatalogWebViewController: WebViewController { withParameters: [kStatError : kStatUnknown]) } - private func showSubscribe() { - let subscribeViewController = BookmarksSubscriptionViewController() + private func showSubscribe(type: SubscriptionScreenType) { + let subscribeViewController: BaseSubscriptionViewController + switch type { + case .allPass: + subscribeViewController = AllPassSubscriptionViewController() + case .sightseeing: + subscribeViewController = BookmarksSubscriptionViewController() + } subscribeViewController.onSubscribe = { [weak self] in self?.webView.reloadFromOrigin() self?.dismiss(animated: true) - let successDialog = SubscriptionSuccessViewController { [weak self] in + let successDialog = SubscriptionSuccessViewController(type) { [weak self] in self?.dismiss(animated: true) } self?.present(successDialog, animated: true) diff --git a/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionGoToCatalogViewController.swift b/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionGoToCatalogViewController.swift index ee3f58692d..b68aa33f6a 100644 --- a/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionGoToCatalogViewController.swift +++ b/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionGoToCatalogViewController.swift @@ -2,10 +2,15 @@ private let transitioning = FadeTransitioning() private let onOk: MWMVoidBlock private let onCancel: MWMVoidBlock + private let screenType: SubscriptionScreenType - @objc init(onOk: @escaping MWMVoidBlock, onCancel: @escaping MWMVoidBlock) { + @IBOutlet private var titleLabel: UILabel! + @IBOutlet private var textLabel: UILabel! + + @objc init(_ screenType:SubscriptionScreenType, onOk: @escaping MWMVoidBlock, onCancel: @escaping MWMVoidBlock) { self.onOk = onOk self.onCancel = onCancel + self.screenType = screenType super.init(nibName: nil, bundle: nil) transitioningDelegate = transitioning modalPresentationStyle = .custom @@ -15,6 +20,18 @@ fatalError("init(coder:) has not been implemented") } + override func awakeFromNib() { + super.awakeFromNib() + switch screenType { + case .allPass: + titleLabel.text = L("subscription_success_dialog_title_sightseeing_pass") + textLabel.text = L("subscription_success_dialog_message_sightseeing_pass") + case .sightseeing: + titleLabel.text = L("subscription_success_dialog_title") + textLabel.text = L("subscription_success_dialog_message") + } + } + @IBAction func onOk(_ sender: UIButton) { onOk() } diff --git a/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionGoToCatalogViewController.xib b/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionGoToCatalogViewController.xib index e3fa587438..513db939a7 100644 --- a/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionGoToCatalogViewController.xib +++ b/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionGoToCatalogViewController.xib @@ -10,6 +10,8 @@ + + diff --git a/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionSuccessViewController.swift b/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionSuccessViewController.swift index 98f9d4d663..058a033c73 100644 --- a/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionSuccessViewController.swift +++ b/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionSuccessViewController.swift @@ -1,9 +1,14 @@ class SubscriptionSuccessViewController: UIViewController { private let transitioning = FadeTransitioning() private let onOk: MWMVoidBlock + private let screenType: SubscriptionScreenType - init(onOk: @escaping MWMVoidBlock) { + @IBOutlet private var titleLabel: UILabel! + @IBOutlet private var textLabel: UILabel! + + init(_ screenType:SubscriptionScreenType, onOk: @escaping MWMVoidBlock) { self.onOk = onOk + self.screenType = screenType super.init(nibName: nil, bundle: nil) transitioningDelegate = transitioning modalPresentationStyle = .custom @@ -13,6 +18,18 @@ class SubscriptionSuccessViewController: UIViewController { fatalError("init(coder:) has not been implemented") } + override func awakeFromNib() { + super.awakeFromNib() + switch screenType { + case .allPass: + titleLabel.text = L("subscription_success_dialog_title_sightseeing_pass") + textLabel.text = L("subscription_success_dialog_message_sightseeing_pass") + case .sightseeing: + titleLabel.text = L("subscription_success_dialog_title") + textLabel.text = L("subscription_success_dialog_message") + } + } + override func viewDidLoad() { super.viewDidLoad() } diff --git a/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionSuccessViewController.xib b/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionSuccessViewController.xib index b04288d441..3f23393d78 100644 --- a/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionSuccessViewController.xib +++ b/iphone/Maps/Bookmarks/Catalog/Dialogs/SubscriptionSuccessViewController.xib @@ -10,6 +10,8 @@ + + diff --git a/iphone/Maps/Bookmarks/Catalog/PaidRouteViewController.swift b/iphone/Maps/Bookmarks/Catalog/PaidRouteViewController.swift index 51f6f67d62..64ae42d8dc 100644 --- a/iphone/Maps/Bookmarks/Catalog/PaidRouteViewController.swift +++ b/iphone/Maps/Bookmarks/Catalog/PaidRouteViewController.swift @@ -245,7 +245,7 @@ extension PaidRouteViewController : SubscriptionManagerListener { loadingView.isHidden = true if (isValid) { delegate?.didCompleteSubscription(self) - let successDialog = SubscriptionSuccessViewController { [weak self] in + let successDialog = SubscriptionSuccessViewController(.sightseeing) { [weak self] in self?.dismiss(animated: true) } present(successDialog, animated: true) diff --git a/iphone/Maps/Bookmarks/Catalog/Subscription/BaseSubscriptionViewController.swift b/iphone/Maps/Bookmarks/Catalog/Subscription/BaseSubscriptionViewController.swift index 2c25e257c4..30c7b15aab 100644 --- a/iphone/Maps/Bookmarks/Catalog/Subscription/BaseSubscriptionViewController.swift +++ b/iphone/Maps/Bookmarks/Catalog/Subscription/BaseSubscriptionViewController.swift @@ -1,6 +1,11 @@ import Foundation import SafariServices +@objc enum SubscriptionScreenType: Int{ + case allPass + case sightseeing +} + class BaseSubscriptionViewController: MWMViewController { //MARK: base outlets @IBOutlet private var loadingView: UIView! diff --git a/iphone/Maps/Classes/CustomViews/MapViewControls/MWMMapViewControlsManager.mm b/iphone/Maps/Classes/CustomViews/MapViewControls/MWMMapViewControlsManager.mm index cb061bf7e1..39943ebbaa 100644 --- a/iphone/Maps/Classes/CustomViews/MapViewControls/MWMMapViewControlsManager.mm +++ b/iphone/Maps/Classes/CustomViews/MapViewControls/MWMMapViewControlsManager.mm @@ -286,7 +286,8 @@ NSString * const kMapToCategorySelectorSegue = @"MapToCategorySelectorSegue"; MapViewController *mapViewController = self.ownerController; [mapViewController dismissViewControllerAnimated:YES completion:nil]; SubscriptionGoToCatalogViewController *successDialog = - [[SubscriptionGoToCatalogViewController alloc] initOnOk:^{ + [[SubscriptionGoToCatalogViewController alloc] init:SubscriptionScreenTypeSightseeing + onOk:^{ [mapViewController dismissViewControllerAnimated:YES completion:nil]; [mapViewController openCatalogAnimated:YES utm:MWMUTMCrownButton]; } onCancel:^{