tasks: typography polish on task rows, no size changes (KC-62 follow-up 2)
Title weight bumped to medium for hierarchy, tracking added to the mono date/countdown lines for legibility at small size, slightly looser line spacing. Impeccable's detect engine only parses HTML, not Swift, so this was done by hand rather than via the skill. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -2176,3 +2176,14 @@ etc., previously crammed under the title on the left) moved to a trailing
|
|||||||
reads title/date on the left, countdown/indicators on the right, instead of
|
reads title/date on the left, countdown/indicators on the right, instead of
|
||||||
all metadata piled on the left and the right column empty. `TodayTLRow` was
|
all metadata piled on the left and the right column empty. `TodayTLRow` was
|
||||||
left as-is (its leading time-track column already fills that role there).
|
left as-is (its leading time-track column already fills that role there).
|
||||||
|
|
||||||
|
### Follow-up 2 — typography polish
|
||||||
|
User asked for the row text to be "easy on the eye" without increasing any
|
||||||
|
font sizes. Impeccable was considered but is a no-op here (its `detect`
|
||||||
|
engine only parses HTML, not Swift/SwiftUI — confirmed limitation from the
|
||||||
|
F1 Pitt project setup). Applied by hand instead, sizes unchanged: title
|
||||||
|
bumped from `.regular` to `.medium` weight for stronger hierarchy against
|
||||||
|
the dimmer date/countdown line; both mono metadata lines (date and
|
||||||
|
countdown) got `.tracking(0.2)` for legibility at 9.5pt; column spacing
|
||||||
|
loosened slightly (2→3 left, 3→4 right) for breathing room between the two
|
||||||
|
lines.
|
||||||
|
|||||||
@@ -1350,13 +1350,14 @@ struct TaskRowView: View {
|
|||||||
}
|
}
|
||||||
.buttonStyle(PressButtonStyle(scale: 0.82))
|
.buttonStyle(PressButtonStyle(scale: 0.82))
|
||||||
|
|
||||||
VStack(alignment: .leading, spacing: 2) {
|
VStack(alignment: .leading, spacing: 3) {
|
||||||
Text(task.title)
|
Text(task.title)
|
||||||
.font(AppFonts.sans(13))
|
.font(AppFonts.sans(13, weight: .medium))
|
||||||
.foregroundColor(AppColors.text(cs))
|
.foregroundColor(AppColors.text(cs))
|
||||||
if let d = task.dueDate, showDetails {
|
if let d = task.dueDate, showDetails {
|
||||||
Text("\(dueFmt.string(from: d))\(task.isRecurring ? " · \(task.recurrenceLabel ?? "Repeat")" : "")")
|
Text("\(dueFmt.string(from: d))\(task.isRecurring ? " · \(task.recurrenceLabel ?? "Repeat")" : "")")
|
||||||
.font(AppFonts.mono(9.5))
|
.font(AppFonts.mono(9.5))
|
||||||
|
.tracking(0.2)
|
||||||
.foregroundColor(AppColors.text3(cs))
|
.foregroundColor(AppColors.text3(cs))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1366,10 +1367,11 @@ struct TaskRowView: View {
|
|||||||
// Right column mirrors the left: countdown metadata on top,
|
// Right column mirrors the left: countdown metadata on top,
|
||||||
// icon-only category/reminder/series indicators below — fills
|
// icon-only category/reminder/series indicators below — fills
|
||||||
// what used to be dead space instead of a lone floating icon.
|
// what used to be dead space instead of a lone floating icon.
|
||||||
VStack(alignment: .trailing, spacing: 3) {
|
VStack(alignment: .trailing, spacing: 4) {
|
||||||
if let d = task.dueDate, showDetails {
|
if let d = task.dueDate, showDetails {
|
||||||
Text(countdownLabel(to: d))
|
Text(countdownLabel(to: d))
|
||||||
.font(AppFonts.mono(9.5, weight: .semibold))
|
.font(AppFonts.mono(9.5, weight: .semibold))
|
||||||
|
.tracking(0.2)
|
||||||
.foregroundColor(countdownColor(to: d))
|
.foregroundColor(countdownColor(to: d))
|
||||||
}
|
}
|
||||||
HStack(spacing: 5) {
|
HStack(spacing: 5) {
|
||||||
|
|||||||
Reference in New Issue
Block a user