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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user