Refactor StoreKit 2 subscription system and add interactive vote widget
## StoreKit 2 Refactor - Rewrote IAPManager with clean enum-based state model (SubscriptionState) - Added native SubscriptionStoreView for iOS 17+ purchase UI - Subscription status now checked on every app launch - Synced subscription status to UserDefaults for widget access - Simplified PurchaseButtonView and IAPWarningView - Removed unused StatusInfoView ## Interactive Vote Widget - New FeelsVoteWidget with App Intents for mood voting - Subscribers can vote directly from widget, shows stats after voting - Non-subscribers see "Tap to subscribe" which opens subscription store - Added feels:// URL scheme for deep linking ## Firebase Removal - Commented out Firebase imports and initialization - EventLogger now prints to console in DEBUG mode only ## Other Changes - Added fallback for Core Data when App Group unavailable - Added new localization strings for subscription UI - Updated entitlements and Info.plist 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,6 +12,7 @@ enum EntryType: Int {
|
||||
case header
|
||||
case listView
|
||||
case filledInMissing
|
||||
case widget
|
||||
}
|
||||
|
||||
extension MoodEntry {
|
||||
|
||||
@@ -26,7 +26,9 @@ class UserDefaultsStore {
|
||||
case shape
|
||||
case daysFilter
|
||||
case firstLaunchDate
|
||||
|
||||
case hasActiveSubscription
|
||||
case lastVotedDate
|
||||
|
||||
case contentViewCurrentSelectedHeaderViewBackDays
|
||||
case contentViewHeaderTag
|
||||
case contentViewHeaderTagViewOneViewType
|
||||
|
||||
Reference in New Issue
Block a user