Commit Graph

3 Commits

Author SHA1 Message Date
Trey t
b1a54d2844 Reduce minimum days between review requests from 60 to 14
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 19:23:57 -06:00
Trey t
224c00423a Add Apple Watch companion app with complications and WCSession sync
- Add watchOS app target with mood voting UI (5 mood buttons)
- Add WidgetKit complications (circular, corner, inline, rectangular)
- Add WatchConnectivityManager for bidirectional sync between iOS and watch
- iOS app acts as central coordinator - all mood logging flows through MoodLogger
- Watch votes send to iPhone via WCSession, iPhone logs and notifies watch back
- Widget votes use openAppWhenRun=true to run MoodLogger in main app process
- Add #if !os(watchOS) guards to Mood.swift and Random.swift for compatibility
- Update SKStoreReviewController to AppStore.requestReview (iOS 18 deprecation fix)
- Watch reads user's moodImages preference from GroupUserDefaults for emoji style

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 17:19:17 -06:00
Trey t
57eec43942 Add native iOS in-app review request system
Implement ReviewRequestManager using StoreKit's SKStoreReviewController
to request reviews at moments of user delight:
- Streak milestones (3, 7, 14, 30, 50, 100 days)
- Every 10th mood entry after minimum usage threshold

Includes frequency limiting (60+ days between requests, minimum 5 entries
before first prompt) and tracks request history via UserDefaults.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 10:15:36 -06:00