Files
sofa/apps/native/app.json
T
jake 1257a485e9 feat(native): add context menus to poster cards, hero banners, and continue-watching cards; remove failedKey error state
- Add `Link.Menu` with contextual actions to `PosterCard` (add to watchlist, mark completed, remove), `HeroBanner` ("Add to Watchlist"), and `ContinueWatchingCard` ("Mark as Completed", "Remove from Library") — all invalidate the relevant `titles` and `dashboard` query keys on success
- Remove the `failedKey`/`resetError` error-state pattern from `usePosterActions` and strip the now-unused `failedKey` and `onQuickAddFailed` props from every call site (`HorizontalPosterRow`, `person/[id].tsx`, `PosterCard`)
- Restructure `ContinueWatchingCard` JSX so `GestureDetector` wraps the outer `Animated.View` rather than sitting inside `Link`, fixing gesture/preview layering
- Simplify single-argument plugin entries in `app.json` from `["plugin-name"]` to `"plugin-name"`
2026-03-17 19:32:00 -04:00

121 lines
3.3 KiB
JSON

{
"expo": {
"name": "Sofa",
"slug": "sofa",
"owner": "jakejarvis",
"scheme": "sofa",
"orientation": "portrait",
"userInterfaceStyle": "dark",
"ios": {
"config": {
"usesNonExemptEncryption": false
},
"icon": "./assets/images/sofa.icon",
"bundleIdentifier": "com.jakejarvis.sofa",
"appleTeamId": "B5ZWKBCUTU"
},
"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",
[
"expo-tracking-transparency",
{
"userTrackingPermission": "This identifier will be used to measure app performance and improve your experience."
}
]
],
"experiments": {
"typedRoutes": true,
"reactCompiler": true
},
"extra": {
"eas": {
"projectId": "a9f021eb-f58d-49af-b291-d72f7dc34051"
}
}
}
}