Remove summary from list responses, calculate client-side

- Remove summary field from MyResidencesResponse and TaskColumnsResponse
- Update HomeScreen and ResidencesScreen to observe DataManager.totalSummary
- Load tasks when residence views appear to ensure accurate summary
- Add pull-to-refresh for tasks on ResidencesScreen
- Update iOS views to use client-side calculated summary

Summary is now calculated via refreshSummaryFromKanban() from cached
kanban data. This ensures summary is always up-to-date after CRUD
operations and when residence views are shown.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2025-12-16 17:06:48 -06:00
parent 6dfc4ee57c
commit fbe45da9ff
8 changed files with 52 additions and 40 deletions
@@ -93,10 +93,7 @@ final class WidgetActionProcessor {
let data = success.data {
// Update widget with fresh data
WidgetDataManager.shared.saveTasks(from: data)
// Update summary from response (no extra API call needed)
if let summary = data.summary {
DataManager.shared.setTotalSummary(summary: summary)
}
// Summary is calculated client-side by DataManager.setAllTasks() -> refreshSummaryFromKanban()
}
} catch {
print("WidgetActionProcessor: Error refreshing tasks: \(error)")