Phecda

feat: add RNCode and RNImageCropPicker/RNSVG

@@ -137,6 +137,7 @@ android { @@ -137,6 +137,7 @@ android {
137 versionName "1.0" 137 versionName "1.0"
138 missingDimensionStrategy 'react-native-camera', 'general' 138 missingDimensionStrategy 'react-native-camera', 'general'
139 multiDexEnabled true 139 multiDexEnabled true
  140 + vectorDrawables.useSupportLibrary true
140 } 141 }
141 splits { 142 splits {
142 abi { 143 abi {
@@ -30,7 +30,7 @@ allprojects { @@ -30,7 +30,7 @@ allprojects {
30 // Android JSC is installed from npm 30 // Android JSC is installed from npm
31 url("$rootDir/../node_modules/jsc-android/dist") 31 url("$rootDir/../node_modules/jsc-android/dist")
32 } 32 }
33 - 33 + maven { url 'https://maven.google.com' }
34 google() 34 google()
35 jcenter() 35 jcenter()
36 maven { url 'https://www.jitpack.io' } 36 maven { url 'https://www.jitpack.io' }
@@ -427,6 +427,7 @@ @@ -427,6 +427,7 @@
427 ); 427 );
428 inputPaths = ( 428 inputPaths = (
429 "${PODS_ROOT}/Target Support Files/Pods-NGPlay-NGPlayTests/Pods-NGPlay-NGPlayTests-resources.sh", 429 "${PODS_ROOT}/Target Support Files/Pods-NGPlay-NGPlayTests/Pods-NGPlay-NGPlayTests-resources.sh",
  430 + "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
430 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", 431 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf",
431 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", 432 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf",
432 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf", 433 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf",
@@ -443,9 +444,11 @@ @@ -443,9 +444,11 @@
443 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf", 444 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf",
444 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf", 445 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf",
445 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf", 446 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf",
  447 + "${PODS_ROOT}/RSKImageCropper/RSKImageCropper/RSKImageCropperStrings.bundle",
446 ); 448 );
447 name = "[CP] Copy Pods Resources"; 449 name = "[CP] Copy Pods Resources";
448 outputPaths = ( 450 outputPaths = (
  451 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
449 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf", 452 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf",
450 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf", 453 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf",
451 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf", 454 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf",
@@ -462,6 +465,7 @@ @@ -462,6 +465,7 @@
462 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf", 465 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf",
463 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf", 466 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf",
464 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf", 467 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf",
  468 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RSKImageCropperStrings.bundle",
465 ); 469 );
466 runOnlyForDeploymentPostprocessing = 0; 470 runOnlyForDeploymentPostprocessing = 0;
467 shellPath = /bin/sh; 471 shellPath = /bin/sh;
@@ -541,6 +545,7 @@ @@ -541,6 +545,7 @@
541 ); 545 );
542 inputPaths = ( 546 inputPaths = (
543 "${PODS_ROOT}/Target Support Files/Pods-NGPlay/Pods-NGPlay-resources.sh", 547 "${PODS_ROOT}/Target Support Files/Pods-NGPlay/Pods-NGPlay-resources.sh",
  548 + "${PODS_CONFIGURATION_BUILD_DIR}/RNImageCropPicker/QBImagePicker.bundle",
544 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf", 549 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf",
545 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf", 550 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf",
546 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf", 551 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf",
@@ -557,9 +562,11 @@ @@ -557,9 +562,11 @@
557 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf", 562 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf",
558 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf", 563 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf",
559 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf", 564 "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf",
  565 + "${PODS_ROOT}/RSKImageCropper/RSKImageCropper/RSKImageCropperStrings.bundle",
560 ); 566 );
561 name = "[CP] Copy Pods Resources"; 567 name = "[CP] Copy Pods Resources";
562 outputPaths = ( 568 outputPaths = (
  569 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/QBImagePicker.bundle",
563 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf", 570 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf",
564 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf", 571 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf",
565 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf", 572 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf",
@@ -576,6 +583,7 @@ @@ -576,6 +583,7 @@
576 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf", 583 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf",
577 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf", 584 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf",
578 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf", 585 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf",
  586 + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/RSKImageCropperStrings.bundle",
579 ); 587 );
580 runOnlyForDeploymentPostprocessing = 0; 588 runOnlyForDeploymentPostprocessing = 0;
581 shellPath = /bin/sh; 589 shellPath = /bin/sh;
@@ -247,6 +247,8 @@ PODS: @@ -247,6 +247,8 @@ PODS:
247 - React 247 - React
248 - react-native-camera/RN (3.23.1): 248 - react-native-camera/RN (3.23.1):
249 - React 249 - React
  250 + - react-native-code (1.0.0-0):
  251 + - React
250 - react-native-netinfo (5.7.1): 252 - react-native-netinfo (5.7.1):
251 - React 253 - React
252 - react-native-safe-area-context (0.7.3): 254 - react-native-safe-area-context (0.7.3):
@@ -322,6 +324,15 @@ PODS: @@ -322,6 +324,15 @@ PODS:
322 - React 324 - React
323 - RNGestureHandler (1.6.1): 325 - RNGestureHandler (1.6.1):
324 - React 326 - React
  327 + - RNImageCropPicker (0.28.0):
  328 + - React-Core
  329 + - React-RCTImage
  330 + - RNImageCropPicker/QBImagePickerController (= 0.28.0)
  331 + - RSKImageCropper
  332 + - RNImageCropPicker/QBImagePickerController (0.28.0):
  333 + - React-Core
  334 + - React-RCTImage
  335 + - RSKImageCropper
