Rebrand entire project from Feels to Reflect

Complete rename across all bundle IDs, App Groups, CloudKit containers,
StoreKit product IDs, data store filenames, URL schemes, logger subsystems,
Swift identifiers, user-facing strings (7 languages), file names, directory
names, Xcode project, schemes, assets, and documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-02-26 11:47:16 -06:00
parent b1a54d2844
commit 0442eab1f8
380 changed files with 858 additions and 1077 deletions

View File

@@ -1,30 +1,30 @@
# Apple Platform Features
This document covers the new Apple-specific features integrated into Feels, including how to trigger and test each one.
This document covers the new Apple-specific features integrated into Reflect, including how to trigger and test each one.
---
## 1. Control Center Widget
**File:** `FeelsWidget2/FeelsWidget.swift` (FeelsMoodControlWidget)
**File:** `ReflectWidget/ReflectMoodControlWidget.swift` (ReflectMoodControlWidget)
**What it does:** Adds a quick-access button to Control Center that opens Feels to log your mood.
**What it does:** Adds a quick-access button to Control Center that opens Reflect to log your mood.
### How to Add to Control Center
1. Open **Settings** > **Control Center**
2. Scroll down to find **Feels - Log Mood**
2. Scroll down to find **Reflect - Log Mood**
3. Tap the **+** button to add it
4. Alternatively: Swipe down from top-right, tap **+** button, find Feels
4. Alternatively: Swipe down from top-right, tap **+** button, find Reflect
### How to Test
1. Add the widget to Control Center (steps above)
2. Open Control Center (swipe down from top-right corner)
3. Tap the "Log Mood" button
4. Feels app should open
4. Reflect app should open
### Implementation Details
- Uses `ControlWidget` and `StaticControlConfiguration`
- `OpenFeelsIntent` (AppIntent) handles the button tap
- `OpenReflectIntent` (AppIntent) handles the button tap
- `openAppWhenRun = true` ensures the app opens
---
@@ -36,11 +36,11 @@ This document covers the new Apple-specific features integrated into Feels, incl
**What it does:** Syncs mood entries to Apple Health using the State of Mind API, allowing users to see mood correlations with sleep, exercise, and other health metrics.
### Setup Required
1. Enable HealthKit in **Settings** > **Feels** > **Health**
1. Enable HealthKit in **Settings** > **Reflect** > **Health**
2. Grant write permission for "State of Mind"
### How to Test
1. Go to Feels settings and enable HealthKit sync
1. Go to Reflect settings and enable HealthKit sync
2. Log a mood entry
3. Open **Apple Health** app
4. Go to **Browse** > **Mental Wellbeing** > **State of Mind**
@@ -72,26 +72,26 @@ This document covers the new Apple-specific features integrated into Feels, incl
#### Log Mood
- **Phrases:**
- "Log my mood in Feels"
- "Log mood as [mood] in Feels"
- "Record my mood in Feels"
- "I'm feeling [mood] in Feels"
- "Track my mood in Feels"
- "Log my mood in Reflect"
- "Log mood as [mood] in Reflect"
- "Record my mood in Reflect"
- "I'm feeling [mood] in Reflect"
- "Track my mood in Reflect"
#### Check Today's Mood
- **Phrases:**
- "What's my mood today in Feels"
- "Check today's mood in Feels"
- "How am I feeling in Feels"
- "What's my mood today in Reflect"
- "Check today's mood in Reflect"
- "How am I feeling in Reflect"
#### Get Mood Streak
- **Phrases:**
- "What's my mood streak in Feels"
- "Check my streak in Feels"
- "How many days in a row in Feels"
- "What's my mood streak in Reflect"
- "Check my streak in Reflect"
- "How many days in a row in Reflect"
### How to Test
1. Say "Hey Siri, log my mood in Feels"
1. Say "Hey Siri, log my mood in Reflect"
2. Siri will prompt you to select a mood (Horrible, Bad, Average, Good, Great)
3. Confirm selection
4. Siri responds with confirmation and shows a visual snippet
@@ -99,7 +99,7 @@ This document covers the new Apple-specific features integrated into Feels, incl
### How to Add to Shortcuts App
1. Open **Shortcuts** app
2. Tap **+** to create new shortcut
3. Search for "Feels"
3. Search for "Reflect"
4. Available actions: Log Mood, Check Today's Mood, Get Mood Streak
### Implementation Details
@@ -112,7 +112,7 @@ This document covers the new Apple-specific features integrated into Feels, incl
## 4. Custom Tips System
**Files:**
- `Shared/FeelsTips.swift` (Tips definitions and manager)
- `Shared/ReflectTips.swift` (Tips definitions and manager)
- `Shared/Views/TipModalView.swift` (Modal UI)
**What it does:** Shows themed modal tips to help users discover features throughout the app. Tips appear as beautiful sheets that match the app's current theme.
@@ -133,15 +133,15 @@ This document covers the new Apple-specific features integrated into Feels, incl
1. Tips appear automatically based on conditions (one per session)
2. To reset tips for testing:
```swift
FeelsTipsManager.shared.resetAllTips()
ReflectTipsManager.shared.resetAllTips()
```
3. To disable tips globally:
```swift
FeelsTipsManager.shared.tipsEnabled = false
ReflectTipsManager.shared.tipsEnabled = false
```
### Implementation Details
- `FeelsTipsManager.shared.resetSession()` called in `FeelsApp.init()`
- `ReflectTipsManager.shared.resetSession()` called in `ReflectApp.init()`
- Each tip has `isEligible` property based on user activity parameters
- Tips show as themed modal sheets with gradient headers
- Only one tip shown per app session
@@ -152,7 +152,7 @@ FeelsTipsManager.shared.tipsEnabled = false
**Files:**
- `Shared/MoodStreakActivity.swift` (Manager + Attributes)
- `FeelsWidget2/FeelsWidget.swift` (Widget views)
- `ReflectWidget/ReflectMoodControlWidget.swift` (Widget views)
**What it does:** Shows mood streak progress on the Lock Screen and Dynamic Island.
@@ -192,7 +192,7 @@ await LiveActivityManager.shared.endAllActivities()
- **Minimal:** Flame icon only
### How to Test
1. Ensure Live Activities are enabled: **Settings** > **Feels** > **Live Activities**
1. Ensure Live Activities are enabled: **Settings** > **Reflect** > **Live Activities**
2. Start a Live Activity (see code above)
3. Lock your phone to see Lock Screen view
4. On iPhone 14 Pro+, check Dynamic Island
@@ -223,16 +223,16 @@ New entry types added to track mood entry sources:
## Entitlements & Info.plist
### Entitlements (`Feels (iOS).entitlements`)
### Entitlements (`Reflect (iOS).entitlements`)
- `com.apple.developer.healthkit` - HealthKit access
- `com.apple.developer.healthkit.access` - health-records
### Info.plist (`Feels--iOS--Info.plist`)
### Info.plist (`Reflect--iOS--Info.plist`)
- `NSSupportsLiveActivities` - Enables Live Activities
- `NSHealthShareUsageDescription` - HealthKit read permission description
- `NSHealthUpdateUsageDescription` - HealthKit write permission description
### Widget Info.plist (`FeelsWidgetExtension-Info.plist`)
### Widget Info.plist (`ReflectWidgetExtension-Info.plist`)
- `NSSupportsLiveActivities` - Enables Live Activity widget
---
@@ -240,7 +240,7 @@ New entry types added to track mood entry sources:
## Testing Checklist
- [ ] Control Center widget appears and opens app
- [ ] Siri responds to "Log my mood in Feels"
- [ ] Siri responds to "Log my mood in Reflect"
- [ ] Siri shows mood options and confirms selection
- [ ] HealthKit sync writes State of Mind entries
- [ ] Tips appear at appropriate times