- 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
65 lines
2.0 KiB
JSON
65 lines
2.0 KiB
JSON
{
|
|
"expo": {
|
|
"name": "TabataFit",
|
|
"slug": "tabatafit",
|
|
"version": "1.0.0",
|
|
"orientation": "portrait",
|
|
"icon": "./assets/images/icon.png",
|
|
"scheme": "tabatafit",
|
|
"userInterfaceStyle": "automatic",
|
|
"newArchEnabled": true,
|
|
"ios": {
|
|
"supportsTablet": true,
|
|
"bundleIdentifier": "com.millianlmx.tabatafit",
|
|
"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": {
|
|
"backgroundColor": "#E6F4FE",
|
|
"foregroundImage": "./assets/images/android-icon-foreground.png",
|
|
"backgroundImage": "./assets/images/android-icon-background.png",
|
|
"monochromeImage": "./assets/images/android-icon-monochrome.png"
|
|
},
|
|
"edgeToEdgeEnabled": true,
|
|
"predictiveBackGestureEnabled": false,
|
|
"package": "com.millianlmx.tabatafit"
|
|
},
|
|
"web": {
|
|
"output": "static",
|
|
"favicon": "./assets/images/favicon.png"
|
|
},
|
|
"plugins": [
|
|
"expo-router",
|
|
[
|
|
"expo-splash-screen",
|
|
{
|
|
"image": "./assets/images/splash-icon.png",
|
|
"imageWidth": 200,
|
|
"resizeMode": "contain",
|
|
"backgroundColor": "#ffffff",
|
|
"dark": {
|
|
"backgroundColor": "#000000"
|
|
}
|
|
}
|
|
],
|
|
"expo-video",
|
|
"expo-localization",
|
|
"./plugins/withStoreKitConfig"
|
|
],
|
|
"experiments": {
|
|
"typedRoutes": true,
|
|
"reactCompiler": true
|
|
}
|
|
}
|
|
}
|