325 - RNLocalize (1.4.0): 336 - RNLocalize (1.4.0):
326 - React 337 - React
327 - RNPermissions (2.1.2): 338 - RNPermissions (2.1.2):
@@ -330,8 +341,11 @@ PODS: @@ -330,8 +341,11 @@ PODS:
330 - React 341 - React
331 - RNScreens (2.4.0): 342 - RNScreens (2.4.0):
332 - React 343 - React
  344 + - RNSVG (12.1.0):
  345 + - React
333 - RNVectorIcons (6.6.0): 346 - RNVectorIcons (6.6.0):
334 - React 347 - React
  348 + - RSKImageCropper (2.2.3)
335 - Yoga (1.14.0) 349 - Yoga (1.14.0)
336 - YogaKit (1.18.1): 350 - YogaKit (1.18.1):
337 - Yoga (~> 1.14) 351 - Yoga (~> 1.14)
@@ -362,6 +376,7 @@ DEPENDENCIES: @@ -362,6 +376,7 @@ DEPENDENCIES:
362 - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) 376 - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
363 - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) 377 - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
364 - react-native-camera (from `../node_modules/react-native-camera`) 378 - react-native-camera (from `../node_modules/react-native-camera`)
  379 + - "react-native-code (from `../node_modules/@phecdas/react-native-code`)"
365 - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" 380 - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)"
366 - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) 381 - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
367 - react-native-webview (from `../node_modules/react-native-webview`) 382 - react-native-webview (from `../node_modules/react-native-webview`)
@@ -381,10 +396,12 @@ DEPENDENCIES: @@ -381,10 +396,12 @@ DEPENDENCIES:
381 - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)" 396 - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)"
382 - RNDeviceInfo (from `../node_modules/react-native-device-info`) 397 - RNDeviceInfo (from `../node_modules/react-native-device-info`)
383 - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) 398 - RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
  399 + - RNImageCropPicker (from `../node_modules/react-native-image-crop-picker`)
384 - RNLocalize (from `../node_modules/react-native-localize`) 400 - RNLocalize (from `../node_modules/react-native-localize`)
385 - RNPermissions (from `../node_modules/react-native-permissions`) 401 - RNPermissions (from `../node_modules/react-native-permissions`)
386 - RNReanimated (from `../node_modules/react-native-reanimated`) 402 - RNReanimated (from `../node_modules/react-native-reanimated`)
387 - RNScreens (from `../node_modules/react-native-screens`) 403 - RNScreens (from `../node_modules/react-native-screens`)
  404 + - RNSVG (from `../node_modules/react-native-svg`)
388 - RNVectorIcons (from `../node_modules/react-native-vector-icons`) 405 - RNVectorIcons (from `../node_modules/react-native-vector-icons`)
389 - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) 406 - Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
390 407
@@ -401,6 +418,7 @@ SPEC REPOS: @@ -401,6 +418,7 @@ SPEC REPOS:
401 - Flipper-RSocket 418 - Flipper-RSocket
402 - FlipperKit 419 - FlipperKit
403 - OpenSSL-Universal 420 - OpenSSL-Universal
  421 + - RSKImageCropper
404 - YogaKit 422 - YogaKit
405 423
406 EXTERNAL SOURCES: 424 EXTERNAL SOURCES:
@@ -440,6 +458,8 @@ EXTERNAL SOURCES: @@ -440,6 +458,8 @@ EXTERNAL SOURCES:
440 :path: "../node_modules/react-native/ReactCommon/jsinspector" 458 :path: "../node_modules/react-native/ReactCommon/jsinspector"
441 react-native-camera: 459 react-native-camera:
442 :path: "../node_modules/react-native-camera" 460 :path: "../node_modules/react-native-camera"
  461 + react-native-code:
  462 + :path: "../node_modules/@phecdas/react-native-code"
443 react-native-netinfo: 463 react-native-netinfo:
444 :path: "../node_modules/@react-native-community/netinfo" 464 :path: "../node_modules/@react-native-community/netinfo"
445 react-native-safe-area-context: 465 react-native-safe-area-context:
@@ -476,6 +496,8 @@ EXTERNAL SOURCES: @@ -476,6 +496,8 @@ EXTERNAL SOURCES:
476 :path: "../node_modules/react-native-device-info" 496 :path: "../node_modules/react-native-device-info"
477 RNGestureHandler: 497 RNGestureHandler:
478 :path: "../node_modules/react-native-gesture-handler" 498 :path: "../node_modules/react-native-gesture-handler"
  499 + RNImageCropPicker:
  500 + :path: "../node_modules/react-native-image-crop-picker"
479 RNLocalize: 501 RNLocalize:
480 :path: "../node_modules/react-native-localize" 502 :path: "../node_modules/react-native-localize"
481 RNPermissions: 503 RNPermissions:
@@ -484,6 +506,8 @@ EXTERNAL SOURCES: @@ -484,6 +506,8 @@ EXTERNAL SOURCES:
484 :path: "../node_modules/react-native-reanimated" 506 :path: "../node_modules/react-native-reanimated"
485 RNScreens: 507 RNScreens:
486 :path: "../node_modules/react-native-screens" 508 :path: "../node_modules/react-native-screens"
  509 + RNSVG:
  510 + :path: "../node_modules/react-native-svg"
