Add guided reflection flow with mood-adaptive CBT/ACT questions

Walks users through 3-4 guided questions based on mood category:
positive (great/good) gets gratitude-oriented questions, neutral
(average) gets exploratory questions, and negative (bad/horrible)
gets empathetic questions. Stored as JSON in MoodEntryModel,
integrated into PDF reports, AI summaries, and CSV export.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-03-11 10:51:36 -05:00
parent 19b4c8b05b
commit 5bd8f8076a
13 changed files with 15340 additions and 13617 deletions

View File

@@ -51,6 +51,18 @@ extension DataController {
return true
}
// MARK: - Guided Reflection
@discardableResult
func updateReflection(forDate date: Date, reflectionJSON: String?) -> Bool {
guard let entry = getEntry(byDate: date) else { return false }
entry.reflectionJSON = reflectionJSON
saveAndRunDataListeners()
let count = reflectionJSON.flatMap { GuidedReflection.decode(from: $0) }?.answeredCount ?? 0
AnalyticsManager.shared.track(.reflectionCompleted(answeredCount: count))
return true
}
// MARK: - Photo
@discardableResult