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:
@@ -1,10 +1,10 @@
|
||||
# Custom Tips System Documentation
|
||||
|
||||
This document describes all tips implemented in the Feels app, including their display conditions and locations.
|
||||
This document describes all tips implemented in the Reflect app, including their display conditions and locations.
|
||||
|
||||
## Overview
|
||||
|
||||
Tips are displayed as themed modal sheets that match the user's chosen app theme. The system is managed by `FeelsTipsManager` (singleton) and configured with:
|
||||
Tips are displayed as themed modal sheets that match the user's chosen app theme. The system is managed by `ReflectTipsManager` (singleton) and configured with:
|
||||
- **Display Frequency**: One tip per app session
|
||||
- **Global Toggle**: `tipsEnabled` boolean in UserDefaults
|
||||
- **Persistence**: Shown tip IDs stored in UserDefaults
|
||||
@@ -34,7 +34,7 @@ Tips are displayed as themed modal sheets that match the user's chosen app theme
|
||||
**Display Conditions**:
|
||||
- User has logged at least **7 moods**
|
||||
|
||||
**Parameter**: `moodLogCount: Int` (incremented via `FeelsTipsManager.shared.onMoodLogged()`)
|
||||
**Parameter**: `moodLogCount: Int` (incremented via `ReflectTipsManager.shared.onMoodLogged()`)
|
||||
|
||||
**Location**: InsightsView (via `.aiInsightsTip()`)
|
||||
|
||||
@@ -43,13 +43,13 @@ Tips are displayed as themed modal sheets that match the user's chosen app theme
|
||||
### 3. SiriShortcutTip
|
||||
|
||||
**Title**: "Use Siri to Log Moods"
|
||||
**Message**: "Say 'Hey Siri, log my mood as great in Feels' for hands-free logging."
|
||||
**Message**: "Say 'Hey Siri, log my mood as great in Reflect' for hands-free logging."
|
||||
**Icon**: `mic.fill`
|
||||
|
||||
**Display Conditions**:
|
||||
- User has logged at least **3 moods**
|
||||
|
||||
**Parameter**: `moodLogCount: Int` (incremented via `FeelsTipsManager.shared.onMoodLogged()`)
|
||||
**Parameter**: `moodLogCount: Int` (incremented via `ReflectTipsManager.shared.onMoodLogged()`)
|
||||
|
||||
**Location**: SettingsContentView (Features section header, via `.siriShortcutTip()`)
|
||||
|
||||
@@ -64,7 +64,7 @@ Tips are displayed as themed modal sheets that match the user's chosen app theme
|
||||
**Display Conditions**:
|
||||
- User has viewed the Settings screen
|
||||
|
||||
**Parameter**: `hasSeenSettings: Bool` (set via `FeelsTipsManager.shared.onSettingsViewed()`)
|
||||
**Parameter**: `hasSeenSettings: Bool` (set via `ReflectTipsManager.shared.onSettingsViewed()`)
|
||||
|
||||
**Location**: SettingsContentView (Health Kit toggle, via `.healthKitSyncTip()`)
|
||||
|
||||
@@ -106,29 +106,29 @@ Tips are displayed as themed modal sheets that match the user's chosen app theme
|
||||
**Display Conditions**:
|
||||
- User has a current streak of at least **3 days**
|
||||
|
||||
**Parameter**: `currentStreak: Int` (updated via `FeelsTipsManager.shared.updateStreak(_:)`)
|
||||
**Parameter**: `currentStreak: Int` (updated via `ReflectTipsManager.shared.updateStreak(_:)`)
|
||||
|
||||
**Location**: DayView (via `.moodStreakTip()`)
|
||||
|
||||
---
|
||||
|
||||
## FeelsTipsManager API
|
||||
## ReflectTipsManager API
|
||||
|
||||
```swift
|
||||
// Reset session flag (call on app launch)
|
||||
FeelsTipsManager.shared.resetSession()
|
||||
ReflectTipsManager.shared.resetSession()
|
||||
|
||||
// Reset all tips (for testing)
|
||||
FeelsTipsManager.shared.resetAllTips()
|
||||
ReflectTipsManager.shared.resetAllTips()
|
||||
|
||||
// Update parameters
|
||||
FeelsTipsManager.shared.onMoodLogged() // Increments mood log count
|
||||
FeelsTipsManager.shared.onSettingsViewed() // Marks settings as viewed
|
||||
FeelsTipsManager.shared.updateDaysUsingApp(_:) // Updates days using app
|
||||
FeelsTipsManager.shared.updateStreak(_:) // Updates current streak
|
||||
ReflectTipsManager.shared.onMoodLogged() // Increments mood log count
|
||||
ReflectTipsManager.shared.onSettingsViewed() // Marks settings as viewed
|
||||
ReflectTipsManager.shared.updateDaysUsingApp(_:) // Updates days using app
|
||||
ReflectTipsManager.shared.updateStreak(_:) // Updates current streak
|
||||
|
||||
// Global toggle
|
||||
FeelsTipsManager.shared.tipsEnabled = true/false
|
||||
ReflectTipsManager.shared.tipsEnabled = true/false
|
||||
```
|
||||
|
||||
---
|
||||
@@ -147,7 +147,7 @@ Tips can be attached to views using these convenience modifiers:
|
||||
.moodStreakTip()
|
||||
|
||||
// Or use the generic modifier with custom gradient colors:
|
||||
.feelsTip(FeelsTips.customizeLayout, gradientColors: [.purple, .blue])
|
||||
.reflectTip(ReflectTips.customizeLayout, gradientColors: [.purple, .blue])
|
||||
```
|
||||
|
||||
---
|
||||
@@ -165,6 +165,6 @@ Tips are displayed as themed modal sheets with:
|
||||
|
||||
## Files
|
||||
|
||||
- **Tips & Manager**: `Shared/FeelsTips.swift`
|
||||
- **Tips & Manager**: `Shared/ReflectTips.swift`
|
||||
- **Modal View**: `Shared/Views/TipModalView.swift`
|
||||
- **Configuration**: `FeelsTipsManager.shared.resetSession()` called in `FeelsApp.swift`
|
||||
- **Configuration**: `ReflectTipsManager.shared.resetSession()` called in `ReflectApp.swift`
|
||||
|
||||
Reference in New Issue
Block a user