// // ListItem.swift // Workouts // // Created by rzen on 7/13/25 at 10:42 AM. // // Copyright 2025 Rouslan Zenetl. All Rights Reserved. // import SwiftUI enum CheckboxStatus { case checked case unchecked case intermediate case cancelled var color: Color { switch (self) { case .checked: .green case .unchecked: .gray case .intermediate: .yellow case .cancelled: .red } } var systemName: String { switch (self) { case .checked: "checkmark.circle.fill" case .unchecked: "circle" case .intermediate: "ellipsis.circle" case .cancelled: "cross.circle" } } } struct CheckboxListItem: View { var status: CheckboxStatus var title: String var subtitle: String? var count: Int? var body: some View { HStack (alignment: .top) { Image(systemName: status.systemName) .resizable() .scaledToFit() .frame(width: 30) .foregroundStyle(status.color) VStack (alignment: .leading) { Text("\(title)") .font(.headline) HStack (alignment: .bottom) { if let subtitle = subtitle { Text("\(subtitle)") .font(.footnote) } } } if let count = count { Spacer() Text("\(count)") .font(.caption) .foregroundColor(.gray) } } .frame(maxWidth: .infinity, alignment: .leading) .contentShape(Rectangle()) } }