// // AlertsPositionDataTableViewCell.swift // Earthquake Network // // Created by Busi Andrea on 08/10/2020. // Copyright © 2020 Earthquake Network. All rights reserved. // import UIKit import Solar class AlertsPositionDataTableViewCell: EQNBaseTableViewCell { @objc var position: CLLocation? { didSet { updateUI() } } // MARK: - Internal @IBOutlet private weak var headerLabel: UILabel! @IBOutlet private weak var positionLabel: UILabel! @IBOutlet private weak var sunriseTimeLabel: UILabel! @IBOutlet private weak var sunsetTimeLabel: UILabel! private lazy var dateFormatter: DateFormatter = { let formatter = DateFormatter() formatter.dateStyle = .none formatter.timeStyle = .short return formatter }() // MARK: - Private private func updateUI() { headerLabel.text = NSLocalizedString("weather_location", comment: "") positionLabel.text = "n.d." sunriseTimeLabel.text = "n.d." sunsetTimeLabel.text = "n.d." guard let position = position else { return } positionLabel.text = EQNUtility.coordinateString(coordinate: position.coordinate) if let solar = Solar(coordinate: position.coordinate) { let timeZone = TimeZone.current.localizedName(for: .generic, locale: .current) ?? TimeZone.current.identifier if let sunrise = solar.sunrise { sunriseTimeLabel.text = dateFormatter.string(from: sunrise) + " \(timeZone)" } if let sunset = solar.sunset { sunsetTimeLabel.text = dateFormatter.string(from: sunset) + " \(timeZone)" } } } }