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:
kutesir
2026-06-25 00:56:48 +03:00
parent 24219f8289
commit 1c325c108e
2 changed files with 13 additions and 13 deletions

View File

@@ -648,9 +648,9 @@ struct CalendarView: View {
} }
ForEach(dayTasks) { task in ForEach(dayTasks) { task in
HStack(spacing: 12) { HStack(spacing: 12) {
RoundedRectangle(cornerRadius: 3) RoundedRectangle(cornerRadius: 5, style: .continuous)
.strokeBorder(task.quadrant.color, lineWidth: 1.5) .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)) Text(task.title).font(AppFonts.sans(13)).foregroundColor(AppColors.text(cs))
Spacer() Spacer()
if let d = task.dueDate { if let d = task.dueDate {
@@ -1865,7 +1865,7 @@ private struct DayTLRow: View {
var onWorkoutTap: (() -> Void)? var onWorkoutTap: (() -> Void)?
var onToggle: (() -> Void)? var onToggle: (() -> Void)?
private let circleD: CGFloat = 18 private let circleD: CGFloat = 16
private let timeW: CGFloat = 46 private let timeW: CGFloat = 46
private let trackW: CGFloat = 26 private let trackW: CGFloat = 26
private let topGap: CGFloat = 10 private let topGap: CGFloat = 10
@@ -1873,7 +1873,7 @@ private struct DayTLRow: View {
@ViewBuilder private var marker: some View { @ViewBuilder private var marker: some View {
ZStack { ZStack {
if entry.isComplete { if entry.isComplete {
Circle() RoundedRectangle(cornerRadius: 5, style: .continuous)
.fill(entry.color.opacity(0.14)) .fill(entry.color.opacity(0.14))
.frame(width: circleD, height: circleD) .frame(width: circleD, height: circleD)
Image(systemName: "checkmark") Image(systemName: "checkmark")
@@ -1887,7 +1887,7 @@ private struct DayTLRow: View {
.font(.system(size: 8)) .font(.system(size: 8))
.foregroundColor(AppColors.blue) .foregroundColor(AppColors.blue)
} else if entry.isAllDay { } else if entry.isAllDay {
Circle() RoundedRectangle(cornerRadius: 5, style: .continuous)
.strokeBorder(entry.color, lineWidth: 1.5) .strokeBorder(entry.color, lineWidth: 1.5)
.frame(width: circleD, height: circleD) .frame(width: circleD, height: circleD)
} else { } else {
@@ -1995,18 +1995,18 @@ private struct CalTaskRow: View {
HStack(spacing: 12) { HStack(spacing: 12) {
Button(action: onToggle) { Button(action: onToggle) {
ZStack { ZStack {
RoundedRectangle(cornerRadius: 6) RoundedRectangle(cornerRadius: 5, style: .continuous)
.fill(task.isComplete ? AppColors.surface3(cs) : Color.clear) .fill(task.isComplete ? AppColors.surface3(cs) : Color.clear)
.frame(width: 22, height: 22) .frame(width: 16, height: 16)
RoundedRectangle(cornerRadius: 6) RoundedRectangle(cornerRadius: 5, style: .continuous)
.strokeBorder( .strokeBorder(
task.isComplete ? Color.clear : task.quadrant.color, task.isComplete ? Color.clear : task.quadrant.color,
lineWidth: 1.5 lineWidth: 1.5
) )
.frame(width: 22, height: 22) .frame(width: 16, height: 16)
if task.isComplete { if task.isComplete {
Image(systemName: "checkmark") Image(systemName: "checkmark")
.font(.system(size: 10, weight: .bold)) .font(.system(size: 9, weight: .bold))
.foregroundColor(AppColors.text3(cs)) .foregroundColor(AppColors.text3(cs))
} }
} }

View File

@@ -647,13 +647,13 @@ private struct QDTaskRow: View {
var body: some View { var body: some View {
HStack(spacing: 12) { HStack(spacing: 12) {
Button(action: onToggle) { Button(action: onToggle) {
RoundedRectangle(cornerRadius: 5) RoundedRectangle(cornerRadius: 5, style: .continuous)
.stroke(task.isComplete ? quadrant.color.opacity(0.3) : quadrant.color, lineWidth: 1.5) .stroke(task.isComplete ? quadrant.color.opacity(0.3) : quadrant.color, lineWidth: 1.5)
.frame(width: 22, height: 22) .frame(width: 16, height: 16)
.overlay { .overlay {
if task.isComplete { if task.isComplete {
Image(systemName: "checkmark") Image(systemName: "checkmark")
.font(.system(size: 9, weight: .bold)) .font(.system(size: 8, weight: .bold))
.foregroundColor(quadrant.color.opacity(0.5)) .foregroundColor(quadrant.color.opacity(0.5))
} }
} }