// // StatusList.swift // Todos // // Created by Sam Jaffe on 3/7/26. // import Foundation import SwiftData @Model // Must be @Model to watch changes to children final class StatusList { var todo: Bool = true var complete: Bool = true var inProgess: Bool = true var hiatus: Bool = true var waiting: Bool = true var unknown: Bool = true init() {} var all: Bool { Status.allCases.map({ test($0) }).allSatisfy({ $0 }) } var description: String { let unset = Status.allCases.filter({ !test($0) }) return "Hiding status\(unset.count == 1 ? "" : "es"): " + unset.map(\.description).joined(separator: ", ") } func test(_ index: Status) -> Bool { switch (index) { case .todo: return todo case .complete: return complete case .inProgress: return inProgess case .hiatus: return hiatus case .waiting: return waiting case .unknown: return unknown } } }