mirror of
https://github.com/AU-COVIDSafe/mobile-ios.git
synced 2025-04-05 22:35:00 +00:00
74 lines
2.2 KiB
Swift
74 lines
2.2 KiB
Swift
![]() |
//
|
||
|
// CSGenericContentViewController.swift
|
||
|
// CovidSafe
|
||
|
//
|
||
|
// Copyright © 2020 Australian Government. All rights reserved.
|
||
|
//
|
||
|
|
||
|
import UIKit
|
||
|
import SafariServices
|
||
|
|
||
|
class CSGenericContentViewController: UIViewController {
|
||
|
|
||
|
@IBOutlet weak var stepCounterLabel: UILabel!
|
||
|
@IBOutlet weak var contentIllustration: UIImageView!
|
||
|
@IBOutlet weak var contentTitleLabel: UILabel!
|
||
|
@IBOutlet weak var contentDescriptionText: UITextView!
|
||
|
@IBOutlet weak var actionButton: UIButton!
|
||
|
|
||
|
var contentViewModel: CSGenericContentViewModel?
|
||
|
|
||
|
override func viewDidLoad() {
|
||
|
super.viewDidLoad()
|
||
|
|
||
|
guard let viewModel = contentViewModel else {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
// set the step counter
|
||
|
if let contentStep = viewModel.contentStepNumber, let contentTotal = viewModel.contentStepTotal {
|
||
|
stepCounterLabel.text = String.localizedStringWithFormat( "stepCounter".localizedString(),
|
||
|
contentStep,
|
||
|
contentTotal
|
||
|
)
|
||
|
} else {
|
||
|
stepCounterLabel.text = ""
|
||
|
stepCounterLabel.isHidden = true
|
||
|
}
|
||
|
|
||
|
// set the illustration
|
||
|
if let illustration = viewModel.contentIllustration {
|
||
|
contentIllustration.image = illustration
|
||
|
}
|
||
|
|
||
|
// set title and content
|
||
|
contentTitleLabel.text = viewModel.viewTitle
|
||
|
contentDescriptionText.attributedText = viewModel.viewContentDescription
|
||
|
contentDescriptionText.parseHTMLTags()
|
||
|
contentDescriptionText.addAllBold(enclosedIn: "#")
|
||
|
|
||
|
//set button label and action
|
||
|
actionButton.setTitle(viewModel.buttonLabel, for: .normal)
|
||
|
actionButton.addTarget(self, action: #selector(pressed), for: .touchUpInside)
|
||
|
}
|
||
|
|
||
|
@objc func pressed(sender: UIButton!) {
|
||
|
guard let viewModel = contentViewModel else {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
viewModel.buttonCallback()
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
struct CSGenericContentViewModel {
|
||
|
var viewTitle: String
|
||
|
var viewContentDescription: NSAttributedString
|
||
|
var buttonLabel: String
|
||
|
var buttonCallback: () -> Void
|
||
|
var contentIllustration: UIImage?
|
||
|
var contentStepNumber: Int?
|
||
|
var contentStepTotal: Int?
|
||
|
}
|