487 RNVectorIcons: 511 RNVectorIcons:
488 :path: "../node_modules/react-native-vector-icons" 512 :path: "../node_modules/react-native-vector-icons"
489 Yoga: 513 Yoga:
@@ -519,6 +543,7 @@ SPEC CHECKSUMS: @@ -519,6 +543,7 @@ SPEC CHECKSUMS:
519 React-jsiexecutor: e9698dee4fd43ceb44832baf15d5745f455b0157 543 React-jsiexecutor: e9698dee4fd43ceb44832baf15d5745f455b0157
520 React-jsinspector: f74a62727e5604119abd4a1eda52c0a12144bcd5 544 React-jsinspector: f74a62727e5604119abd4a1eda52c0a12144bcd5
521 react-native-camera: 1b52abea404d04e040edb3e74b7c5523c01a3089 545 react-native-camera: 1b52abea404d04e040edb3e74b7c5523c01a3089
  546 + react-native-code: 8a278a6a05c9f039be48c01957f6902027bd5180
522 react-native-netinfo: 4fa023c153d582aeae8435df95c9a975c5986449 547 react-native-netinfo: 4fa023c153d582aeae8435df95c9a975c5986449
523 react-native-safe-area-context: e200d4433aba6b7e60b52da5f37af11f7a0b0392 548 react-native-safe-area-context: e200d4433aba6b7e60b52da5f37af11f7a0b0392
524 react-native-webview: 0633fd7861a9bd7a80bacaee7da763c3afc248fa 549 react-native-webview: 0633fd7861a9bd7a80bacaee7da763c3afc248fa
@@ -537,11 +562,14 @@ SPEC CHECKSUMS: @@ -537,11 +562,14 @@ SPEC CHECKSUMS:
537 RNCMaskedView: 76c40a1d41c3e2535df09246a2b5487f04de0814 562 RNCMaskedView: 76c40a1d41c3e2535df09246a2b5487f04de0814
538 RNDeviceInfo: 6a3d16fce033f6979c4a6a41e62244d183e8c765 563 RNDeviceInfo: 6a3d16fce033f6979c4a6a41e62244d183e8c765
539 RNGestureHandler: 8f09cd560f8d533eb36da5a6c5a843af9f056b38 564 RNGestureHandler: 8f09cd560f8d533eb36da5a6c5a843af9f056b38
  565 + RNImageCropPicker: cf129d17e042ce3e96fb9ada967c28f21f977c82
540 RNLocalize: b6df30cc25ae736d37874f9bce13351db2f56796 566 RNLocalize: b6df30cc25ae736d37874f9bce13351db2f56796
541 RNPermissions: a96580116f7894146552e92b000ac30bf1661947 567 RNPermissions: a96580116f7894146552e92b000ac30bf1661947
542 RNReanimated: 4e102df74a9674fa943e05f97f3362b6e44d0b48 568 RNReanimated: 4e102df74a9674fa943e05f97f3362b6e44d0b48
543 RNScreens: b5c0e1b2b04512919e78bd3898e144a157ce2363 569 RNScreens: b5c0e1b2b04512919e78bd3898e144a157ce2363
  570 + RNSVG: ce9d996113475209013317e48b05c21ee988d42e
544 RNVectorIcons: 0bb4def82230be1333ddaeee9fcba45f0b288ed4 571 RNVectorIcons: 0bb4def82230be1333ddaeee9fcba45f0b288ed4
  572 + RSKImageCropper: a446db0e8444a036b34f3c43db01b2373baa4b2a
545 Yoga: 50fb6eb13d2152e7363293ff603385db380815b1 573 Yoga: 50fb6eb13d2152e7363293ff603385db380815b1
546 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a 574 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a
547 575
@@ -14,6 +14,7 @@ @@ -14,6 +14,7 @@
14 "@huse/boolean": "^1.0.2", 14 "@huse/boolean": "^1.0.2",
15 "@huse/immer": "^1.0.2", 15 "@huse/immer": "^1.0.2",
16 "@huse/previous-value": "^1.0.1", 16 "@huse/previous-value": "^1.0.1",
  17 + "@phecdas/react-native-code": "^1.0.0-1",
17 "@react-native-community/art": "^1.2.0", 18 "@react-native-community/art": "^1.2.0",
18 "@react-native-community/masked-view": "^0.1.7", 19 "@react-native-community/masked-view": "^0.1.7",
19 "@react-native-community/netinfo": "^5.7.1", 20 "@react-native-community/netinfo": "^5.7.1",
@@ -30,12 +31,14 @@ @@ -30,12 +31,14 @@
30 "react-native-device-info": "^5.5.4", 31 "react-native-device-info": "^5.5.4",
31 "react-native-elements": "^1.2.7", 32 "react-native-elements": "^1.2.7",
32 "react-native-gesture-handler": "^1.6.1", 33 "react-native-gesture-handler": "^1.6.1",
  34 + "react-native-image-crop-picker": "^0.28.0",
33 "react-native-localize": "^1.4.0", 35 "react-native-localize": "^1.4.0",
34 "react-native-permissions": "^2.1.2", 36 "react-native-permissions": "^2.1.2",
35 "react-native-progress": "^4.1.2", 37 "react-native-progress": "^4.1.2",
36 "react-native-reanimated": "^1.7.1", 38 "react-native-reanimated": "^1.7.1",
37 "react-native-safe-area-context": "^0.7.3", 39 "react-native-safe-area-context": "^0.7.3",
38 "react-native-screens": "^2.4.0", 40 "react-native-screens": "^2.4.0",
  41 + "react-native-svg": "^12.1.0",
