diff --git a/Sources/Earthquake Network/Controllers/Alerts/AllerteViewController.m b/Sources/Earthquake Network/Controllers/Alerts/AllerteViewController.m
index c01b57c..44a8c70 100644
--- a/Sources/Earthquake Network/Controllers/Alerts/AllerteViewController.m
+++ b/Sources/Earthquake Network/Controllers/Alerts/AllerteViewController.m
@@ -107,6 +107,7 @@ typedef NS_ENUM(NSInteger, AllerteTableRow) {
[self.tableView registerClass:[AlertsSmartphoneNetworkTableViewCell class] forCellReuseIdentifier:@"SmartphoneNetworkCell"];
[self.tableView registerClass:[AlertsPriorityServiceTableViewCell class] forCellReuseIdentifier:@"PriorityCell"];
[self.tableView registerClass:[AlertsNoLocationTableViewCell class] forCellReuseIdentifier:@"NoLocationCell"];
+ [self.tableView registerClass:[AlertsPastEartquakesTableViewCell class] forCellReuseIdentifier:@"PastEarthquakesCell"];
if (EQNBackgroundPositionDebugHelper.shared.isEnabled) {
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(backgroundPositionDebugTapped:)];
@@ -315,8 +316,9 @@ typedef NS_ENUM(NSInteger, AllerteTableRow) {
} else if (tableRow == AllerteTableRowAllertePassate) {
AlertsPastEartquakesTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"PastEarthquakesCell" forIndexPath:indexPath];
- cell.smartphoneNetwork = [EQNManager defaultManager].rete_smartphone;
- cell.onTapMapButton = ^{
+ cell.selectionStyle = UITableViewCellSelectionStyleNone;
+ [cell updateWith:[EQNManager defaultManager].rete_smartphone];
+ cell.onTapMap = ^{
PasquakesMapViewController *controller = [[PasquakesMapViewController alloc] init];
[self presentViewController:controller animated:YES completion:nil];
};
diff --git a/Sources/Earthquake Network/Controllers/Alerts/Cells/AlertsPastEartquakesTableViewCell.swift b/Sources/Earthquake Network/Controllers/Alerts/Cells/AlertsPastEartquakesTableViewCell.swift
index b342496..1ecfd92 100644
--- a/Sources/Earthquake Network/Controllers/Alerts/Cells/AlertsPastEartquakesTableViewCell.swift
+++ b/Sources/Earthquake Network/Controllers/Alerts/Cells/AlertsPastEartquakesTableViewCell.swift
@@ -8,50 +8,87 @@
import UIKit
-class AlertsPastEartquakesTableViewCell: EQNBaseTableViewCell {
- @objc var smartphoneNetwork: EQNReteSmartphone? {
- didSet {
- updateUI()
- }
- }
+@objc
+class AlertsPastEartquakesTableViewCell: EQNBaseContainerTableViewCell {
- @objc var onTapMapButton: (() -> Void)?
+ @objc var onTapMap: (() -> Void)?
+
+ override var headerText: String { NSLocalizedString("main_past_quakes", comment: "") }
+ // MARK: - UI
+
+ private lazy var last24hLabel: UILabel = {
+ let label = UILabel()
+ label.translatesAutoresizingMaskIntoConstraints = false
+ label.numberOfLines = 0
+ label.textColor = AppTheme.shared.cardTextColor
+ label.font = .preferredFont(forTextStyle: .title3)
+ label.textAlignment = .center
+ return label
+ }()
+
+
+ private lazy var from2013Label: UILabel = {
+ let label = UILabel()
+ label.translatesAutoresizingMaskIntoConstraints = false
+ label.numberOfLines = 0
+ label.textColor = AppTheme.shared.cardTextColor
+ label.font = .preferredFont(forTextStyle: .title3)
+ label.textAlignment = .center
+ return label
+ }()
+
+ private lazy var mapButton: UIButton = {
+ let button = EQNRoundedButton.make(target: self, action: #selector(mapTapped(_:)))
+ return button
+ }()
+
// MARK: - Internal
- @IBOutlet private weak var headerLabel: UILabel!
- @IBOutlet private weak var last24hLabel: UILabel!
- @IBOutlet private weak var from2013Label: UILabel!
- @IBOutlet private weak var mapButton: UIButton!
-
- // MARK: - View Lifecycle
-
- override func awakeFromNib() {
- super.awakeFromNib()
+ override func setupUI() {
+ super.setupUI()
- localizeUI()
+ containerView.addSubview(last24hLabel)
+ containerView.addSubview(from2013Label)
+ containerView.addSubview(mapButton)
+
+ last24hLabel.topAnchor.constraint(equalTo: topView.bottomAnchor, constant: Self.DefaultVerticalSpacing).isActive = true
+ last24hLabel.leadingAnchor.constraint(equalTo: containerView.leadingAnchor, constant: Self.DefaultPadding).isActive = true
+ last24hLabel.trailingAnchor.constraint(equalTo: containerView.trailingAnchor, constant: -Self.DefaultPadding).isActive = true
+
+ from2013Label.topAnchor.constraint(equalTo: last24hLabel.bottomAnchor, constant: Self.DefaultVerticalSpacing).isActive = true
+ from2013Label.leadingAnchor.constraint(equalTo: last24hLabel.leadingAnchor).isActive = true
+ from2013Label.trailingAnchor.constraint(equalTo: last24hLabel.trailingAnchor).isActive = true
+
+ mapButton.heightAnchor.constraint(greaterThanOrEqualToConstant: 40.0).isActive = true
+ mapButton.topAnchor.constraint(equalTo: from2013Label.bottomAnchor, constant: Self.DefaultVerticalSpacing).isActive = true
+ mapButton.leadingAnchor.constraint(equalTo: from2013Label.leadingAnchor).isActive = true
+ mapButton.trailingAnchor.constraint(equalTo: from2013Label.trailingAnchor).isActive = true
+ mapButton.bottomAnchor.constraint(equalTo: containerView.bottomAnchor, constant: -Self.DefaultPadding).isActive = true
}
- // MARK: - Private
-
- private func localizeUI() {
- headerLabel.text = NSLocalizedString("main_past_quakes", comment: "")
+ override func updateUI() {
+ super.updateUI()
+
last24hLabel.text = NSLocalizedString("main_recent_quakes_initial", comment: "")
from2013Label.text = NSLocalizedString("main_total_quakes_initial", comment: "")
mapButton.setLocalizedTitle(key: "official_button_map", uppercased: true, emoji: "🗺")
}
- private func updateUI() {
- guard let smartphoneNetwork = smartphoneNetwork else { return }
+ // MARK: - Public
+
+ @objc
+ func update(with smartphoneNetwork: EQNReteSmartphone?) {
+ guard let smartphoneNetwork else { return }
last24hLabel.text = String(format: NSLocalizedString("main_recent_quakes", comment: ""), smartphoneNetwork.counterLastDayAlerts)
from2013Label.text = String(format: NSLocalizedString("main_total_quakes", comment: ""), smartphoneNetwork.counterTotalAlerts)
}
-
+
// MARK: - Actions
- @IBAction func mapTapped(_ sender: UIButton) {
- onTapMapButton?()
+ @objc private func mapTapped(_ sender: UIButton) {
+ onTapMap?()
}
}
diff --git a/Sources/Earthquake Network/Storyboards/Base.lproj/Main.storyboard b/Sources/Earthquake Network/Storyboards/Base.lproj/Main.storyboard
index 475cedd..74569e0 100644
--- a/Sources/Earthquake Network/Storyboards/Base.lproj/Main.storyboard
+++ b/Sources/Earthquake Network/Storyboards/Base.lproj/Main.storyboard
@@ -1613,19 +1613,19 @@ Sisma rilevato da 10 smartphone
-
+
-