## 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>
27 lines
449 B
Swift
27 lines
449 B
Swift
//
|
|
// MoodEntryExtension.swift
|
|
// Feels
|
|
//
|
|
// Created by Trey Tartt on 1/5/22.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
enum EntryType: Int {
|
|
case notification
|
|
case header
|
|
case listView
|
|
case filledInMissing
|
|
case widget
|
|
}
|
|
|
|
extension MoodEntry {
|
|
var moodString: String {
|
|
return Mood.init(rawValue: Int(self.moodValue))?.strValue ?? "NA"
|
|
}
|
|
|
|
var mood: Mood {
|
|
return Mood.init(rawValue: Int(self.moodValue))!
|
|
}
|
|
}
|