1e1ead6f54
The landing page's QR card now carries a link to `GET /api/photos/:id/preset.recipe`, so the app can pick a look up off a screen instead of a file. PRESETS gains a SCAN QR chip next to IMPORT: the code is decoded, checked against the preset route, fetched, and stored through the same `storeImportedRecipe` path IMPORT already uses, so an imported look and a scanned look land in one place. Scanning runs on `expo-camera`, not the viewfinder's vision-camera: v5's object output is iOS-only, Android's `createObjectOutput` throws. That is a second camera library in the app, so the sheet pauses the viewfinder (`paused` prop) — CameraX will not let two clients hold one lens. A native rebuild is required for the new module. The code holds a URL, never the recipe, so anything that is not the preset route is refused by name rather than silently dropped. On a release APK the plain-HTTP link is blocked by Android's cleartext policy; debug builds have it on. Noted in 7_SCAN_QR.md along with the web side, the regex, and the paused-viewfinder rule.
67 lines
1.6 KiB
JSON
67 lines
1.6 KiB
JSON
{
|
|
"expo": {
|
|
"name": "RecipesCam",
|
|
"slug": "recipescamera",
|
|
"version": "1.2.3",
|
|
"orientation": "portrait",
|
|
"icon": "./RecipesCamIcon.png",
|
|
"userInterfaceStyle": "light",
|
|
"ios": {
|
|
"supportsTablet": true,
|
|
"infoPlist": {
|
|
"NSCameraUsageDescription": "Allow RecipesCam to access your camera."
|
|
}
|
|
},
|
|
"android": {
|
|
"adaptiveIcon": {
|
|
"backgroundColor": "#E6F4FE",
|
|
"foregroundImage": "./RecipesCamIcon.png",
|
|
"backgroundImage": "./assets/android-icon-background.png",
|
|
"monochromeImage": "./assets/android-icon-monochrome.png"
|
|
},
|
|
"predictiveBackGestureEnabled": false,
|
|
"permissions": [
|
|
"android.permission.CAMERA",
|
|
"android.permission.ACCESS_COARSE_LOCATION",
|
|
"android.permission.ACCESS_FINE_LOCATION",
|
|
"android.permission.READ_EXTERNAL_STORAGE",
|
|
"android.permission.WRITE_EXTERNAL_STORAGE",
|
|
"android.permission.READ_MEDIA_VISUAL_USER_SELECTED",
|
|
"android.permission.READ_MEDIA_IMAGES"
|
|
],
|
|
"package": "com.locphamtran.recipescamera"
|
|
},
|
|
"web": {
|
|
"favicon": "./assets/favicon.png"
|
|
},
|
|
"plugins": [
|
|
"expo-asset",
|
|
[
|
|
"expo-location",
|
|
{
|
|
"locationAlwaysAndWhenInUsePermission": "Allow RecipesCam to geotag your photos with location watermark."
|
|
}
|
|
],
|
|
[
|
|
"expo-media-library",
|
|
{
|
|
"photosPermission": "Allow RecipesCam to save processed photos to your library.",
|
|
"isAccessMediaLocationEnabled": true
|
|
}
|
|
],
|
|
[
|
|
"expo-camera",
|
|
{
|
|
"cameraPermission": "Allow RecipesCam to scan a recipe QR code."
|
|
}
|
|
],
|
|
"expo-sharing"
|
|
],
|
|
"extra": {
|
|
"eas": {
|
|
"projectId": "31b3c7c4-c00c-447d-aa77-a087f78480ef"
|
|
}
|
|
}
|
|
}
|
|
}
|