39 "react-native-tab-view": "^2.13.0", 42 "react-native-tab-view": "^2.13.0",
40 "react-native-vector-icons": "^6.6.0", 43 "react-native-vector-icons": "^6.6.0",
41 "react-native-webview": "9.1.1", 44 "react-native-webview": "9.1.1",
@@ -22,6 +22,7 @@ import RNLocalize from './RNLocalize'; @@ -22,6 +22,7 @@ import RNLocalize from './RNLocalize';
22 import { useI18nStrings } from '../i18n'; 22 import { useI18nStrings } from '../i18n';
23 import CameraScreen from './CameraScreen'; 23 import CameraScreen from './CameraScreen';
24 import Library from './Library'; 24 import Library from './Library';
  25 +import ReadableCode from './ReadableCode';
25 26
26 const MainTab = createBottomTabNavigator<MainTabParamList>(); 27 const MainTab = createBottomTabNavigator<MainTabParamList>();
27 28
@@ -123,6 +124,7 @@ const Container = () => { @@ -123,6 +124,7 @@ const Container = () => {
123 /> 124 />
124 <MainStack.Screen name="RNLocalize" component={RNLocalize} /> 125 <MainStack.Screen name="RNLocalize" component={RNLocalize} />
125 <MainStack.Screen name="RNCamera" component={CameraScreen} /> 126 <MainStack.Screen name="RNCamera" component={CameraScreen} />
  127 + <MainStack.Screen name="RNCode" component={ReadableCode} />
126 </MainStack.Navigator> 128 </MainStack.Navigator>
127 </NavigationContainer> 129 </NavigationContainer>
128 ); 130 );
@@ -35,6 +35,12 @@ const Library = ({ navigation }: MainTabScreenProps<'Library'>) => { @@ -35,6 +35,12 @@ const Library = ({ navigation }: MainTabScreenProps<'Library'>) => {
35 onPress={() => navigation.navigate('RNCamera')} 35 onPress={() => navigation.navigate('RNCamera')}
36 chevron 36 chevron
37 /> 37 />
  38 + <Divider />
  39 + <ListItem
  40 + title={'Readable Code'}
  41 + onPress={() => navigation.navigate('RNCode')}
  42 + chevron
  43 + />
38 </BGScroll> 44 </BGScroll>
39 ); 45 );
40 }; 46 };
  1 +import React, { useState } from 'react';
  2 +import { QRCode, BarCode, readCodeFromUri } from '@phecdas/react-native-code';
  3 +import ImagePicker from 'react-native-image-crop-picker';
  4 +import { BGScroll, Card, ListItem } from '../component/View';
  5 +import { Input } from 'react-native-elements';
  6 +import { View, StyleSheet, Platform } from 'react-native';
  7 +
  8 +const styles = StyleSheet.create({
  9 + codeWrapper: { alignItems: 'center', padding: 20 },
  10 +});
  11 +
  12 +const ReadableCode = () => {
  13 + const [qrValue, setQRValue] = useState('A brave new world');
  14 + const [barValue, setBarValue] = useState('1234567890');
  15 + const [readResult, setResult] = useState('');
  16 + return (
  17 + <BGScroll>
  18 + <Card round>
  19 + <Input
  20 + defaultValue={qrValue}
  21 + onSubmitEditing={(e) => setQRValue(e.nativeEvent.text)}
  22 + placeholder="QR Code"
  23 + />
  24 + {!!qrValue && (
  25 + <View style={styles.codeWrapper}>
  26 + <QRCode value={qrValue} size={200} />
  27 + </View>
  28 + )}
  29 + </Card>
  30 + <Card round>
  31 + <Input
  32 + defaultValue={barValue}
  33 + onSubmitEditing={(e) => setBarValue(e.nativeEvent.text)}
  34 + placeholder="Bar Code"
  35 + keyboardType="number-pad"
  36 + />
  37 + {!!barValue && (
  38 + <View style={styles.codeWrapper}>
  39 + <BarCode value={barValue} width={200} height={100} />
  40 + </View>
  41 + )}
  42 + </Card>
  43 + <Card round>
  44 + <ListItem
  45 + title="Read from image..."
  46 + rightTitle={readResult}
  47 + onPress={async () => {
  48 + try {
  49 + const result = await ImagePicker.openPicker({
  50 + mediaType: 'photo',
  51 + });
  52 + const path = Array.isArray(result) ? result[0].path : result.path;
  53 + const value = await readCodeFromUri(
  54 + Platform.OS === 'ios' ? 'file://' : '' + path
  55 + );
  56 + setResult(value);
  57 + } catch (err) {
  58 + setResult('error: ' + err.message);
  59 + }
  60 + }}
  61 + />
  62 + </Card>
  63 + </BGScroll>
  64 + );
  65 +};
  66 +
  67 +export default ReadableCode;
