Add pulsing icon for residences with overdue tasks

- Add overdueCount field to ResidenceResponse model
- ResidenceCard shows PulsingIconView when residence has overdue tasks
- SummaryCard uses static CaseraIconView (never pulses)
- APILayer refreshes residence data after task completion to update
  overdue counts and animation state

🤖 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-07 12:19:28 -06:00
parent 9d6e7c4f2a
commit bb4ff216b1
7 changed files with 343 additions and 20 deletions

View File

@@ -123,6 +123,13 @@
);
target = 1C81F27F2EE41BB6000739EA /* CaseraQLThumbnail */;
};
1C81F38A2EE5E430000739EA /* Exceptions for "Casera" folder in "Casera" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
CaseraIconView.swift,
);
target = D4ADB376A7A4CFB73469E173 /* Casera */;
};
1C87A67A2EDCC3100081E450 /* Exceptions for "iosApp" folder in "CaseraExtension" target */ = {
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
membershipExceptions = (
@@ -150,6 +157,7 @@
1C0789432EBC218B00392B46 /* Casera */ = {
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
1C81F38A2EE5E430000739EA /* Exceptions for "Casera" folder in "Casera" target */,
1C0789572EBC218D00392B46 /* Exceptions for "Casera" folder in "CaseraExtension" target */,
);
path = Casera;