import SwiftUI struct TaskRowView: View { let task: PulseTask let onComplete: () async -> Void var priorityColor: Color { Color(hex: task.priorityColor) } var body: some View { HStack(spacing: 12) { Button(action: { Task { await onComplete() } }) { Image(systemName: task.completed ? "checkmark.circle.fill" : "circle") .font(.title3) .foregroundColor(task.completed ? Color(hex: "00d4aa") : Color(hex: "8888aa")) } VStack(alignment: .leading, spacing: 4) { Text(task.title) .foregroundColor(task.completed ? Color(hex: "8888aa") : .white) .strikethrough(task.completed) .font(.callout) if let desc = task.description, !desc.isEmpty { Text(desc).font(.caption).foregroundColor(Color(hex: "8888aa")).lineLimit(1) } if let due = task.dueDate { Text(due).font(.caption2).foregroundColor(Color(hex: "ffa502")) } } Spacer() if let priority = task.priority, priority > 1 { Circle().fill(priorityColor).frame(width: 8, height: 8) } } .padding(12) .background(RoundedRectangle(cornerRadius: 12).fill(Color.white.opacity(0.05))) .padding(.horizontal) .padding(.vertical, 2) } }