Fix iOS widget showing completed tasks

Exclude completed_tasks and cancelled_tasks columns when saving
tasks to the widget cache. Also use kanban column name to determine
overdue status instead of recalculating it.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Trey t
2025-12-06 10:40:17 -06:00
parent 997932f0df
commit a91efd5de2

View File

@@ -50,10 +50,18 @@ final class WidgetDataManager {
return
}
// Extract tasks from all columns and convert to WidgetTask
// Columns to exclude from widget (these are "done" states)
let excludedColumns = ["completed_tasks", "cancelled_tasks"]
// Extract tasks from active columns only and convert to WidgetTask
var allTasks: [WidgetTask] = []
for column in response.columns {
// Skip completed and cancelled columns
if excludedColumns.contains(column.name) {
continue
}
for task in column.tasks {
let widgetTask = WidgetTask(
id: Int(task.id),
@@ -64,7 +72,7 @@ final class WidgetDataManager {
dueDate: task.dueDate,
category: task.category?.name ?? "",
residenceName: "", // No longer available in API, residence lookup needed
isOverdue: isTaskOverdue(dueDate: task.dueDate, status: task.status?.name)
isOverdue: column.name == "overdue_tasks"
)
allTasks.append(widgetTask)
}