// // ModelColorHelper.swift // VDS // // Created by Matt Bruce on 8/4/22. // import Foundation import UIKit public class ModelColor { public var disabledSurfaceLight: UIColor = .clear public var disabledSurfaceDark: UIColor = .clear public var enabledSurfaceLight: UIColor = .clear public var enabledSurfaceDark: UIColor = .clear public func getColor(_ viewModel: ModelType) -> UIColor { var color: UIColor if viewModel.disabled { if viewModel.surface == .light { color = disabledSurfaceLight } else { color = disabledSurfaceDark } } else { if viewModel.surface == .light { color = enabledSurfaceLight } else { color = enabledSurfaceDark } } return color } } public class ModelColorHelper { public var onColor = ModelColor() public var offColor: ModelColor? public var errorOnColor: ModelColor? public var errorOffColor: ModelColor? public init (){} public func getColor(model: ModelType, isOn: Bool = true, isError: Bool = false) -> UIColor { if isOn { if isError { return errorOnColor?.getColor(model) ?? onColor.getColor(model) } else { return onColor.getColor(model) } } else { if isError { return errorOffColor?.getColor(model) ?? (offColor?.getColor(model) ?? onColor.getColor(model)) } else { return offColor?.getColor(model) ?? onColor.getColor(model) } } } }