// // ForayDetailViewController.swift // foray // // Created by Nicholas Tay on 16/3/2022. // import UIKit class ForayDetailViewController: UIViewController, HasCustomView, Coordinated { typealias CustomView = ForayDetailView typealias CoordinatorType = ForayCoordinator var coordinator: ForayCoordinator? private var item: PenguinItemViewModel? override func viewDidLoad() { super.viewDidLoad() self.title = "Details" customView.onAction = { [weak self] (action) in guard let self = self, let item = self.item else { return } switch action { case .onShare: self.coordinator?.share(item: item) } } } override func loadView() { view = ForayDetailView() } public func setDetails(item: PenguinItemViewModel) { self.item = item let image: UIImage var description: String = "Type: " switch item.type { case .item: description += "Item" image = UIImage(named: item.id) ?? UIImage.fromAsset(.it) case .quest: description += "Quest" image = UIImage.fromAsset(.spy) } description += "\nID: " + item.id description += "\nReleased: " + item.releaseDateFormatted self.customView.setDetails(name: item.name, description: description, image: image) } }