Add CBT-based guided reflection questions with clinical info sheet

Replace generic journaling prompts with evidence-based therapeutic
techniques: CBT thought record for negative moods, ACT cognitive
defusion for neutral, and behavioral activation for positive. Each
question now shows a clinical step label (e.g. SITUATION, REFRAME).
Added info button linking to a new sheet explaining the techniques
with citations to Beck, Harris, and Martell/Dimidjian.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-03-17 22:39:30 -05:00
parent 916be6a1e0
commit 99314b8e6a
4 changed files with 15582 additions and 15260 deletions

View File

@@ -10,9 +10,9 @@ import Foundation
// MARK: - Mood Category
enum MoodCategory: String, Codable {
case positive // great, good 3 questions
case neutral // average 4 questions
case negative // bad, horrible 4 questions
case positive // great, good 3 questions (Behavioral Activation)
case neutral // average 4 questions (ACT Cognitive Defusion)
case negative // bad, horrible 4 questions (CBT Thought Record)
init(from mood: Mood) {
switch mood {
@@ -29,6 +29,41 @@ enum MoodCategory: String, Codable {
case .neutral, .negative: return 4
}
}
/// The therapeutic technique name for display purposes.
var techniqueName: String {
switch self {
case .positive: return "Behavioral Activation"
case .neutral: return "Acceptance & Commitment Therapy"
case .negative: return "Cognitive Behavioral Therapy"
}
}
/// Short CBT step labels shown above each question.
var stepLabels: [String] {
switch self {
case .negative:
return [
String(localized: "Situation"),
String(localized: "Automatic Thought"),
String(localized: "Perspective Check"),
String(localized: "Reframe"),
]
case .neutral:
return [
String(localized: "Awareness"),
String(localized: "Thought"),
String(localized: "Defusion"),
String(localized: "Values"),
]
case .positive:
return [
String(localized: "Activity"),
String(localized: "Awareness"),
String(localized: "Planning"),
]
}
}
}
// MARK: - Guided Reflection