Commit Graph

85 Commits

Author SHA1 Message Date
Trey t
4713192d55 Add social media share functionality to Month and Year views
- Add share button to MonthCard and YearCard headers
- Create social media-friendly "Monthly Mood Wrap" and "Year in Review" designs
- Show top mood, days tracked, and mood breakdown with colorful bar charts
- Add ImageOnlyShareSheet to share images without extra text
- Uses user's selected theme colors and icon pack

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 23:16:48 -06:00
Trey t
f822927e98 Add interactive widget voting and fix warnings/bugs
Widget Features:
- Add inline voting to timeline widget when no entry exists for today
- Show random prompt from notification strings in voting mode
- Update vote widget to use simple icon style for selection
- Make stats bar full width in voted state view
- Add Localizable.strings to widget extension target

Bug Fixes:
- Fix inverted date calculation in InsightsViewModel streak logic
- Replace force unwraps with safe optional handling in widgets
- Replace fatalError calls with graceful error handling
- Fix CSV import safety in SettingsView

Warning Fixes:
- Add @retroactive to Color and Date extension conformances
- Update deprecated onChange(of:perform:) to new syntax
- Replace deprecated applicationIconBadgeNumber with setBadgeCount
- Replace deprecated UIApplication.shared.windows API
- Add @preconcurrency for Swift 6 protocol conformances
- Add missing widget family cases to switch statement
- Remove unused variables and #warning directives

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 16:23:12 -06:00
Trey t
aaaf04f05e Migrate from Core Data to SwiftData
- Replace Core Data with SwiftData for iOS 18+
- Create MoodEntryModel as @Model class replacing MoodEntry entity
- Create SharedModelContainer for App Group container sharing
- Create DataController with CRUD extensions replacing PersistenceController
- Update all views and view models to use MoodEntryModel
- Update widget extension to use SwiftData
- Remove old Core Data files (Persistence*.swift, .xcdatamodeld)
- Add EntryType enum with all entry type cases
- Fix widget label truncation with proper spacing and text scaling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 15:08:05 -06:00
Trey t
443f4dfc55 Fix widget issues and add subscription bypass toggle
Widget fixes:
- Fix App Group ID mismatch in iOS app entitlements (was group.com.tt.ifeel.ifeelDebug, now group.com.tt.ifeelDebug)
- Fix date bug where missing entries all showed same date
- Add sample data preview for widget picker (shows realistic mood data)
- Add widgetDisplayName to Mood enum for widget localization
- Update Mood Vote widget preview to show post-vote state
- Attempt to fix interactive widget buttons (openAppWhenRun: false)

