mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-10-16 01:05:42 -04:00
Declare the app's 12 languages to iOS and Android via expo-localization, resolve the language from the device's preferred languages at start-up and on Android runtime changes, and make Settings > Language open the system settings page. Drops the MMKV-stored locale. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
215 lines
6.3 KiB
JSON
215 lines
6.3 KiB
JSON
{
|
|
"expo": {
|
|
"name": "Sofa",
|
|
"slug": "sofa",
|
|
"owner": "jakejarvis",
|
|
"scheme": "sofa",
|
|
"orientation": "portrait",
|
|
"userInterfaceStyle": "dark",
|
|
"ios": {
|
|
"config": {
|
|
"usesNonExemptEncryption": false
|
|
},
|
|
"deploymentTarget": "17.0",
|
|
"icon": "./assets/images/sofa.icon",
|
|
"bundleIdentifier": "com.jakejarvis.sofa",
|
|
"appleTeamId": "B5ZWKBCUTU",
|
|
"infoPlist": {
|
|
"NSLocalNetworkUsageDescription": "Sofa connects to your server when it's on your local network."
|
|
},
|
|
"privacyManifests": {
|
|
"NSPrivacyCollectedDataTypes": [
|
|
{
|
|
"NSPrivacyCollectedDataType": "NSPrivacyCollectedDataTypeCrashData",
|
|
"NSPrivacyCollectedDataTypeLinked": false,
|
|
"NSPrivacyCollectedDataTypeTracking": false,
|
|
"NSPrivacyCollectedDataTypePurposes": [
|
|
"NSPrivacyCollectedDataTypePurposeAppFunctionality"
|
|
]
|
|
},
|
|
{
|
|
"NSPrivacyCollectedDataType": "NSPrivacyCollectedDataTypePerformanceData",
|
|
"NSPrivacyCollectedDataTypeLinked": false,
|
|
"NSPrivacyCollectedDataTypeTracking": false,
|
|
"NSPrivacyCollectedDataTypePurposes": [
|
|
"NSPrivacyCollectedDataTypePurposeAppFunctionality"
|
|
]
|
|
},
|
|
{
|
|
"NSPrivacyCollectedDataType": "NSPrivacyCollectedDataTypeOtherDiagnosticData",
|
|
"NSPrivacyCollectedDataTypeLinked": false,
|
|
"NSPrivacyCollectedDataTypeTracking": false,
|
|
"NSPrivacyCollectedDataTypePurposes": [
|
|
"NSPrivacyCollectedDataTypePurposeAppFunctionality"
|
|
]
|
|
}
|
|
],
|
|
"NSPrivacyAccessedAPITypes": [
|
|
{
|
|
"NSPrivacyAccessedAPIType": "NSPrivacyAccessedAPICategoryUserDefaults",
|
|
"NSPrivacyAccessedAPITypeReasons": ["CA92.1"]
|
|
},
|
|
{
|
|
"NSPrivacyAccessedAPIType": "NSPrivacyAccessedAPICategorySystemBootTime",
|
|
"NSPrivacyAccessedAPITypeReasons": ["35F9.1"]
|
|
},
|
|
{
|
|
"NSPrivacyAccessedAPIType": "NSPrivacyAccessedAPICategoryFileTimestamp",
|
|
"NSPrivacyAccessedAPITypeReasons": ["C617.1"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"android": {
|
|
"adaptiveIcon": {
|
|
"foregroundImage": "./assets/images/android-icon-foreground.png",
|
|
"backgroundImage": "./assets/images/android-icon-background.png",
|
|
"monochromeImage": "./assets/images/android-icon-monochrome.png"
|
|
},
|
|
"package": "com.jakejarvis.sofa"
|
|
},
|
|
"plugins": [
|
|
"expo-router",
|
|
"expo-secure-store",
|
|
[
|
|
"expo-font",
|
|
{
|
|
"ios": {
|
|
"fonts": [
|
|
"./assets/fonts/DM_Sans/DMSans-Regular.ttf",
|
|
"./assets/fonts/DM_Sans/DMSans-Medium.ttf",
|
|
"./assets/fonts/DM_Sans/DMSans-SemiBold.ttf",
|
|
"./assets/fonts/DM_Sans/DMSans-Bold.ttf",
|
|
"./assets/fonts/DM_Serif_Display/DMSerifDisplay-Regular.ttf",
|
|
"./assets/fonts/Geist_Mono/GeistMono-Regular.ttf"
|
|
]
|
|
},
|
|
"android": {
|
|
"fonts": [
|
|
{
|
|
"fontFamily": "DM Sans",
|
|
"fontDefinitions": [
|
|
{
|
|
"path": "./assets/fonts/DM_Sans/DMSans-Regular.ttf",
|
|
"weight": 400
|
|
},
|
|
{
|
|
"path": "./assets/fonts/DM_Sans/DMSans-Medium.ttf",
|
|
"weight": 500
|
|
},
|
|
{
|
|
"path": "./assets/fonts/DM_Sans/DMSans-SemiBold.ttf",
|
|
"weight": 600
|
|
},
|
|
{
|
|
"path": "./assets/fonts/DM_Sans/DMSans-Bold.ttf",
|
|
"weight": 700
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"fontFamily": "DM Serif Display",
|
|
"fontDefinitions": [
|
|
{
|
|
"path": "./assets/fonts/DM_Serif_Display/DMSerifDisplay-Regular.ttf",
|
|
"weight": 400
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"fontFamily": "Geist Mono",
|
|
"fontDefinitions": [
|
|
{
|
|
"path": "./assets/fonts/Geist_Mono/GeistMono-Regular.ttf",
|
|
"weight": 400
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
[
|
|
"expo-splash-screen",
|
|
{
|
|
"backgroundColor": "#101010",
|
|
"image": "./assets/images/splash-icon.png",
|
|
"imageWidth": 200
|
|
}
|
|
],
|
|
"expo-system-ui",
|
|
"expo-web-browser",
|
|
[
|
|
"expo-image-picker",
|
|
{
|
|
"microphonePermission": false
|
|
}
|
|
],
|
|
[
|
|
"expo-localization",
|
|
{
|
|
"supportedLocales": [
|
|
"en",
|
|
"fr",
|
|
"de",
|
|
"es",
|
|
"it",
|
|
"pt",
|
|
"nl",
|
|
"ar",
|
|
"he",
|
|
"zh",
|
|
"ja",
|
|
"ko"
|
|
]
|
|
}
|
|
],
|
|
[
|
|
"expo-widgets",
|
|
{
|
|
"groupIdentifier": "group.com.jakejarvis.sofa",
|
|
"bundleIdentifier": "com.jakejarvis.sofa.ExpoWidgetsTarget",
|
|
"widgets": [
|
|
{
|
|
"name": "ContinueWatching",
|
|
"displayName": "Continue Watching",
|
|
"description": "The next episode of the shows you're watching",
|
|
"ios": {
|
|
"supportedFamilies": ["systemSmall"],
|
|
"contentMarginsDisabled": true
|
|
}
|
|
},
|
|
{
|
|
"name": "Upcoming",
|
|
"displayName": "Upcoming",
|
|
"description": "Upcoming episodes and movie releases",
|
|
"ios": {
|
|
"supportedFamilies": ["systemSmall"],
|
|
"contentMarginsDisabled": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
[
|
|
"@sentry/react-native/expo",
|
|
{
|
|
"organization": "jarvis-0a",
|
|
"project": "sofa-native"
|
|
}
|
|
],
|
|
"expo-image",
|
|
"expo-status-bar"
|
|
],
|
|
"experiments": {
|
|
"typedRoutes": true,
|
|
"reactCompiler": true
|
|
},
|
|
"extra": {
|
|
"eas": {
|
|
"projectId": "a9f021eb-f58d-49af-b291-d72f7dc34051"
|
|
}
|
|
}
|
|
}
|
|
}
|