| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- //
- // StatusChecklist.swift
- // Todos
- //
- // Created by Sam Jaffe on 3/7/26.
- //
- import SwiftUI
- struct StatusChecklist: View {
- @Binding var statuses: StatusList
- var body: some View {
- VStack(alignment: .leading) {
- Label("Filter by Status", systemImage: "exclamationmark.magnifyingglass")
- .font(.title3.bold())
- ForEach(Status.allCases) { unit in
- Toggle("Show \"\(unit.description)\"", systemImage: unit.label,
- isOn: bindingFor(unit))
- .padding(.leading, 15)
- }
- }
- }
- private func bindingFor(_ index: Status) -> Binding<Bool> {
- switch index {
- case .todo: return $statuses.todo
- case .complete: return $statuses.complete
- case .inProgress: return $statuses.inProgess
- case .hiatus: return $statuses.hiatus
- case .waiting: return $statuses.waiting
- case .unknown: return $statuses.unknown
- }
- }
- }
- #Preview {
- @Previewable @State var statuses = StatusList()
- StatusChecklist(statuses: $statuses)
- }
|