From 82bdbad451384a9397018a5e3ba7efabf2a2a263 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 12 Feb 2026 21:34:22 +0100 Subject: [PATCH] feat: highlight overdue todos with red background and icon --- MindDump/Views/TodoRowView.swift | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/MindDump/Views/TodoRowView.swift b/MindDump/Views/TodoRowView.swift index ca8d151..1717905 100644 --- a/MindDump/Views/TodoRowView.swift +++ b/MindDump/Views/TodoRowView.swift @@ -5,6 +5,13 @@ struct TodoRowView: View { let onToggle: () -> Void var onTap: (() -> Void)? + private var isOverdue: Bool { + !item.isCompleted && item.deadline != nil + && item.deadline! < Calendar.current.startOfDay( + for: Calendar.current.date(byAdding: .day, value: 1, to: Date())! + ) + } + var body: some View { HStack { Button(action: onToggle) { @@ -37,7 +44,14 @@ struct TodoRowView: View { .font(.system(size: 8)) .foregroundStyle(priority.color) } + + if isOverdue { + Image(systemName: "exclamationmark.circle.fill") + .font(.system(size: 14)) + .foregroundStyle(.red) + } } + .listRowBackground(isOverdue ? Color.red.opacity(0.08) : nil) } private func noteSnippet(_ text: String) -> String {