co-maps/iphone/Maps/UI/PlacePage/PlacePagePresenter.swift
2025-11-22 13:58:55 +01:00

46 lines
1,010 B
Swift

protocol PlacePagePresenterProtocol: AnyObject {
func updatePreviewOffset()
func layoutIfNeeded()
func showNextStop()
func closeAnimated()
func showAlert(_ alert: UIAlertController)
func showShareTrackMenu()
}
final class PlacePagePresenter: NSObject {
private weak var view: PlacePageViewProtocol!
private weak var headerView: PlacePageHeaderViewProtocol!
init(view: PlacePageViewProtocol, headerView: PlacePageHeaderViewProtocol) {
self.view = view
self.headerView = headerView
}
}
// MARK: - PlacePagePresenterProtocol
extension PlacePagePresenter: PlacePagePresenterProtocol {
func updatePreviewOffset() {
view.updatePreviewOffset()
}
func layoutIfNeeded() {
view.layoutIfNeeded()
}
func showNextStop() {
view.showNextStop()
}
func closeAnimated() {
view.closeAnimated(completion: nil)
}
func showAlert(_ alert: UIAlertController) {
view.showAlert(alert)
}
func showShareTrackMenu() {
headerView.showShareTrackMenu()
}
}