Developer improvements:
- Add IAPManager.bypassSubscription toggle for testing without subscription

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-10 10:38:16 -06:00
Trey t
f7ac2085b8 Redesign Day view with switchable voting layouts and modern styling
- Add 4 voting layout styles: horizontal, cards, radial, stacked
- Add color-filled backgrounds to mood entries (tinted by mood color)
- Add sticky month headers with blur material effect
- Add voting layout picker to Customize tab
- Add haptic feedback on mood selection
- Improve typography and spacing throughout

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-09 23:44:28 -06:00
Trey t
f2565678be wip 2025-12-09 23:37:04 -06:00
Trey t
3a10b4b8d6 wip 2025-12-09 23:36:57 -06:00
Trey t
f2c510de50 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>
2025-12-09 23:07:16 -06:00
Trey t
e7efd1ab25 update
add missing strings
add height back to purchase view button on year and month
2023-01-05 13:48:21 -06:00
Trey t
d3b21bd585 remove hardcoded mood images 2022-07-18 20:46:04 -05:00
Trey t
53334e5fb8 IAP 2022-07-18 20:14:48 -05:00
Trey t
bd238e5743 iap - wip 2022-07-17 10:26:00 -05:00
Trey t
6c239c5e26 MISC
added new icon
put notifications in strings files
started IAPManager
populate data goes to 1000 entires
take out fixweeday button
2022-07-07 18:13:36 -05:00
Trey t
26fffc1b74 update strings
update empty views
take out headers on customize views
make refresh on sample row go through moods great->horrible
other small UI changes
2022-04-11 23:05:59 -04:00
Trey t
6fa4e2db26 change a bunch of shit to get importing / adding new vote have the right weekday 2022-04-05 22:33:12 -05:00
Trey t
682f62fa4a separate all customize views into their own files
make corner radius a constant
create the views in the main app file and pass through so they dont get re-drawn when changing UI things
2022-04-02 10:53:04 -05:00
Trey t
627495336f put png back in b/c vector drawing was having issues 2022-03-31 15:19:39 -05:00
Trey t
bdd0b0ce59 filtering days in customize will filter views 2022-03-31 14:45:08 -05:00
Trey t
9e4cfd2775 add filter days to cusomize page 2022-03-31 11:44:44 -05:00
Trey t
90574ea6ad if no custom text color use defaults 2022-03-23 15:14:07 -05:00
Trey t
e226437e50 spacing on shapes and text 2022-03-20 14:43:25 -05:00
Trey t
36a688084c add shape picker for backgrounds 2022-03-20 02:45:51 -05:00
Trey t
ec58aae65b fix placement of share button on month detail view
fix color of share button
move default icons into their own folder adding missing
2022-03-17 11:01:50 -05:00
Trey t
d0ee8a716e closed #114 - notifications title and bodies 2022-03-14 10:13:14 -05:00
Trey t
612483e7f0 popup for nsfw content 2022-03-10 11:29:47 -06:00
Trey t
7692f455c8 customize text color 2022-03-06 11:25:05 -06:00
Trey t
f5966a57b3 fix missing color and update icon 2022-03-03 10:05:11 -06:00
Trey t
39a974bdf4 add code to create darker custom colors 2022-03-02 16:28:45 -06:00
Trey t
2590a77bff custom mood tint 2022-03-02 11:22:20 -06:00
Trey t
2e92d89faf add localized strings to custom widget view
edit save / use buttons for custom widget
2022-02-27 15:58:47 -06:00
Trey t
8fd0ea94d7 remove notification title stuff from onboarding 2022-02-27 15:25:21 -06:00
Trey t
4b7c64cbc6 closed #90 2022-02-26 13:19:19 -06:00
Trey t
09e1e96a0a fix widget / icon view layout 2022-02-26 11:50:51 -06:00
Trey t
5357b4ffb8 sovled #100 2022-02-24 21:25:53 -06:00
Trey t
7ecd104871 add bg color to theme
fix tapping on main view empty space not working
update charts
2022-02-23 10:26:49 -06:00
Trey t
d88c4e7a05 a lot of theme work 2022-02-23 00:39:20 -06:00
Trey t
520119de85 can have / save multiple custom widgets 2022-02-22 22:59:08 -06:00
Trey t
83060e8353 closed #89 make custom widgets codable 2022-02-21 11:36:45 -06:00
Trey t
0035f61204 everything changed 2022-02-20 14:33:58 -06:00
Trey t
1cf38cb854 wip 2022-02-18 18:58:38 -06:00
Trey t
107086b695 closed #83 2022-02-17 18:08:32 -06:00
Trey t
7b828cc93c fixed issue when adding multiple missing entries 2022-02-17 17:50:17 -06:00
Trey t
675e44bca9 fix issue with two votes on the same date
fix issue with header not showing correct vote date
split logic for Persistence into different files
create class that deals with voting time, existing votes, and what should be shown based on that
2022-02-17 14:46:11 -06:00
Trey t
f0ed56fe94 maybe fix but where days wouldn't show up for voting / missing 2022-02-17 12:14:26 -06:00
Trey t
7bcad65419 move / tweak sharing templates 2022-02-17 09:19:22 -06:00
Trey t
fce13af84e re-do the way a custom icon is generated / stored
fix small roll up header text going outside of circle view
2022-02-14 17:02:56 -06:00
Trey t
14aec1222e customize eye, mouth, face outline colors for custom icon 2022-02-14 09:34:11 -06:00
Trey t
649180dbb5 WIP - custom widget icon 2022-02-13 22:15:53 -06:00
Trey t
56d7e40c27 Merge branch 'sharing' into develop
# Conflicts:
#	Feels.xcodeproj/project.pbxproj
2022-02-13 17:17:27 -06:00
Trey t
868b747291 WIP - icon generator 2022-02-13 17:16:13 -06:00