diff --git a/VDS/Classes/ModelColorHelpers.swift b/VDS/Classes/ModelColorHelpers.swift index da4eaf87..ebb72a47 100644 --- a/VDS/Classes/ModelColorHelpers.swift +++ b/VDS/Classes/ModelColorHelpers.swift @@ -13,6 +13,24 @@ public protocol Colorable { func getColor(_ viewModel: ModelType) -> UIColor } +open class ModelSurfaceColorHelper: Colorable { + public var lightColor: UIColor = .clear + public var darkColor: UIColor = .clear + + public func getColor(_ viewModel: ModelType) -> UIColor { + return viewModel.surface == .light ? lightColor : darkColor + } +} + +open class ModelSingleColorHelper: Colorable { + public var disabled = ModelSurfaceColorHelper() + public var enabled = ModelSurfaceColorHelper() + + public func getColor(_ viewModel: ModelType) -> UIColor { + return viewModel.disabled ? disabled.getColor(viewModel) : enabled.getColor(viewModel) + } +} + public protocol BinaryColorable{ var userTrueColor: Bool { get } }