feat: close v1 feature gaps — freemium gating, video/audio infrastructure, EAS build config

- Add access control service with 3 free workouts (IDs 1, 11, 43), paywall gating on workout detail and lock indicators on explore grid
- Wire VideoPlayer into player background and workout detail preview
- Add placeholder HLS video URLs to 5 sample workouts (Apple test streams)
- Add test audio URLs to music service MOCK_TRACKS for all vibes
- Switch RevenueCat API key to env-based with sandbox fallback
- Create eas.json with development/preview/production build profiles
- Update app.json with iOS privacy descriptions (HealthKit, Camera) and non-exempt encryption flag
- Create collection detail screen (route crash fix)
- Replace hardcoded profile stats with real activity store data
- Add unlockWithPremium i18n key in EN/FR/DE/ES
This commit is contained in:
Millian Lamiaux
2026-03-24 12:20:56 +01:00
parent cd065d07c3
commit a042c348c1
16 changed files with 452 additions and 34 deletions

View File

@@ -11,7 +11,17 @@
"ios": {
"supportsTablet": true,
"bundleIdentifier": "com.millianlmx.tabatafit",
"buildNumber": "1"
"buildNumber": "1",
"infoPlist": {
"NSHealthShareUsageDescription": "TabataFit uses HealthKit to read and write workout data including heart rate, calories burned, and exercise minutes.",
"NSHealthUpdateUsageDescription": "TabataFit saves your workout sessions to Apple Health so you can track your fitness progress.",
"NSCameraUsageDescription": "TabataFit uses the camera for profile photos and workout form checks.",
"NSUserTrackingUsageDescription": "TabataFit uses this to provide personalized workout recommendations.",
"ITSAppUsesNonExemptEncryption": false
},
"config": {
"usesNonExemptEncryption": false
}
},
"android": {
"adaptiveIcon": {