Consolidate task metrics to single source of truth

- Add API column name constants to WidgetDataManager (overdueColumn,
  dueWithin7DaysColumn, due8To30DaysColumn, etc.)
- Update DataManagerObservable to use WidgetDataManager column constants
- Remove duplicate ResidenceTaskStats struct, use TaskMetrics everywhere
- Delete TaskStatsCalculator.swift (consolidated into WidgetDataManager)
- Rename confusing flags: isUpcoming → isDueWithin7Days, isLater → isDue8To30Days
- Add comprehensive unit tests for TaskMetrics and WidgetTask

🤖 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-23 20:26:52 -06:00
parent cacdf86938
commit 4daaa1f7d8
8 changed files with 637 additions and 240 deletions

View File

@@ -138,7 +138,6 @@
Design/DesignSystem.swift,
Design/OrganicDesign.swift,
Helpers/ThemeManager.swift,
Shared/TaskStatsCalculator.swift,
);
target = 1C07893C2EBC218B00392B46 /* CaseraExtension */;
};