Commit Graph

89 Commits

Author SHA1 Message Date
Trey t
f57e8da4ff Add Aura voting layout and 12 new day view styles
New voting layout style with atmospheric glowing orb design.
New day view styles: Aura, Chronicle, Neon, Ink, Prism, Tape,
Morph, Stack, Wave, Pattern, Leather, and Glass. Updated style
pickers to use horizontal ScrollView for better navigation.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 12:36:51 -06:00
Trey t
920aaee35c Add premium features and reorganize Settings tab
Premium Features:
- Journal notes and photo attachments for mood entries
- Data export (CSV and PDF reports)
- Privacy lock with Face ID/Touch ID
- Apple Health integration for mood correlation
- 4 new personality packs (Motivational Coach, Zen Master, Best Friend, Data Analyst)

Settings Tab Reorganization:
- Combined Customize and Settings into single tab with segmented control
- Added upgrade banner with trial countdown above segment
- "Why Upgrade?" sheet showing all premium benefits
- Subscribe button opens improved StoreKit 2 subscription view

UI Improvements:
- Enhanced subscription store with feature highlights
- Entry detail view for viewing/editing notes and photos
- Removed duplicate subscription banners from tab content

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 12:22:06 -06:00
Trey t
5974002a82 Add AI-powered insights using Apple Foundation Models
- Replace static insights with on-device AI generation via FoundationModels framework
- Add @Generable AIInsight model for structured LLM output
- Create FoundationModelsInsightService with session-per-request for concurrent generation
- Add MoodDataSummarizer to prepare mood data for AI analysis
- Implement loading states with skeleton UI and pull-to-refresh
- Add AI availability badge and error handling
- Support default (supportive) and rude (sarcastic) personality modes
- Optimize prompts to fit within 4096 token context limit
- Bump iOS deployment target to 26.0 for Foundation Models support

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 10:20:11 -06:00
Trey t
6adef2d6fc different home screen layouts 2025-12-13 09:18:57 -06:00
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