Tasks: unify checkboxes to 16pt rounded square across Calendar & Matrix
Match the Today list checkbox (16pt, cornerRadius 5): - Calendar list-view row: cr3/18 → cr5/16. - Calendar day task-list row (CalTaskRow): cr6/22 → cr5/16. - Calendar Month agenda markers (DayTimelineView): task complete + all-day markers circle → rounded square, circleD 18 → 16 (workout stays a circle, the timed bullet stays a dot, so those remain visually distinct). - Matrix row (QDTaskRow): 22 → 16. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -648,9 +648,9 @@ struct CalendarView: View {
|
||||
}
|
||||
ForEach(dayTasks) { task in
|
||||
HStack(spacing: 12) {
|
||||
RoundedRectangle(cornerRadius: 3)
|
||||
RoundedRectangle(cornerRadius: 5, style: .continuous)
|
||||
.strokeBorder(task.quadrant.color, lineWidth: 1.5)
|
||||
.frame(width: 18, height: 18)
|
||||
.frame(width: 16, height: 16)
|
||||
Text(task.title).font(AppFonts.sans(13)).foregroundColor(AppColors.text(cs))
|
||||
Spacer()
|
||||
if let d = task.dueDate {
|
||||
@@ -1865,7 +1865,7 @@ private struct DayTLRow: View {
|
||||
var onWorkoutTap: (() -> Void)?
|
||||
var onToggle: (() -> Void)?
|
||||
|
||||
private let circleD: CGFloat = 18
|
||||
private let circleD: CGFloat = 16
|
||||
private let timeW: CGFloat = 46
|
||||
private let trackW: CGFloat = 26
|
||||
private let topGap: CGFloat = 10
|
||||
@@ -1873,7 +1873,7 @@ private struct DayTLRow: View {
|
||||
@ViewBuilder private var marker: some View {
|
||||
ZStack {
|
||||
if entry.isComplete {
|
||||
Circle()
|
||||
RoundedRectangle(cornerRadius: 5, style: .continuous)
|
||||
.fill(entry.color.opacity(0.14))
|
||||
.frame(width: circleD, height: circleD)
|
||||
Image(systemName: "checkmark")
|
||||
@@ -1887,7 +1887,7 @@ private struct DayTLRow: View {
|
||||
.font(.system(size: 8))
|
||||
.foregroundColor(AppColors.blue)
|
||||
} else if entry.isAllDay {
|
||||
Circle()
|
||||
RoundedRectangle(cornerRadius: 5, style: .continuous)
|
||||
.strokeBorder(entry.color, lineWidth: 1.5)
|
||||
.frame(width: circleD, height: circleD)
|
||||
} else {
|
||||
@@ -1995,18 +1995,18 @@ private struct CalTaskRow: View {
|
||||
HStack(spacing: 12) {
|
||||
Button(action: onToggle) {
|
||||
ZStack {
|
||||
RoundedRectangle(cornerRadius: 6)
|
||||
RoundedRectangle(cornerRadius: 5, style: .continuous)
|
||||
.fill(task.isComplete ? AppColors.surface3(cs) : Color.clear)
|
||||
.frame(width: 22, height: 22)
|
||||
RoundedRectangle(cornerRadius: 6)
|
||||
.frame(width: 16, height: 16)
|
||||
RoundedRectangle(cornerRadius: 5, style: .continuous)
|
||||
.strokeBorder(
|
||||
task.isComplete ? Color.clear : task.quadrant.color,
|
||||
lineWidth: 1.5
|
||||
)
|
||||
.frame(width: 22, height: 22)
|
||||
.frame(width: 16, height: 16)
|
||||
if task.isComplete {
|
||||
Image(systemName: "checkmark")
|
||||
.font(.system(size: 10, weight: .bold))
|
||||
.font(.system(size: 9, weight: .bold))
|
||||
.foregroundColor(AppColors.text3(cs))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -647,13 +647,13 @@ private struct QDTaskRow: View {
|
||||
var body: some View {
|
||||
HStack(spacing: 12) {
|
||||
Button(action: onToggle) {
|
||||
RoundedRectangle(cornerRadius: 5)
|
||||
RoundedRectangle(cornerRadius: 5, style: .continuous)
|
||||
.stroke(task.isComplete ? quadrant.color.opacity(0.3) : quadrant.color, lineWidth: 1.5)
|
||||
.frame(width: 22, height: 22)
|
||||
.frame(width: 16, height: 16)
|
||||
.overlay {
|
||||
if task.isComplete {
|
||||
Image(systemName: "checkmark")
|
||||
.font(.system(size: 9, weight: .bold))
|
||||
.font(.system(size: 8, weight: .bold))
|
||||
.foregroundColor(quadrant.color.opacity(0.5))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user