fix: API field mapping, HealthKit entitlement, profile tab, forgot password

This commit is contained in:
Cosmo
2026-03-25 12:07:08 +00:00
parent bfb9a07d2d
commit 74805bc9d1
12 changed files with 266 additions and 46 deletions

View File

@@ -5,25 +5,20 @@ struct TaskRowView: View {
let onComplete: () async -> Void
var priorityColor: Color {
switch task.priority {
case .urgent: return Color(hex: "ff0000")
case .high: return Color(hex: "ff4757")
case .medium: return Color(hex: "ffa502")
default: return Color(hex: "8888aa")
}
Color(hex: task.priorityColor)
}
var body: some View {
HStack(spacing: 12) {
Button(action: { Task { await onComplete() } }) {
Image(systemName: task.done ? "checkmark.circle.fill" : "circle")
Image(systemName: task.completed ? "checkmark.circle.fill" : "circle")
.font(.title3)
.foregroundColor(task.done ? Color(hex: "00d4aa") : Color(hex: "8888aa"))
.foregroundColor(task.completed ? Color(hex: "00d4aa") : Color(hex: "8888aa"))
}
VStack(alignment: .leading, spacing: 4) {
Text(task.title)
.foregroundColor(task.done ? Color(hex: "8888aa") : .white)
.strikethrough(task.done)
.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)
@@ -33,7 +28,7 @@ struct TaskRowView: View {
}
}
Spacer()
if let priority = task.priority, priority != .low {
if let priority = task.priority, priority > 1 {
Circle().fill(priorityColor).frame(width: 8, height: 8)
}
}