mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-19 21:13:35 +00:00
[iOS] Add branch to title of place page
Signed-off-by: eisa01 <eisa01@gmail.com>
This commit is contained in:
committed by
Konstantin Pastbin
parent
2f5f9e15c3
commit
c9214d3130
@@ -27,6 +27,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
@property(nonatomic, readonly, nullable) NSURL *emailUrl;
|
@property(nonatomic, readonly, nullable) NSURL *emailUrl;
|
||||||
@property(nonatomic, readonly, nullable) NSString *cuisine;
|
@property(nonatomic, readonly, nullable) NSString *cuisine;
|
||||||
@property(nonatomic, readonly, nullable) NSString *ppOperator;
|
@property(nonatomic, readonly, nullable) NSString *ppOperator;
|
||||||
|
@property(nonatomic, readonly, nullable) NSString *branch;
|
||||||
@property(nonatomic, readonly, nullable) NSString *address;
|
@property(nonatomic, readonly, nullable) NSString *address;
|
||||||
@property(nonatomic, readonly, nullable) NSArray *coordFormats;
|
@property(nonatomic, readonly, nullable) NSArray *coordFormats;
|
||||||
@property(nonatomic, readonly, nullable) NSString *wifiAvailable;
|
@property(nonatomic, readonly, nullable) NSString *wifiAvailable;
|
||||||
|
|||||||
@@ -116,6 +116,7 @@ NSDate * _Nullable ParseDateString(NSString * _Nullable dateString) {
|
|||||||
case MetadataID::FMD_CONTACT_BLUESKY: _bluesky = ToNSString(value); break;
|
case MetadataID::FMD_CONTACT_BLUESKY: _bluesky = ToNSString(value); break;
|
||||||
case MetadataID::FMD_PANORAMAX: _panoramax = ToNSString(value); break;
|
case MetadataID::FMD_PANORAMAX: _panoramax = ToNSString(value); break;
|
||||||
case MetadataID::FMD_OPERATOR: _ppOperator = [NSString stringWithFormat:NSLocalizedString(@"operator", nil), ToNSString(value)]; break;
|
case MetadataID::FMD_OPERATOR: _ppOperator = [NSString stringWithFormat:NSLocalizedString(@"operator", nil), ToNSString(value)]; break;
|
||||||
|
case MetadataID::FMD_BRANCH: _branch = ToNSString(value); break;
|
||||||
case MetadataID::FMD_INTERNET:
|
case MetadataID::FMD_INTERNET:
|
||||||
_wifiAvailable = (rawData.GetInternet() == feature::Internet::No)
|
_wifiAvailable = (rawData.GetInternet() == feature::Internet::No)
|
||||||
? NSLocalizedString(@"no_available", nil) : NSLocalizedString(@"yes_available", nil);
|
? NSLocalizedString(@"no_available", nil) : NSLocalizedString(@"yes_available", nil);
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ class PlacePageHeaderBuilder {
|
|||||||
let viewController = storyboard.instantiateViewController(ofType: PlacePageHeaderViewController.self);
|
let viewController = storyboard.instantiateViewController(ofType: PlacePageHeaderViewController.self);
|
||||||
let presenter = PlacePageHeaderPresenter(view: viewController,
|
let presenter = PlacePageHeaderPresenter(view: viewController,
|
||||||
placePagePreviewData: data.previewData,
|
placePagePreviewData: data.previewData,
|
||||||
|
branch: data.infoData?.branch,
|
||||||
objectType: data.objectType,
|
objectType: data.objectType,
|
||||||
delegate: delegate,
|
delegate: delegate,
|
||||||
headerType: headerType)
|
headerType: headerType)
|
||||||
|
|||||||
@@ -23,18 +23,21 @@ class PlacePageHeaderPresenter {
|
|||||||
|
|
||||||
private weak var view: PlacePageHeaderViewProtocol?
|
private weak var view: PlacePageHeaderViewProtocol?
|
||||||
private let placePagePreviewData: PlacePagePreviewData
|
private let placePagePreviewData: PlacePagePreviewData
|
||||||
|
private let branch: String?
|
||||||
let objectType: PlacePageObjectType
|
let objectType: PlacePageObjectType
|
||||||
private weak var delegate: PlacePageHeaderViewControllerDelegate?
|
private weak var delegate: PlacePageHeaderViewControllerDelegate?
|
||||||
private let headerType: HeaderType
|
private let headerType: HeaderType
|
||||||
|
|
||||||
init(view: PlacePageHeaderViewProtocol,
|
init(view: PlacePageHeaderViewProtocol,
|
||||||
placePagePreviewData: PlacePagePreviewData,
|
placePagePreviewData: PlacePagePreviewData,
|
||||||
|
branch: String?,
|
||||||
objectType: PlacePageObjectType,
|
objectType: PlacePageObjectType,
|
||||||
delegate: PlacePageHeaderViewControllerDelegate?,
|
delegate: PlacePageHeaderViewControllerDelegate?,
|
||||||
headerType: HeaderType) {
|
headerType: HeaderType) {
|
||||||
self.view = view
|
self.view = view
|
||||||
self.delegate = delegate
|
self.delegate = delegate
|
||||||
self.placePagePreviewData = placePagePreviewData
|
self.placePagePreviewData = placePagePreviewData
|
||||||
|
self.branch = branch
|
||||||
self.objectType = objectType
|
self.objectType = objectType
|
||||||
self.headerType = headerType
|
self.headerType = headerType
|
||||||
}
|
}
|
||||||
@@ -42,7 +45,7 @@ class PlacePageHeaderPresenter {
|
|||||||
|
|
||||||
extension PlacePageHeaderPresenter: PlacePageHeaderPresenterProtocol {
|
extension PlacePageHeaderPresenter: PlacePageHeaderPresenterProtocol {
|
||||||
func configure() {
|
func configure() {
|
||||||
view?.setTitle(placePagePreviewData.title, secondaryTitle: placePagePreviewData.secondaryTitle)
|
view?.setTitle(placePagePreviewData.title, secondaryTitle: placePagePreviewData.secondaryTitle, branch: branch)
|
||||||
switch headerType {
|
switch headerType {
|
||||||
case .flexible:
|
case .flexible:
|
||||||
view?.isExpandViewHidden = false
|
view?.isExpandViewHidden = false
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ protocol PlacePageHeaderViewProtocol: AnyObject {
|
|||||||
var isExpandViewHidden: Bool { get set }
|
var isExpandViewHidden: Bool { get set }
|
||||||
var isShadowViewHidden: Bool { get set }
|
var isShadowViewHidden: Bool { get set }
|
||||||
|
|
||||||
func setTitle(_ title: String?, secondaryTitle: String?)
|
func setTitle(_ title: String?, secondaryTitle: String?, branch: String?)
|
||||||
func showShareTrackMenu()
|
func showShareTrackMenu()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -21,6 +21,7 @@ class PlacePageHeaderViewController: UIViewController {
|
|||||||
|
|
||||||
private var titleText: String?
|
private var titleText: String?
|
||||||
private var secondaryText: String?
|
private var secondaryText: String?
|
||||||
|
private var branchText: String?
|
||||||
|
|
||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
@@ -54,7 +55,7 @@ class PlacePageHeaderViewController: UIViewController {
|
|||||||
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
|
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
|
||||||
super.traitCollectionDidChange(previousTraitCollection)
|
super.traitCollectionDidChange(previousTraitCollection)
|
||||||
guard traitCollection.userInterfaceStyle != previousTraitCollection?.userInterfaceStyle else { return }
|
guard traitCollection.userInterfaceStyle != previousTraitCollection?.userInterfaceStyle else { return }
|
||||||
setTitle(titleText, secondaryTitle: secondaryText)
|
setTitle(titleText, secondaryTitle: secondaryText, branch: branchText)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,9 +78,11 @@ extension PlacePageHeaderViewController: PlacePageHeaderViewProtocol {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func setTitle(_ title: String?, secondaryTitle: String?) {
|
func setTitle(_ title: String?, secondaryTitle: String?, branch: String? = nil) {
|
||||||
titleText = title
|
titleText = title
|
||||||
secondaryText = secondaryTitle
|
secondaryText = secondaryTitle
|
||||||
|
branchText = branch
|
||||||
|
|
||||||
// XCode 13 is not smart enough to detect that title is used below, and requires explicit unwrapped variable.
|
// XCode 13 is not smart enough to detect that title is used below, and requires explicit unwrapped variable.
|
||||||
guard let unwrappedTitle = title else {
|
guard let unwrappedTitle = title else {
|
||||||
titleLabel?.attributedText = nil
|
titleLabel?.attributedText = nil
|
||||||
@@ -92,6 +95,15 @@ extension PlacePageHeaderViewController: PlacePageHeaderViewProtocol {
|
|||||||
]
|
]
|
||||||
|
|
||||||
let attributedText = NSMutableAttributedString(string: unwrappedTitle, attributes: titleAttributes)
|
let attributedText = NSMutableAttributedString(string: unwrappedTitle, attributes: titleAttributes)
|
||||||
|
|
||||||
|
// Add branch with thinner font weight if present and not already in title
|
||||||
|
if let branch = branch, !branch.isEmpty, !unwrappedTitle.contains(branch) {
|
||||||
|
let branchAttributes: [NSAttributedString.Key: Any] = [
|
||||||
|
.font: StyleManager.shared.theme!.fonts.regular20,
|
||||||
|
.foregroundColor: UIColor.blackPrimaryText()
|
||||||
|
]
|
||||||
|
attributedText.append(NSAttributedString(string: " \(branch)", attributes: branchAttributes))
|
||||||
|
}
|
||||||
|
|
||||||
guard let unwrappedSecondaryTitle = secondaryTitle else {
|
guard let unwrappedSecondaryTitle = secondaryTitle else {
|
||||||
titleLabel?.attributedText = attributedText
|
titleLabel?.attributedText = attributedText
|
||||||
|
|||||||
Reference in New Issue
Block a user