added completed icon

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-11-21 11:19:41 -06:00
parent d9dc73cb70
commit a00ffcc1ab

View File

@ -8,9 +8,11 @@
import Foundation
import UIKit
import VDS
import VDSColorTokens
struct MenuComponent {
var title: String
var completed: Bool
var viewController: UIViewController.Type
}
@ -19,6 +21,21 @@ protocol Initable {
}
class MenuCell: UITableViewCell {
var completed: Bool = true {
didSet {
if completed {
statusImage.image = UIImage(systemName: "checkmark.circle")
statusImage.tintColor = VDSColor.paletteGreen34
} else {
statusImage.image = UIImage(systemName: "xmark.circle")
statusImage.tintColor = VDSColor.paletteRed
}
}
}
var statusImage = UIImageView().with {
$0.translatesAutoresizingMaskIntoConstraints = false
}
var label = Label().with {
$0.typograpicalStyle = .BodyLarge
}
@ -33,8 +50,16 @@ class MenuCell: UITableViewCell {
}
func setup(){
addSubview(statusImage)
addSubview(label)
label.pinToSuperView(.init(top: 0, left: 16, bottom: 0, right: 0))
statusImage.pinLeading(16)
label.pinLeading(statusImage.trailingAnchor, 10)
label.pinTop()
label.pinBottom()
label.pinTrailing()
statusImage.width(20)
statusImage.height(20)
statusImage.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true
}
}
@ -46,19 +71,19 @@ class MenuViewController: UITableViewController {
}
let items: [MenuComponent] = [
MenuComponent(title: "Badge", viewController: BadgeViewController.self),
MenuComponent(title: "Button", viewController: ButtonViewController.self),
MenuComponent(title: "ButtonGroup", viewController: ButtonGroupViewController.self),
MenuComponent(title: "Checkbox", viewController: CheckboxViewController.self),
MenuComponent(title: "CheckboxGroup", viewController: CheckboxGroupViewController.self),
MenuComponent(title: "Label", viewController: LabelViewController.self),
MenuComponent(title: "RadioBoxGroup", viewController: RadioBoxGroupViewController.self),
MenuComponent(title: "RadioButtonGroup", viewController: RadioButtonViewController.self),
MenuComponent(title: "RadioSwatchGroup", viewController: RadioSwatchGroupViewController.self),
MenuComponent(title: "TextEntryField", viewController: TextEntryFieldViewController.self),
MenuComponent(title: "TextLink", viewController: TextLinkViewController.self),
MenuComponent(title: "TextLinkCaret", viewController: TextLinkCaretViewController.self),
MenuComponent(title: "Toggle", viewController: ToggleViewController.self)
MenuComponent(title: "Badge", completed: true, viewController: BadgeViewController.self),
MenuComponent(title: "Button", completed: true, viewController: ButtonViewController.self),
MenuComponent(title: "ButtonGroup", completed: false, viewController: ButtonGroupViewController.self),
MenuComponent(title: "Checkbox", completed: true, viewController: CheckboxViewController.self),
MenuComponent(title: "CheckboxGroup", completed: true, viewController: CheckboxGroupViewController.self),
MenuComponent(title: "Label", completed: true, viewController: LabelViewController.self),
MenuComponent(title: "RadioBoxGroup", completed: true, viewController: RadioBoxGroupViewController.self),
MenuComponent(title: "RadioButtonGroup", completed: true, viewController: RadioButtonViewController.self),
MenuComponent(title: "RadioSwatchGroup", completed: true, viewController: RadioSwatchGroupViewController.self),
MenuComponent(title: "TextEntryField", completed: false, viewController: TextEntryFieldViewController.self),
MenuComponent(title: "TextLink", completed: true, viewController: TextLinkViewController.self),
MenuComponent(title: "TextLinkCaret", completed: true, viewController: TextLinkCaretViewController.self),
MenuComponent(title: "Toggle", completed: true, viewController: ToggleViewController.self)
]
override func numberOfSections(in tableView: UITableView) -> Int {
@ -80,6 +105,7 @@ class MenuViewController: UITableViewController {
let item = items[indexPath.row]
cell.label.text = item.title
cell.completed = item.completed
cell.accessoryType = .disclosureIndicator
return cell
}