Add Apple platform features and UX improvements

- Add HealthKit State of Mind sync for mood entries
- Add Live Activity with streak display and rating time window
- Add App Shortcuts/Siri integration for voice mood logging
- Add TipKit hints for feature discovery
- Add centralized MoodLogger for consistent side effects
- Add reminder time setting in Settings with time picker
- Fix duplicate notifications when changing reminder time
- Fix Live Activity streak showing 0 when not yet rated today
- Fix slow tap response in entry detail mood selection
- Update widget timeline to refresh at rating time
- Sync widgets when reminder time changes

🤖 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-19 17:21:55 -06:00
parent e123df1790
commit 440b04159e
27 changed files with 1577 additions and 81 deletions

View File

@@ -90,7 +90,7 @@ struct MonthDetailView: View {
ForEach(Mood.allValues) { mood in
Button(mood.strValue, action: {
if let selectedEntry = selectedEntry {
DataController.shared.update(entryDate: selectedEntry.forDate, withMood: mood)
parentViewModel.update(entry: selectedEntry, toMood: mood)
}
updateEntries()
showUpdateEntryAlert = false
@@ -102,7 +102,7 @@ struct MonthDetailView: View {
deleteEnabled,
selectedEntry.mood != .missing {
Button(String(localized: "content_view_delete_entry"), action: {
DataController.shared.update(entryDate: selectedEntry.forDate, withMood: .missing)
parentViewModel.update(entry: selectedEntry, toMood: .missing)
updateEntries()
showUpdateEntryAlert = false
})