diff --git a/iphone/CoreApi/CoreApi/Search/MWMSearchFrameworkHelper.h b/iphone/CoreApi/CoreApi/Search/MWMSearchFrameworkHelper.h index 38ddce0d66..323e6ec809 100644 --- a/iphone/CoreApi/CoreApi/Search/MWMSearchFrameworkHelper.h +++ b/iphone/CoreApi/CoreApi/Search/MWMSearchFrameworkHelper.h @@ -1,5 +1,7 @@ #import +@protocol MWMBanner; + NS_ASSUME_NONNULL_BEGIN @interface MWMSearchFrameworkHelper : NSObject @@ -7,7 +9,7 @@ NS_ASSUME_NONNULL_BEGIN - (NSArray *)searchCategories; - (BOOL)hasMegafonCategoryBanner; - (NSURL *)megafonBannerUrl; -- (nullable NSURL *)citymobilBannerUrl; +- (nullable id)searchCategoryBanner; - (BOOL)isSearchHistoryEmpty; - (NSArray *)lastSearchQueries; diff --git a/iphone/CoreApi/CoreApi/Search/MWMSearchFrameworkHelper.mm b/iphone/CoreApi/CoreApi/Search/MWMSearchFrameworkHelper.mm index 2185bebac5..0588cc1c08 100644 --- a/iphone/CoreApi/CoreApi/Search/MWMSearchFrameworkHelper.mm +++ b/iphone/CoreApi/CoreApi/Search/MWMSearchFrameworkHelper.mm @@ -1,4 +1,5 @@ #import "MWMSearchFrameworkHelper.h" +#import "CoreBanner+Core.h" #include "partners_api/ads/ads_engine.hpp" #include "partners_api/megafon_countries.hpp" @@ -45,16 +46,16 @@ return [NSURL URLWithString:@(urlStr.c_str())]; } -- (NSURL *)citymobilBannerUrl +- (id)searchCategoryBanner { auto const & f = GetFramework(); auto const pos = f.GetCurrentPosition(); auto const banners = f.GetAdsEngine().GetSearchCategoryBanners(pos); - if (banners.empty() || banners.front().m_type != ads::Banner::Type::Citymobil) + if (banners.empty()) return nil; - - return [NSURL URLWithString:@(banners.front().m_value.c_str())]; + + return [[CoreBanner alloc] initWithAdBanner:banners.front()]; } - (BOOL)isSearchHistoryEmpty diff --git a/iphone/Maps/UI/Search/Tabs/CategoriesTab/SearchBannerCell.swift b/iphone/Maps/UI/Search/Tabs/CategoriesTab/SearchBannerCell.swift index e1d9411a0e..aeba2e0314 100644 --- a/iphone/Maps/UI/Search/Tabs/CategoriesTab/SearchBannerCell.swift +++ b/iphone/Maps/UI/Search/Tabs/CategoriesTab/SearchBannerCell.swift @@ -4,12 +4,17 @@ protocol SearchBannerCellDelegate: AnyObject { } class SearchBannerCell: MWMTableViewCell { - @IBOutlet var taxiImageView: UIImageView! - weak var delegate: SearchBannerCellDelegate? - - override func awakeFromNib() { - super.awakeFromNib() - taxiImageView.mwm_name = "ic_taxi_logo_citymobil" + @IBOutlet var iconView: UIImageView! + @IBOutlet weak var labelView: UILabel! + @IBOutlet weak var buttonView: UIButton! + + private weak var delegate: SearchBannerCellDelegate? + + func configure(icon: String, label: String, buttonText: String, delegate: SearchBannerCellDelegate?) { + iconView.mwm_name = icon + labelView.text = label + buttonView.localizedText = buttonText + self.delegate = delegate } @IBAction private func onInstall(_ sender: UIButton) { diff --git a/iphone/Maps/UI/Search/Tabs/CategoriesTab/SearchBannerCell.xib b/iphone/Maps/UI/Search/Tabs/CategoriesTab/SearchBannerCell.xib index 09089aa044..838fbf79af 100644 --- a/iphone/Maps/UI/Search/Tabs/CategoriesTab/SearchBannerCell.xib +++ b/iphone/Maps/UI/Search/Tabs/CategoriesTab/SearchBannerCell.xib @@ -17,37 +17,35 @@ - + -