@@ -14,6 +14,7 @@ export type MainStackParamList = { @@ -14,6 +14,7 @@ export type MainStackParamList = {
14 WebviewScreen: { uri: string } | undefined; 14 WebviewScreen: { uri: string } | undefined;
15 RNLocalize: undefined; 15 RNLocalize: undefined;
16 RNCamera: undefined; 16 RNCamera: undefined;
  17 + RNCode: undefined;
17 }; 18 };
18 19
19 export type MainTabScreenProps<RouteName extends keyof MainTabParamList> = { 20 export type MainTabScreenProps<RouteName extends keyof MainTabParamList> = {
@@ -1037,6 +1037,14 @@ @@ -1037,6 +1037,14 @@
1037 mkdirp "^0.5.1" 1037 mkdirp "^0.5.1"
1038 rimraf "^2.5.2" 1038 rimraf "^2.5.2"
1039 1039
  1040 +"@phecdas/react-native-code@^1.0.0-1":
  1041 + version "1.0.0-1"
  1042 + resolved "https://registry.yarnpkg.com/@phecdas/react-native-code/-/react-native-code-1.0.0-1.tgz#b2704192b25dfe2ba1d15a9b94cdc09e83c56ccf"
  1043 + integrity sha512-Y2DzMx3NHdeP5d0sXOeK/MY23kYw3bpF38UAmaJJQLIY8QHq/7qi28V9pHCpz/oL3k8MfaISQKjjkcARu0/KDA==
  1044 + dependencies:
  1045 + jsbarcode "^3.11.0"
  1046 + qrcode "^1.4.4"
  1047 +
1040 "@react-native-community/art@^1.1.2", "@react-native-community/art@^1.2.0": 1048 "@react-native-community/art@^1.1.2", "@react-native-community/art@^1.2.0":
1041 version "1.2.0" 1049 version "1.2.0"
1042 resolved "https://registry.npm.taobao.org/@react-native-community/art/download/@react-native-community/art-1.2.0.tgz#386d95393f6042d9006f9d4bc6063fb898794460" 1050 resolved "https://registry.npm.taobao.org/@react-native-community/art/download/@react-native-community/art-1.2.0.tgz#386d95393f6042d9006f9d4bc6063fb898794460"
@@ -1925,7 +1933,7 @@ balanced-match@^1.0.0: @@ -1925,7 +1933,7 @@ balanced-match@^1.0.0:
1925 resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 1933 resolved "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
1926 integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 1934 integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
1927 1935
1928 -base64-js@^1.1.2, base64-js@^1.2.3: 1936 +base64-js@^1.0.2, base64-js@^1.1.2, base64-js@^1.2.3:
1929 version "1.3.1" 1937 version "1.3.1"
1930 resolved "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" 1938 resolved "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
1931 integrity sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE= 1939 integrity sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=
@@ -1962,6 +1970,11 @@ bindings@^1.5.0: @@ -1962,6 +1970,11 @@ bindings@^1.5.0:
1962 dependencies: 1970 dependencies:
1963 file-uri-to-path "1.0.0" 1971 file-uri-to-path "1.0.0"
1964 1972
  1973 +boolbase@^1.0.0, boolbase@~1.0.0:
  1974 + version "1.0.0"
  1975 + resolved "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
  1976 + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
  1977 +
1965 bplist-creator@0.0.8: 1978 bplist-creator@0.0.8:
1966 version "0.0.8" 1979 version "0.0.8"
1967 resolved "https://registry.npm.taobao.org/bplist-creator/download/bplist-creator-0.0.8.tgz#56b2a6e79e9aec3fc33bf831d09347d73794e79c" 1980 resolved "https://registry.npm.taobao.org/bplist-creator/download/bplist-creator-0.0.8.tgz#56b2a6e79e9aec3fc33bf831d09347d73794e79c"
@@ -2026,16 +2039,42 @@ bser@2.1.1: @@ -2026,16 +2039,42 @@ bser@2.1.1:
2026 dependencies: 2039 dependencies:
2027 node-int64 "^0.4.0" 2040 node-int64 "^0.4.0"
2028 2041
  2042 +buffer-alloc-unsafe@^1.1.0:
  2043 + version "1.1.0"
  2044 + resolved "https://registry.npm.taobao.org/buffer-alloc-unsafe/download/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
  2045 + integrity sha1-vX3CauKXLQ7aJTvgYdupkjScGfA=
  2046 +
  2047 +buffer-alloc@^1.2.0:
  2048 + version "1.2.0"
  2049 + resolved "https://registry.npm.taobao.org/buffer-alloc/download/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
  2050 + integrity sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=
  2051 + dependencies:
  2052 + buffer-alloc-unsafe "^1.1.0"
  2053 + buffer-fill "^1.0.0"
  2054 +
2029 buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: 2055 buffer-crc32@^0.2.13, buffer-crc32@~0.2.3:
2030 version "0.2.13" 2056 version "0.2.13"
2031 resolved "https://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" 2057 resolved "https://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
2032 integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= 2058 integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
2033 2059
2034 -buffer-from@^1.0.0: 2060 +buffer-fill@^1.0.0:
  2061 + version "1.0.0"
  2062 + resolved "https://registry.npm.taobao.org/buffer-fill/download/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
  2063 + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw=
  2064 +
  2065 +buffer-from@^1.0.0, buffer-from@^1.1.1:
2035 version "1.1.1" 2066 version "1.1.1"
2036 resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 2067 resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
2037 integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8= 2068 integrity sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=
2038 2069
  2070 +buffer@^5.4.3:
  2071 + version "5.6.0"
  2072 + resolved "https://registry.npm.taobao.org/buffer/download/buffer-5.6.0.tgz?cache=0&sync_timestamp=1586909009855&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786"
  2073 + integrity sha1-oxdJ3H2B2E2wir+Te2uMQDP2J4Y=
  2074 + dependencies:
  2075 + base64-js "^1.0.2"
  2076 + ieee754 "^1.1.4"
  2077 +
2039 bytes@3.0.0: 2078 bytes@3.0.0:
2040 version "3.0.0" 2079 version "3.0.0"
2041 resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" 2080 resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
@@ -2756,6 +2795,29 @@ cross-spawn@^7.0.0: @@ -2756,6 +2795,29 @@ cross-spawn@^7.0.0:
2756 shebang-command "^2.0.0" 2795 shebang-command "^2.0.0"
2757 which "^2.0.1" 2796 which "^2.0.1"
2758 2797
  2798 +css-select@^2.1.0:
  2799 + version "2.1.0"
  2800 + resolved "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz?cache=0&sync_timestamp=1573341911322&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-select%2Fdownload%2Fcss-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef"
  2801 + integrity sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=
  2802 + dependencies:
  2803 + boolbase "^1.0.0"
  2804 + css-what "^3.2.1"
  2805 + domutils "^1.7.0"
  2806 + nth-check "^1.0.2"
  2807 +
  2808 +css-tree@^1.0.0-alpha.39:
  2809 + version "1.0.0-alpha.39"
  2810 + resolved "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb"
  2811 + integrity sha1-K/8//huz93bPfu/ZHuXLp3oUnus=
  2812 + dependencies:
  2813 + mdn-data "2.0.6"
  2814 + source-map "^0.6.1"
  2815 +
  2816 +css-what@^3.2.1:
  2817 + version "3.2.1"
  2818 + resolved "https://registry.npm.taobao.org/css-what/download/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1"
  2819 + integrity sha1-9KjxJCEGRiG0VnVeNKA6LCLfXaE=
  2820 +
2759 cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": 2821 cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
2760 version "0.3.8" 2822 version "0.3.8"
2761 resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" 2823 resolved "https://registry.npm.taobao.org/cssom/download/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
@@ -2999,6 +3061,11 @@ diff-sequences@^24.9.0: @@ -2999,6 +3061,11 @@ diff-sequences@^24.9.0:
2999 resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" 3061 resolved "https://registry.npm.taobao.org/diff-sequences/download/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5"
3000 integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU= 3062 integrity sha1-VxXWJE4qpl9Iu6C8ly2wsLEelbU=
3001 3063
  3064 +dijkstrajs@^1.0.1:
  3065 + version "1.0.1"
  3066 + resolved "https://registry.npm.taobao.org/dijkstrajs/download/dijkstrajs-1.0.1.tgz#d3cd81221e3ea40742cfcde556d4e99e98ddc71b"
  3067 + integrity sha1-082BIh4+pAdCz83lVtTpnpjdxxs=
  3068 +
3002 doctrine@^2.1.0: 3069 doctrine@^2.1.0:
3003 version "2.1.0" 3070 version "2.1.0"
3004 resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 3071 resolved "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
@@ -3013,6 +3080,24 @@ doctrine@^3.0.0: @@ -3013,6 +3080,24 @@ doctrine@^3.0.0:
3013 dependencies: 3080 dependencies:
3014 esutils "^2.0.2" 3081 esutils "^2.0.2"
3015 3082
  3083 +dom-serializer@0:
  3084 + version "0.2.2"
  3085 + resolved "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1573447907918&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
  3086 + integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=
  3087 + dependencies:
  3088 + domelementtype "^2.0.1"
  3089 + entities "^2.0.0"
  3090 +
  3091 +domelementtype@1:
  3092 + version "1.3.1"
  3093 + resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
  3094 + integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=
  3095 +
  3096 +domelementtype@^2.0.1:
  3097 + version "2.0.1"
  3098 + resolved "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d"
  3099 + integrity sha1-H4vf6R9aeAYydOgDtL3O326U+U0=
  3100 +
3016 domexception@^1.0.1: 3101 domexception@^1.0.1:
3017 version "1.0.1" 3102 version "1.0.1"
3018 resolved "https://registry.npm.taobao.org/domexception/download/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" 3103 resolved "https://registry.npm.taobao.org/domexception/download/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
@@ -3020,6 +3105,14 @@ domexception@^1.0.1: @@ -3020,6 +3105,14 @@ domexception@^1.0.1:
3020 dependencies: 3105 dependencies:
3021 webidl-conversions "^4.0.2" 3106 webidl-conversions "^4.0.2"
3022 3107
  3108 +domutils@^1.7.0:
  3109 + version "1.7.0"
  3110 + resolved "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
  3111 + integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=
  3112 + dependencies:
  3113 + dom-serializer "0"
  3114 + domelementtype "1"
  3115 +
3023 dot-prop@^3.0.0: 3116 dot-prop@^3.0.0:
3024 version "3.0.0" 3117 version "3.0.0"
3025 resolved "https://registry.npm.taobao.org/dot-prop/download/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" 3118 resolved "https://registry.npm.taobao.org/dot-prop/download/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177"
@@ -3099,6 +3192,11 @@ end-of-stream@^1.1.0: @@ -3099,6 +3192,11 @@ end-of-stream@^1.1.0:
3099 dependencies: 3192 dependencies:
3100 once "^1.4.0" 3193 once "^1.4.0"
3101 3194
  3195 +entities@^2.0.0:
  3196 + version "2.0.0"
  3197 + resolved "https://registry.npm.taobao.org/entities/download/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4"
  3198 + integrity sha1-aNYITKsbB5dnVA2A5Wo5tCPkq/Q=
  3199 +
3102 env-variable@0.0.x: 3200 env-variable@0.0.x:
3103 version "0.0.6" 3201 version "0.0.6"
3104 resolved "https://registry.npm.taobao.org/env-variable/download/env-variable-0.0.6.tgz#74ab20b3786c545b62b4a4813ab8cf22726c9808" 3202 resolved "https://registry.npm.taobao.org/env-variable/download/env-variable-0.0.6.tgz#74ab20b3786c545b62b4a4813ab8cf22726c9808"
@@ -4295,6 +4393,11 @@ iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@~0.4.13: @@ -4295,6 +4393,11 @@ iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@~0.4.13:
4295 dependencies: 4393 dependencies:
4296 safer-buffer ">= 2.1.2 < 3" 4394 safer-buffer ">= 2.1.2 < 3"
4297 4395
  4396 +ieee754@^1.1.4:
  4397 + version "1.1.13"
  4398 + resolved "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
  4399 + integrity sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=
  4400 +
4298 ignore@^4.0.6: 4401 ignore@^4.0.6:
4299 version "4.0.6" 4402 version "4.0.6"
4300 resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" 4403 resolved "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
@@ -4699,6 +4802,11 @@ isarray@1.0.0, isarray@~1.0.0: @@ -4699,6 +4802,11 @@ isarray@1.0.0, isarray@~1.0.0:
4699 resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 4802 resolved "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
4700 integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 4803 integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
4701 4804
  4805 +isarray@^2.0.1:
  4806 + version "2.0.5"
  4807 + resolved "https://registry.npm.taobao.org/isarray/download/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
  4808 + integrity sha1-ivHkwSISRMxiRZ+vOJQNTmRKVyM=
  4809 +
4702 isexe@^2.0.0: 4810 isexe@^2.0.0:
4703 version "2.0.0" 4811 version "2.0.0"
4704 resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 4812 resolved "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
@@ -5151,6 +5259,11 @@ js-yaml@^3.13.1: @@ -5151,6 +5259,11 @@ js-yaml@^3.13.1:
5151 argparse "^1.0.7" 5259 argparse "^1.0.7"
5152 esprima "^4.0.0" 5260 esprima "^4.0.0"
5153 5261
  5262 +jsbarcode@^3.11.0:
  5263 + version "3.11.0"
  5264 + resolved "https://registry.npm.taobao.org/jsbarcode/download/jsbarcode-3.11.0.tgz#20623e008b101ef45d0cce9c8022cdf49be28547"
  5265 + integrity sha1-IGI+AIsQHvRdDM6cgCLN9JvihUc=
  5266 +
5154 jsbn@~0.1.0: 5267 jsbn@~0.1.0:
5155 version "0.1.1" 5268 version "0.1.1"
5156 resolved "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 5269 resolved "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
@@ -5649,6 +5762,11 @@ map-visit@^1.0.0: @@ -5649,6 +5762,11 @@ map-visit@^1.0.0:
5649 dependencies: 5762 dependencies:
5650 object-visit "^1.0.0" 5763 object-visit "^1.0.0"
5651 5764
  5765 +mdn-data@2.0.6:
  5766 + version "2.0.6"
  5767 + resolved "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978"
  5768 + integrity sha1-hS3GD8ql2qLoz2yRicRA7T4EKXg=
  5769 +
5652 mem@^4.0.0: 5770 mem@^4.0.0:
5653 version "4.3.0" 5771 version "4.3.0"
5654 resolved "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" 5772 resolved "https://registry.npm.taobao.org/mem/download/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
@@ -6221,6 +6339,13 @@ npm-run-path@^4.0.0: @@ -6221,6 +6339,13 @@ npm-run-path@^4.0.0:
6221 dependencies: 6339 dependencies:
6222 path-key "^3.0.0" 6340 path-key "^3.0.0"
6223 6341
  6342 +nth-check@^1.0.2:
  6343 + version "1.0.2"
  6344 + resolved "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
  6345 + integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=
  6346 + dependencies:
  6347 + boolbase "~1.0.0"
  6348 +
6224 null-check@^1.0.0: 6349 null-check@^1.0.0:
6225 version "1.0.0" 6350 version "1.0.0"
6226 resolved "https://registry.npm.taobao.org/null-check/download/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" 6351 resolved "https://registry.npm.taobao.org/null-check/download/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd"
@@ -6722,6 +6847,11 @@ pn@^1.1.0: @@ -6722,6 +6847,11 @@ pn@^1.1.0:
6722 resolved "https://registry.npm.taobao.org/pn/download/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" 6847 resolved "https://registry.npm.taobao.org/pn/download/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
6723 integrity sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs= 6848 integrity sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs=
6724 6849
  6850 +pngjs@^3.3.0:
  6851 + version "3.4.0"
  6852 + resolved "https://registry.npm.taobao.org/pngjs/download/pngjs-3.4.0.tgz?cache=0&sync_timestamp=1586978554221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpngjs%2Fdownload%2Fpngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
  6853 + integrity sha1-mcp9clll+2VYFOr2XzjxK72/VV8=
  6854 +
6725 posix-character-classes@^0.1.0: 6855 posix-character-classes@^0.1.0:
6726 version "0.1.1" 6856 version "0.1.1"
6727 resolved "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 6857 resolved "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
@@ -6838,6 +6968,19 @@ q@^1.5.1: @@ -6838,6 +6968,19 @@ q@^1.5.1:
6838 resolved "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" 6968 resolved "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
6839 integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= 6969 integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
6840 6970
  6971 +qrcode@^1.4.4:
  6972 + version "1.4.4"
  6973 + resolved "https://registry.npm.taobao.org/qrcode/download/qrcode-1.4.4.tgz#f0c43568a7e7510a55efc3b88d9602f71963ea83"
  6974 + integrity sha1-8MQ1aKfnUQpV78O4jZYC9xlj6oM=
  6975 + dependencies:
  6976 + buffer "^5.4.3"
  6977 + buffer-alloc "^1.2.0"
  6978 + buffer-from "^1.1.1"
  6979 + dijkstrajs "^1.0.1"
  6980 + isarray "^2.0.1"
  6981 + pngjs "^3.3.0"
  6982 + yargs "^13.2.4"
  6983 +
6841 qs@~6.5.2: 6984 qs@~6.5.2:
6842 version "6.5.2" 6985 version "6.5.2"
6843 resolved "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 6986 resolved "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
@@ -6927,6 +7070,11 @@ react-native-gesture-handler@^1.6.1: @@ -6927,6 +7070,11 @@ react-native-gesture-handler@^1.6.1:
6927 invariant "^2.2.4" 7070 invariant "^2.2.4"
6928 prop-types "^15.7.2" 7071 prop-types "^15.7.2"
6929 7072
  7073 +react-native-image-crop-picker@^0.28.0:
  7074 + version "0.28.0"
  7075 + resolved "https://registry.yarnpkg.com/react-native-image-crop-picker/-/react-native-image-crop-picker-0.28.0.tgz#f121669853278dc14baf14ba25b8e6524b0c234c"
  7076 + integrity sha512-4AqQdeS+uFkdeTlsz+3o2Y5dXoRalZiDjsyPsWR2JOawgbzUdjaMQwXkjd12fXNB+g8kccTjvbH96WlXaoHTTg==
  7077 +
6930 react-native-iphone-x-helper@^1.2.1: 7078 react-native-iphone-x-helper@^1.2.1:
6931 version "1.2.1" 7079 version "1.2.1"
6932 resolved "https://registry.npm.taobao.org/react-native-iphone-x-helper/download/react-native-iphone-x-helper-1.2.1.tgz#645e2ffbbb49e80844bb4cbbe34a126fda1e6772" 7080 resolved "https://registry.npm.taobao.org/react-native-iphone-x-helper/download/react-native-iphone-x-helper-1.2.1.tgz#645e2ffbbb49e80844bb4cbbe34a126fda1e6772"
@@ -6982,6 +7130,14 @@ react-native-status-bar-height@^2.2.0: @@ -6982,6 +7130,14 @@ react-native-status-bar-height@^2.2.0:
6982 resolved "https://registry.npm.taobao.org/react-native-status-bar-height/download/react-native-status-bar-height-2.5.0.tgz#bc0fb85230603850aab9667ee8111a62954de90c" 7130 resolved "https://registry.npm.taobao.org/react-native-status-bar-height/download/react-native-status-bar-height-2.5.0.tgz#bc0fb85230603850aab9667ee8111a62954de90c"
6983 integrity sha1-vA+4UjBgOFCquWZ+6BEaYpVN6Qw= 7131 integrity sha1-vA+4UjBgOFCquWZ+6BEaYpVN6Qw=
6984 7132
  7133 +react-native-svg@^12.1.0:
  7134 + version "12.1.0"
  7135 + resolved "https://registry.npm.taobao.org/react-native-svg/download/react-native-svg-12.1.0.tgz#acfe48c35cd5fca3d5fd767abae0560c36cfc03d"
  7136 + integrity sha1-rP5Iw1zV/KPV/XZ6uuBWDDbPwD0=
  7137 + dependencies:
  7138 + css-select "^2.1.0"
  7139 + css-tree "^1.0.0-alpha.39"
  7140 +
6985 react-native-tab-view@^2.13.0: 7141 react-native-tab-view@^2.13.0:
6986 version "2.13.0" 7142 version "2.13.0"
6987 resolved "https://registry.npm.taobao.org/react-native-tab-view/download/react-native-tab-view-2.13.0.tgz#23037aa43b0f8f682ddc20415a4baaaf6f82ae8f" 7143 resolved "https://registry.npm.taobao.org/react-native-tab-view/download/react-native-tab-view-2.13.0.tgz#23037aa43b0f8f682ddc20415a4baaaf6f82ae8f"
@@ -8883,7 +9039,7 @@ yargs@^12.0.5: @@ -8883,7 +9039,7 @@ yargs@^12.0.5:
8883 y18n "^3.2.1 || ^4.0.0" 9039 y18n "^3.2.1 || ^4.0.0"
8884 yargs-parser "^11.1.1" 9040 yargs-parser "^11.1.1"
8885 9041
8886 -yargs@^13.2.2, yargs@^13.3.0: 9042 +yargs@^13.2.2, yargs@^13.2.4, yargs@^13.3.0:
8887 version "13.3.2" 9043 version "13.3.2"
8888 resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" 9044 resolved "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
8889 integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= 9045 integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=