react-native-timacare 3.3.15 → 3.3.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/lib/commonjs/screens/camera/CCCDCameraScreen.js +1 -1
  2. package/lib/commonjs/screens/camera/CCCDCameraScreen.js.flow +162 -235
  3. package/lib/commonjs/screens/camera/CCCDCameraScreen.js.map +1 -1
  4. package/lib/commonjs/screens/home/DigitalTopupItem.js +1 -1
  5. package/lib/commonjs/screens/home/DigitalTopupItem.js.flow +595 -425
  6. package/lib/commonjs/screens/home/DigitalTopupItem.js.map +1 -1
  7. package/lib/commonjs/screens/home/index.js +1 -1
  8. package/lib/commonjs/screens/home/index.js.flow +5 -1
  9. package/lib/commonjs/screens/home/index.js.map +1 -1
  10. package/lib/commonjs/screens/toan-trinh-so/OCR.js +1 -1
  11. package/lib/commonjs/screens/toan-trinh-so/OCR.js.flow +1 -1
  12. package/lib/commonjs/services/api/api.js +1 -1
  13. package/lib/commonjs/services/api/api.js.flow +16 -0
  14. package/lib/commonjs/services/api/api.js.map +1 -1
  15. package/lib/module/screens/camera/CCCDCameraScreen.js +1 -1
  16. package/lib/module/screens/camera/CCCDCameraScreen.js.map +1 -1
  17. package/lib/module/screens/home/DigitalTopupItem.js +1 -1
  18. package/lib/module/screens/home/DigitalTopupItem.js.map +1 -1
  19. package/lib/module/screens/home/index.js +1 -1
  20. package/lib/module/screens/home/index.js.map +1 -1
  21. package/lib/module/screens/toan-trinh-so/OCR.js +1 -1
  22. package/lib/module/services/api/api.js +1 -1
  23. package/lib/module/services/api/api.js.map +1 -1
  24. package/lib/typescript/screens/camera/CCCDCameraScreen.d.ts.map +1 -1
  25. package/lib/typescript/screens/home/DigitalTopupItem.d.ts +2 -1
  26. package/lib/typescript/screens/home/DigitalTopupItem.d.ts.map +1 -1
  27. package/lib/typescript/screens/home/index.d.ts.map +1 -1
  28. package/lib/typescript/services/api/api.d.ts +16 -0
  29. package/lib/typescript/services/api/api.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/src/screens/camera/CCCDCameraScreen.tsx +162 -235
  32. package/src/screens/home/DigitalTopupItem.tsx +595 -425
  33. package/src/screens/home/index.tsx +5 -1
  34. package/src/screens/toan-trinh-so/OCR.tsx +1 -1
  35. package/src/services/api/api.ts +16 -0
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=CCCDCameraScreen;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeVisionCamera=require("react-native-vision-camera");var _icons=require("../../assets/icons");var _MText=require("../../components/MText");var _native=require("@react-navigation/native");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _reactNativeImageManipulator=_interopRequireDefault(require("@oguzhnatly/react-native-image-manipulator"));var _jsxFileName="/Users/tima/Documents/Tima/tima-care-v2-sdk/src/screens/camera/CCCDCameraScreen.tsx",_this=this;function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var _Dimensions$get=_reactNative.Dimensions.get('window'),screenWidth=_Dimensions$get.width,screenHeight=_Dimensions$get.height;var getImageSize=function getImageSize(uri){return new Promise(function(resolve,reject){_reactNative.Image.getSize(uri,function(width,height){return resolve({width:width,height:height});},function(err){return reject(err);});});};var clamp=function clamp(value,min,max){return Math.min(Math.max(value,min),max);};var getSnapshotCropRect=function getSnapshotCropRect(_ref){var imageWidth=_ref.imageWidth,imageHeight=_ref.imageHeight,previewWidth=_ref.previewWidth,previewHeight=_ref.previewHeight,frameX=_ref.frameX,frameY=_ref.frameY,frameWidth=_ref.frameWidth,frameHeight=_ref.frameHeight;var scaleX=imageWidth/previewWidth;var scaleY=imageHeight/previewHeight;var originX=clamp(frameX*scaleX,0,imageWidth);var originY=clamp(frameY*scaleY,0,imageHeight);var width=clamp(frameWidth*scaleX,1,imageWidth-originX);var height=clamp(frameHeight*scaleY,1,imageHeight-originY);return{originX:Math.round(originX),originY:Math.round(originY),width:Math.round(width),height:Math.round(height)};};function CCCDCameraScreen(props){var _props$route2,_props$route2$params;var insets=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)();var navigation=(0,_native.useNavigation)();var camera=(0,_react.useRef)(null);var device=(0,_reactNativeVisionCamera.useCameraDevice)('back');var _useState=(0,_react.useState)(true),_useState2=(0,_slicedToArray2.default)(_useState,2),cameraActive=_useState2[0],setCameraActive=_useState2[1];var _useCameraPermission=(0,_reactNativeVisionCamera.useCameraPermission)(),hasPermission=_useCameraPermission.hasPermission,requestPermission=_useCameraPermission.requestPermission;var _useState3=(0,_react.useState)({width:screenWidth,height:screenHeight}),_useState4=(0,_slicedToArray2.default)(_useState3,2),previewLayout=_useState4[0],setPreviewLayout=_useState4[1];var format=(0,_reactNativeVisionCamera.useCameraFormat)(device,[{photoAspectRatio:previewLayout.height/previewLayout.width},{videoAspectRatio:previewLayout.height/previewLayout.width},{photoResolution:'max'}]);(0,_react.useEffect)(function(){if(!hasPermission)requestPermission();},[hasPermission,requestPermission]);var takePicture=function _callee(){var _props$route,_props$route$params,snapshot,imageUri,normalized,_await$getImageSize,imageWidth,imageHeight,previewWidth,previewHeight,_frameWidth,_frameHeight,_frameX,_frameY,cropRect,result;return _regenerator.default.async(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:if(!(camera.current==null)){_context.next=2;break;}return _context.abrupt("return");case 2:_context.prev=2;_context.next=5;return _regenerator.default.awrap(camera.current.takeSnapshot({quality:100}));case 5:snapshot=_context.sent;imageUri="file://"+snapshot.path;_context.next=9;return _regenerator.default.awrap(_reactNativeImageManipulator.default.manipulate(imageUri,[],{format:'jpg',compress:1}));case 9:normalized=_context.sent;_context.next=12;return _regenerator.default.awrap(getImageSize(normalized.uri));case 12:_await$getImageSize=_context.sent;imageWidth=_await$getImageSize.width;imageHeight=_await$getImageSize.height;previewWidth=previewLayout.width;previewHeight=previewLayout.height;_frameWidth=previewWidth*0.85;_frameHeight=_frameWidth*0.63;_frameX=(previewWidth-_frameWidth)/2;_frameY=(previewHeight-_frameHeight)/2;cropRect=getSnapshotCropRect({imageWidth:imageWidth,imageHeight:imageHeight,previewWidth:previewWidth,previewHeight:previewHeight,frameX:_frameX,frameY:_frameY,frameWidth:_frameWidth,frameHeight:_frameHeight});_context.next=24;return _regenerator.default.awrap(_reactNativeImageManipulator.default.manipulate(normalized.uri,[{crop:cropRect}],{format:'jpg',compress:1}));case 24:result=_context.sent;setCameraActive(false);navigation.goBack();if((_props$route=props.route)!=null&&(_props$route$params=_props$route.params)!=null&&_props$route$params.callback){props.route.params.callback(result==null?void 0:result.uri);}_context.next=33;break;case 30:_context.prev=30;_context.t0=_context["catch"](2);console.error(_context.t0);case 33:case"end":return _context.stop();}},null,null,[[2,30]],Promise);};if(!device||!hasPermission)return _react.default.createElement(_reactNative.View,{style:{flex:1,backgroundColor:'#000',alignItems:'center',justifyContent:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:157,columnNumber:7}},_react.default.createElement(_MText.MText,{style:{color:'#fff'},__self:this,__source:{fileName:_jsxFileName,lineNumber:165,columnNumber:9}},"Vui l\xF2ng c\u1EA5p quy\u1EC1n truy c\u1EADp Camera"));var frameWidth=previewLayout.width*0.85;var frameHeight=frameWidth*0.63;var frameX=(previewLayout.width-frameWidth)/2;var frameY=(previewLayout.height-frameHeight)/2;return _react.default.createElement(_reactNative.View,{style:$container,onLayout:function onLayout(e){var _e$nativeEvent$layout=e.nativeEvent.layout,width=_e$nativeEvent$layout.width,height=_e$nativeEvent$layout.height;if(width>0&&height>0)setPreviewLayout({width:width,height:height});},__self:this,__source:{fileName:_jsxFileName,lineNumber:177,columnNumber:5}},_react.default.createElement(_reactNativeVisionCamera.Camera,{style:{flex:1},device:device,isActive:cameraActive,photo:false,video:true,outputOrientation:"preview",ref:camera,format:format,resizeMode:"cover",__self:this,__source:{fileName:_jsxFileName,lineNumber:184,columnNumber:7}}),_react.default.createElement(_reactNative.View,{style:$overlay,pointerEvents:"none",__self:this,__source:{fileName:_jsxFileName,lineNumber:195,columnNumber:7}},_react.default.createElement(_reactNative.View,{style:[$darkOverlayTop,{height:frameY}],__self:this,__source:{fileName:_jsxFileName,lineNumber:196,columnNumber:9}}),_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:197,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:[$darkOverlaySide,{width:frameX,height:frameHeight}],__self:this,__source:{fileName:_jsxFileName,lineNumber:198,columnNumber:11}}),_react.default.createElement(_reactNative.View,{style:[$frameBorder,{width:frameWidth,height:frameHeight}],__self:this,__source:{fileName:_jsxFileName,lineNumber:201,columnNumber:11}},_react.default.createElement(Corner,{style:{top:0,left:0,borderTopWidth:CORNER_WIDTH,borderLeftWidth:CORNER_WIDTH,borderColor:BORDER_COLOR},__self:this,__source:{fileName:_jsxFileName,lineNumber:205,columnNumber:13}}),_react.default.createElement(Corner,{style:{top:0,right:0,borderTopWidth:CORNER_WIDTH,borderRightWidth:CORNER_WIDTH,borderColor:BORDER_COLOR},__self:this,__source:{fileName:_jsxFileName,lineNumber:216,columnNumber:13}}),_react.default.createElement(Corner,{style:{bottom:0,left:0,borderBottomWidth:CORNER_WIDTH,borderLeftWidth:CORNER_WIDTH,borderColor:BORDER_COLOR},__self:this,__source:{fileName:_jsxFileName,lineNumber:227,columnNumber:13}}),_react.default.createElement(Corner,{style:{bottom:0,right:0,borderBottomWidth:CORNER_WIDTH,borderRightWidth:CORNER_WIDTH,borderColor:BORDER_COLOR},__self:this,__source:{fileName:_jsxFileName,lineNumber:238,columnNumber:13}})),_react.default.createElement(_reactNative.View,{style:[$darkOverlaySide,{width:frameX,height:frameHeight}],__self:this,__source:{fileName:_jsxFileName,lineNumber:248,columnNumber:11}})),_react.default.createElement(_reactNative.View,{style:[$darkOverlayBottom,{height:frameY}],__self:this,__source:{fileName:_jsxFileName,lineNumber:252,columnNumber:9}})),_react.default.createElement(_reactNative.View,{style:[$back,{top:insets.top+16}],__self:this,__source:{fileName:_jsxFileName,lineNumber:254,columnNumber:7}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){navigation.goBack();},style:{position:'absolute',left:0,width:48,height:48,zIndex:1000,alignItems:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:255,columnNumber:9}},_react.default.createElement(_icons.IconBackWhite,{__self:this,__source:{fileName:_jsxFileName,lineNumber:268,columnNumber:11}})),_react.default.createElement(_MText.MText,{style:{textAlign:'center',zIndex:10,color:'#FFFFFF',fontSize:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:270,columnNumber:9}},props!=null&&(_props$route2=props.route)!=null&&(_props$route2$params=_props$route2.params)!=null&&_props$route2$params.front?'Chụp CMND/ CCCD mặt trước':'Chụp CMND/ CCCD mặt sau')),_react.default.createElement(_reactNative.View,{style:{position:'absolute',bottom:24+insets.bottom,alignSelf:'center',flexDirection:'column',alignItems:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:283,columnNumber:7}},_react.default.createElement(_MText.MText,{style:{color:'#fff',marginBottom:16,textAlign:'center',paddingHorizontal:24},__self:this,__source:{fileName:_jsxFileName,lineNumber:292,columnNumber:9}},"Vui l\xF2ng \u0111\u1EB7t gi\u1EA5y t\u1EDD n\u1EB1m v\u1EEBa khung h\xECnh ch\u1EEF nh\u1EADt, ch\u1EE5p \u0111\u1EE7 \xE1nh s\xE1ng v\xE0 r\xF5 n\xE9t."),_react.default.createElement(_reactNative.TouchableOpacity,{onPress:takePicture,__self:this,__source:{fileName:_jsxFileName,lineNumber:303,columnNumber:9}},_react.default.createElement(_icons.TakePhotoSvg,{__self:this,__source:{fileName:_jsxFileName,lineNumber:304,columnNumber:11}}))));}var CORNER_SIZE=20;var CORNER_WIDTH=2;var BORDER_COLOR='#FDFDFD';var Corner=function Corner(_ref2){var style=_ref2.style;return _react.default.createElement(_reactNative.View,{style:[style,{position:'absolute',width:CORNER_SIZE,height:CORNER_SIZE}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:316,columnNumber:3}});};var overlayColor='rgba(22, 22, 22, 0.7)';var $back={position:'absolute',left:0,right:0};var $overlay=(0,_extends2.default)({},_reactNative.StyleSheet.absoluteFillObject,{justifyContent:'center',alignItems:'center'});var $container={flex:1,backgroundColor:'#000'};var $row={flexDirection:'row',alignItems:'center'};var $darkOverlayTop={width:'100%',backgroundColor:overlayColor};var $darkOverlayBottom={width:'100%',backgroundColor:overlayColor};var $darkOverlaySide={backgroundColor:overlayColor};var $frameBorder={};
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=CCCDCameraScreen;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeCamera=require("react-native-camera");var _icons=require("../../assets/icons");var _MText=require("../../components/MText");var _native=require("@react-navigation/native");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _CommonStyles=require("../CommonStyles");var _reactNativePermissions=require("react-native-permissions");var _jsxFileName="/Users/tima/Documents/Tima/tima-care-v2-sdk/src/screens/camera/CCCDCameraScreen.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}function CCCDCameraScreen(props){var _this=this,_props$route2,_props$route2$params;var insets=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)();var navigation=(0,_native.useNavigation)();var isFocused=(0,_native.useIsFocused)();var myCamera=(0,_react.useRef)(null);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),passPermission=_useState2[0],setPassPermission=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),shouldRenderCamera=_useState4[0],setShouldRenderCamera=_useState4[1];var takePicture=function _callee(){var _props$route,_props$route$params,options,data;return _regenerator.default.async(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:if(!(myCamera.current==null)){_context.next=2;break;}return _context.abrupt("return");case 2:_context.prev=2;options={base64:true,pauseAfterCapture:true,fixOrientation:false,forceUpOrientation:false,orientation:_reactNativeCamera.RNCamera.Constants.Orientation.portrait,quality:0.9,pictureSize:'1280x720'};_context.next=6;return _regenerator.default.awrap(myCamera.current.takePictureAsync(options));case 6:data=_context.sent;navigation.goBack();if((_props$route=props.route)!=null&&(_props$route$params=_props$route.params)!=null&&_props$route$params.callback){props.route.params.callback(data.uri);}_context.next=14;break;case 11:_context.prev=11;_context.t0=_context["catch"](2);console.error(_context.t0);case 14:case"end":return _context.stop();}},null,null,[[2,11]],Promise);};var requestPermissions=function requestPermissions(){(0,_reactNativePermissions.request)(_reactNative.Platform.OS==='ios'?_reactNativePermissions.PERMISSIONS.IOS.CAMERA:_reactNativePermissions.PERMISSIONS.ANDROID.CAMERA).then(function(result){switch(result){case _reactNativePermissions.RESULTS.UNAVAILABLE:console.log('This feature is not available (on this device / in this context)');_reactNative.Alert.alert('Thông báo','Máy ảnh trên thiết bị không tương thích.\nVui lòng kiểm tra lại thiết bị!',[{text:'Đồng ý'}]);break;case _reactNativePermissions.RESULTS.DENIED:console.log('The permission has not been requested / is denied but requestable');_reactNative.Alert.alert('Thông báo','Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',[{text:'Đồng ý',onPress:function onPress(){if(_reactNative.Platform.OS==='ios'){(0,_reactNativePermissions.openSettings)();}else{requestPermissions();}}}]);break;case _reactNativePermissions.RESULTS.LIMITED:console.log('The permission is limited: some actions are possible');_reactNative.Alert.alert('Thông báo','Quyền máy ảnh bị hạn chế. Vui lòng kiểm tra lại để tiếp tục!',[{text:'Đồng ý',onPress:function onPress(){if(_reactNative.Platform.OS==='ios'){(0,_reactNativePermissions.openSettings)();}else{requestPermissions();}}}]);break;case _reactNativePermissions.RESULTS.GRANTED:console.log('The permission is granted');setPassPermission(true);break;case _reactNativePermissions.RESULTS.BLOCKED:console.log('The permission is denied and not requestable anymore');_reactNative.Alert.alert('Thông báo','Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',[{text:'Đồng ý',onPress:function onPress(){if(_reactNative.Platform.OS==='ios'){(0,_reactNativePermissions.openSettings)();}else{(0,_reactNativePermissions.openSettings)();}}}]);break;}});};(0,_react.useEffect)(function(){requestPermissions();},[]);(0,_react.useEffect)(function(){var timeout;if(isFocused){timeout=setTimeout(function(){setShouldRenderCamera(true);},500);}else{setShouldRenderCamera(false);}return function(){return clearTimeout(timeout);};},[isFocused]);if(!passPermission&&!shouldRenderCamera){return _react.default.createElement(_reactNative.View,{style:_CommonStyles.commonStyles.fill,__self:this,__source:{fileName:_jsxFileName,lineNumber:159,columnNumber:7}},_react.default.createElement(_reactNative.ActivityIndicator,{size:"large",color:"#0000ff",__self:this,__source:{fileName:_jsxFileName,lineNumber:160,columnNumber:9}}));}return _react.default.createElement(_reactNative.View,{style:{flex:1,backgroundColor:'black'},pointerEvents:'box-none',__self:this,__source:{fileName:_jsxFileName,lineNumber:166,columnNumber:5}},_react.default.createElement(_reactNative.View,{style:[_CommonStyles.commonStyles.alignCenter,_CommonStyles.commonStyles.fill,_CommonStyles.commonStyles.justifyCenter,{position:'absolute',width:_reactNative.Dimensions.get('window').width,height:_reactNative.Dimensions.get('window').height}],__self:this,__source:{fileName:_jsxFileName,lineNumber:170,columnNumber:7}},_react.default.createElement(_reactNativeCamera.RNCamera,{ref:myCamera,defaultVideoQuality:_reactNativeCamera.RNCamera.Constants.VideoQuality['720p'],style:{width:_reactNative.Dimensions.get('window').width,height:260,overflow:'hidden'},maxZoom:1,__self:this,__source:{fileName:_jsxFileName,lineNumber:182,columnNumber:9}},function(_ref){var camera=_ref.camera,status=_ref.status,recordAudioPermissionStatus=_ref.recordAudioPermissionStatus;if(status!=='READY')return _react.default.createElement(_reactNative.ActivityIndicator,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:193,columnNumber:44}});})),_react.default.createElement(_reactNative.View,{style:[$back,{top:insets.top+16}],__self:this,__source:{fileName:_jsxFileName,lineNumber:198,columnNumber:7}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){navigation.goBack();},style:{position:'absolute',left:0,width:48,height:48,zIndex:1000,alignItems:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:199,columnNumber:9}},_react.default.createElement(_icons.IconBackWhite,{__self:this,__source:{fileName:_jsxFileName,lineNumber:212,columnNumber:11}})),_react.default.createElement(_MText.MText,{style:{textAlign:'center',zIndex:10,color:'#FFFFFF',fontSize:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:214,columnNumber:9}},props!=null&&(_props$route2=props.route)!=null&&(_props$route2$params=_props$route2.params)!=null&&_props$route2$params.front?'Chụp CMND/ CCCD mặt trước':'Chụp CMND/ CCCD mặt sau')),_react.default.createElement(_reactNative.View,{style:{position:'absolute',bottom:24+insets.bottom,alignSelf:'center',flexDirection:'column',alignItems:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:227,columnNumber:7}},_react.default.createElement(_MText.MText,{style:{color:'#fff',marginBottom:16,textAlign:'center',paddingHorizontal:24},__self:this,__source:{fileName:_jsxFileName,lineNumber:236,columnNumber:9}},"Vui l\xF2ng \u0111\u1EB7t gi\u1EA5y t\u1EDD n\u1EB1m v\u1EEBa khung h\xECnh ch\u1EEF nh\u1EADt, ch\u1EE5p \u0111\u1EE7 \xE1nh s\xE1ng v\xE0 r\xF5 n\xE9t."),_react.default.createElement(_reactNative.TouchableOpacity,{onPress:takePicture,__self:this,__source:{fileName:_jsxFileName,lineNumber:247,columnNumber:9}},_react.default.createElement(_icons.TakePhotoSvg,{__self:this,__source:{fileName:_jsxFileName,lineNumber:248,columnNumber:11}}))));}var overlayColor='rgba(22, 22, 22, 0.7)';var $back={position:'absolute',left:0,right:0};var $overlay=(0,_extends2.default)({},_reactNative.StyleSheet.absoluteFillObject,{justifyContent:'center',alignItems:'center'});var $container={flex:1,backgroundColor:'#000'};var $row={flexDirection:'row',alignItems:'center'};var $darkOverlayTop={width:'100%',backgroundColor:overlayColor};var $darkOverlayBottom={width:'100%',backgroundColor:overlayColor};var $darkOverlaySide={backgroundColor:overlayColor};var $frameBorder={};
2
2
  //# sourceMappingURL=CCCDCameraScreen.js.map
@@ -1,256 +1,200 @@
1
- //@ts-nocheck
1
+ // @ts-nocheck
2
2
  import React, { useEffect, useRef, useState } from 'react';
3
3
  import {
4
+ ActivityIndicator,
4
5
  Alert,
5
6
  Dimensions,
6
- Image,
7
7
  Platform,
8
8
  StyleSheet,
9
9
  TouchableOpacity,
10
10
  View,
11
11
  } from 'react-native';
12
- import {
13
- Camera,
14
- useCameraDevice,
15
- useCameraFormat,
16
- useCameraPermission,
17
- } from 'react-native-vision-camera';
12
+ import { RNCamera } from 'react-native-camera';
18
13
  import { IconBackWhite, TakePhotoSvg } from '../../assets/icons';
19
14
  import { MText } from '../../components/MText';
20
- import { useNavigation } from '@react-navigation/native';
15
+ import { useNavigation, useIsFocused } from '@react-navigation/native';
21
16
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
22
- import RNImageManipulator from '@oguzhnatly/react-native-image-manipulator';
23
-
24
- const { width: screenWidth, height: screenHeight } = Dimensions.get('window');
25
-
26
- const getImageSize = (
27
- uri: string
28
- ): Promise<{ width: number; height: number }> =>
29
- new Promise((resolve, reject) => {
30
- Image.getSize(
31
- uri,
32
- (width, height) => resolve({ width, height }),
33
- (err) => reject(err)
34
- );
35
- });
36
-
37
- const clamp = (value: number, min: number, max: number) =>
38
- Math.min(Math.max(value, min), max);
39
-
40
- const getSnapshotCropRect = ({
41
- imageWidth,
42
- imageHeight,
43
- previewWidth,
44
- previewHeight,
45
- frameX,
46
- frameY,
47
- frameWidth,
48
- frameHeight,
49
- }: {
50
- imageWidth: number;
51
- imageHeight: number;
52
- previewWidth: number;
53
- previewHeight: number;
54
- frameX: number;
55
- frameY: number;
56
- frameWidth: number;
57
- frameHeight: number;
58
- }) => {
59
- const scaleX = imageWidth / previewWidth;
60
- const scaleY = imageHeight / previewHeight;
61
- const originX = clamp(frameX * scaleX, 0, imageWidth);
62
- const originY = clamp(frameY * scaleY, 0, imageHeight);
63
- const width = clamp(frameWidth * scaleX, 1, imageWidth - originX);
64
- const height = clamp(frameHeight * scaleY, 1, imageHeight - originY);
65
-
66
- return {
67
- originX: Math.round(originX),
68
- originY: Math.round(originY),
69
- width: Math.round(width),
70
- height: Math.round(height),
71
- };
72
- };
17
+ import { commonStyles } from '../CommonStyles';
18
+ import {
19
+ request,
20
+ PERMISSIONS,
21
+ RESULTS,
22
+ openSettings,
23
+ } from 'react-native-permissions';
73
24
 
74
25
  export default function CCCDCameraScreen(props) {
75
26
  const insets = useSafeAreaInsets();
76
27
  const navigation = useNavigation();
77
- const camera = useRef(null);
78
- const device = useCameraDevice('back');
79
- const [cameraActive, setCameraActive] = useState(true);
80
- const { hasPermission, requestPermission } = useCameraPermission();
81
- const [previewLayout, setPreviewLayout] = useState({
82
- width: screenWidth,
83
- height: screenHeight,
84
- });
85
-
86
- const format = useCameraFormat(device, [
87
- {
88
- photoAspectRatio: previewLayout.height / previewLayout.width,
89
- },
90
- {
91
- videoAspectRatio: previewLayout.height / previewLayout.width,
92
- },
93
- {
94
- photoResolution: 'max',
95
- },
96
- ]);
97
-
98
- useEffect(() => {
99
- if (!hasPermission) requestPermission();
100
- }, [hasPermission, requestPermission]);
28
+ const isFocused = useIsFocused();
29
+ const myCamera = useRef(null);
30
+ const [passPermission, setPassPermission] = useState(false);
31
+ const [shouldRenderCamera, setShouldRenderCamera] = useState(false);
101
32
 
102
33
  const takePicture = async () => {
103
- if (camera.current == null) return;
34
+ if (myCamera.current == null) return;
104
35
  try {
105
- const snapshot = await camera.current.takeSnapshot({
106
- quality: 100,
107
- });
108
- const imageUri = `file://${snapshot.path}`;
109
- const normalized = await RNImageManipulator.manipulate(imageUri, [], {
110
- format: 'jpg',
111
- compress: 1,
112
- });
113
- const { width: imageWidth, height: imageHeight } = await getImageSize(
114
- normalized.uri
115
- );
116
-
117
- const previewWidth = previewLayout.width;
118
- const previewHeight = previewLayout.height;
119
-
120
- const frameWidth = previewWidth * 0.85;
121
- const frameHeight = frameWidth * 0.63;
122
- const frameX = (previewWidth - frameWidth) / 2;
123
- const frameY = (previewHeight - frameHeight) / 2;
124
-
125
- const cropRect = getSnapshotCropRect({
126
- imageWidth,
127
- imageHeight,
128
- previewWidth,
129
- previewHeight,
130
- frameX,
131
- frameY,
132
- frameWidth,
133
- frameHeight,
134
- });
135
-
136
- const result = await RNImageManipulator.manipulate(
137
- normalized.uri,
138
- [
139
- {
140
- crop: cropRect,
141
- },
142
- ],
143
- { format: 'jpg', compress: 1 }
144
- );
145
- setCameraActive(false);
36
+ const options = {
37
+ base64: true,
38
+ pauseAfterCapture: true,
39
+ fixOrientation: false,
40
+ forceUpOrientation: false,
41
+ orientation: RNCamera.Constants.Orientation.portrait,
42
+ quality: 0.9,
43
+ pictureSize: '1280x720',
44
+ };
45
+ const data = await myCamera.current.takePictureAsync(options);
146
46
  navigation.goBack();
147
47
  if (props.route?.params?.callback) {
148
- props.route.params.callback(result?.uri);
48
+ props.route.params.callback(data.uri);
149
49
  }
150
50
  } catch (err) {
151
51
  console.error(err);
152
52
  }
153
53
  };
154
54
 
155
- if (!device || !hasPermission)
55
+ const requestPermissions = () => {
56
+ request(
57
+ Platform.OS === 'ios'
58
+ ? PERMISSIONS.IOS.CAMERA
59
+ : PERMISSIONS.ANDROID.CAMERA
60
+ ).then((result) => {
61
+ switch (result) {
62
+ case RESULTS.UNAVAILABLE:
63
+ console.log(
64
+ 'This feature is not available (on this device / in this context)'
65
+ );
66
+ Alert.alert(
67
+ 'Thông báo',
68
+ 'Máy ảnh trên thiết bị không tương thích.\nVui lòng kiểm tra lại thiết bị!',
69
+ [{ text: 'Đồng ý' }]
70
+ );
71
+ break;
72
+ case RESULTS.DENIED:
73
+ console.log(
74
+ 'The permission has not been requested / is denied but requestable'
75
+ );
76
+ Alert.alert(
77
+ 'Thông báo',
78
+ 'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',
79
+ [
80
+ {
81
+ text: 'Đồng ý',
82
+ onPress: () => {
83
+ if (Platform.OS === 'ios') {
84
+ openSettings();
85
+ } else {
86
+ requestPermissions();
87
+ }
88
+ },
89
+ },
90
+ ]
91
+ );
92
+ break;
93
+ case RESULTS.LIMITED:
94
+ console.log('The permission is limited: some actions are possible');
95
+ Alert.alert(
96
+ 'Thông báo',
97
+ 'Quyền máy ảnh bị hạn chế. Vui lòng kiểm tra lại để tiếp tục!',
98
+ [
99
+ {
100
+ text: 'Đồng ý',
101
+ onPress: () => {
102
+ if (Platform.OS === 'ios') {
103
+ openSettings();
104
+ } else {
105
+ requestPermissions();
106
+ }
107
+ },
108
+ },
109
+ ]
110
+ );
111
+ break;
112
+ case RESULTS.GRANTED:
113
+ console.log('The permission is granted');
114
+ setPassPermission(true);
115
+ break;
116
+ case RESULTS.BLOCKED:
117
+ console.log('The permission is denied and not requestable anymore');
118
+ Alert.alert(
119
+ 'Thông báo',
120
+ 'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',
121
+ [
122
+ {
123
+ text: 'Đồng ý',
124
+ onPress: () => {
125
+ if (Platform.OS === 'ios') {
126
+ openSettings();
127
+ } else {
128
+ openSettings();
129
+ }
130
+ },
131
+ },
132
+ ]
133
+ );
134
+ break;
135
+ }
136
+ });
137
+ };
138
+
139
+ useEffect(() => {
140
+ requestPermissions();
141
+ }, []);
142
+
143
+ useEffect(() => {
144
+ let timeout: NodeJS.Timeout;
145
+ if (isFocused) {
146
+ // Delay mounting camera to give Android time to release the previous one
147
+ timeout = setTimeout(() => {
148
+ setShouldRenderCamera(true);
149
+ }, 500); // thử 300ms–500ms nếu cần
150
+ } else {
151
+ setShouldRenderCamera(false);
152
+ }
153
+
154
+ return () => clearTimeout(timeout);
155
+ }, [isFocused]);
156
+
157
+ if (!passPermission && !shouldRenderCamera) {
156
158
  return (
157
- <View
158
- style={{
159
- flex: 1,
160
- backgroundColor: '#000',
161
- alignItems: 'center',
162
- justifyContent: 'center',
163
- }}
164
- >
165
- <MText style={{ color: '#fff' }}>
166
- Vui lòng cấp quyền truy cập Camera
167
- </MText>
159
+ <View style={commonStyles.fill}>
160
+ <ActivityIndicator size="large" color="#0000ff" />
168
161
  </View>
169
162
  );
170
-
171
- const frameWidth = previewLayout.width * 0.85;
172
- const frameHeight = frameWidth * 0.63;
173
- const frameX = (previewLayout.width - frameWidth) / 2;
174
- const frameY = (previewLayout.height - frameHeight) / 2;
163
+ }
175
164
 
176
165
  return (
177
166
  <View
178
- style={$container}
179
- onLayout={(e) => {
180
- const { width, height } = e.nativeEvent.layout;
181
- if (width > 0 && height > 0) setPreviewLayout({ width, height });
182
- }}
167
+ style={{ flex: 1, backgroundColor: 'black' }}
168
+ pointerEvents={'box-none'}
183
169
  >
184
- <Camera
185
- style={{ flex: 1 }}
186
- device={device}
187
- isActive={cameraActive}
188
- photo={false}
189
- video={true}
190
- outputOrientation="preview"
191
- ref={camera}
192
- format={format}
193
- resizeMode="cover"
194
- />
195
- <View style={$overlay} pointerEvents="none">
196
- <View style={[$darkOverlayTop, { height: frameY }]} />
197
- <View style={$row}>
198
- <View
199
- style={[$darkOverlaySide, { width: frameX, height: frameHeight }]}
200
- />
201
- <View
202
- style={[$frameBorder, { width: frameWidth, height: frameHeight }]}
203
- >
204
- {/* Top Left */}
205
- <Corner
206
- style={{
207
- top: 0,
208
- left: 0,
209
- borderTopWidth: CORNER_WIDTH,
210
- borderLeftWidth: CORNER_WIDTH,
211
- borderColor: BORDER_COLOR,
212
- }}
213
- />
214
-
215
- {/* Top Right */}
216
- <Corner
217
- style={{
218
- top: 0,
219
- right: 0,
220
- borderTopWidth: CORNER_WIDTH,
221
- borderRightWidth: CORNER_WIDTH,
222
- borderColor: BORDER_COLOR,
223
- }}
224
- />
225
-
226
- {/* Bottom Left */}
227
- <Corner
228
- style={{
229
- bottom: 0,
230
- left: 0,
231
- borderBottomWidth: CORNER_WIDTH,
232
- borderLeftWidth: CORNER_WIDTH,
233
- borderColor: BORDER_COLOR,
234
- }}
235
- />
236
-
237
- {/* Bottom Right */}
238
- <Corner
239
- style={{
240
- bottom: 0,
241
- right: 0,
242
- borderBottomWidth: CORNER_WIDTH,
243
- borderRightWidth: CORNER_WIDTH,
244
- borderColor: BORDER_COLOR,
245
- }}
246
- />
247
- </View>
248
- <View
249
- style={[$darkOverlaySide, { width: frameX, height: frameHeight }]}
250
- />
251
- </View>
252
- <View style={[$darkOverlayBottom, { height: frameY }]} />
170
+ <View
171
+ style={[
172
+ commonStyles.alignCenter,
173
+ commonStyles.fill,
174
+ commonStyles.justifyCenter,
175
+ {
176
+ position: 'absolute',
177
+ width: Dimensions.get('window').width,
178
+ height: Dimensions.get('window').height,
179
+ },
180
+ ]}
181
+ >
182
+ <RNCamera
183
+ ref={myCamera}
184
+ defaultVideoQuality={RNCamera.Constants.VideoQuality['720p']}
185
+ style={{
186
+ width: Dimensions.get('window').width,
187
+ height: 260,
188
+ overflow: 'hidden',
189
+ }}
190
+ maxZoom={1}
191
+ >
192
+ {({ camera, status, recordAudioPermissionStatus }) => {
193
+ if (status !== 'READY') return <ActivityIndicator />;
194
+ }}
195
+ </RNCamera>
253
196
  </View>
197
+
254
198
  <View style={[$back, { top: insets.top + 16 }]}>
255
199
  <TouchableOpacity
256
200
  onPress={() => {
@@ -308,23 +252,6 @@ export default function CCCDCameraScreen(props) {
308
252
  );
309
253
  }
310
254
 
311
- const CORNER_SIZE = 20;
312
- const CORNER_WIDTH = 2;
313
- const BORDER_COLOR = '#FDFDFD';
314
-
315
- const Corner = ({ style }: { style: ViewStyle }) => (
316
- <View
317
- style={[
318
- style,
319
- {
320
- position: 'absolute',
321
- width: CORNER_SIZE,
322
- height: CORNER_SIZE,
323
- },
324
- ]}
325
- />
326
- );
327
-
328
255
  const overlayColor = 'rgba(22, 22, 22, 0.7)';
329
256
  const $back: ViewStyle = {
330
257
  position: 'absolute',
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeVisionCamera","_icons","_MText","_native","_reactNativeSafeAreaContext","_reactNativeImageManipulator","_interopRequireDefault","_jsxFileName","_this","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_Dimensions$get","Dimensions","screenWidth","width","screenHeight","height","getImageSize","uri","Promise","resolve","reject","Image","getSize","err","clamp","value","min","max","Math","getSnapshotCropRect","_ref","imageWidth","imageHeight","previewWidth","previewHeight","frameX","frameY","frameWidth","frameHeight","scaleX","scaleY","originX","originY","round","CCCDCameraScreen","props","_props$route2","_props$route2$params","insets","useSafeAreaInsets","navigation","useNavigation","camera","useRef","device","useCameraDevice","_useState","useState","_useState2","_slicedToArray2","cameraActive","setCameraActive","_useCameraPermission","useCameraPermission","hasPermission","requestPermission","_useState3","_useState4","previewLayout","setPreviewLayout","format","useCameraFormat","photoAspectRatio","videoAspectRatio","photoResolution","useEffect","takePicture","_callee","_props$route","_props$route$params","snapshot","imageUri","normalized","_await$getImageSize","_frameWidth","_frameHeight","_frameX","_frameY","cropRect","result","_regenerator","async","_callee$","_context","prev","next","current","abrupt","awrap","takeSnapshot","quality","sent","path","RNImageManipulator","manipulate","compress","crop","goBack","route","params","callback","t0","console","error","stop","createElement","View","style","flex","backgroundColor","alignItems","justifyContent","__self","__source","fileName","lineNumber","columnNumber","MText","color","$container","onLayout","_e$nativeEvent$layout","nativeEvent","layout","Camera","isActive","photo","video","outputOrientation","ref","resizeMode","$overlay","pointerEvents","$darkOverlayTop","$row","$darkOverlaySide","$frameBorder","Corner","top","left","borderTopWidth","CORNER_WIDTH","borderLeftWidth","borderColor","BORDER_COLOR","right","borderRightWidth","bottom","borderBottomWidth","$darkOverlayBottom","$back","TouchableOpacity","onPress","position","zIndex","IconBackWhite","textAlign","fontSize","front","alignSelf","flexDirection","marginBottom","paddingHorizontal","TakePhotoSvg","CORNER_SIZE","_ref2","overlayColor","_extends2","StyleSheet","absoluteFillObject"],"sourceRoot":"../../../../src","sources":["screens/camera/CCCDCameraScreen.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeCamera","_icons","_MText","_native","_reactNativeSafeAreaContext","_CommonStyles","_reactNativePermissions","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","CCCDCameraScreen","props","_this","_props$route2","_props$route2$params","insets","useSafeAreaInsets","navigation","useNavigation","isFocused","useIsFocused","myCamera","useRef","_useState","useState","_useState2","_slicedToArray2","passPermission","setPassPermission","_useState3","_useState4","shouldRenderCamera","setShouldRenderCamera","takePicture","_callee","_props$route","_props$route$params","options","data","_regenerator","async","_callee$","_context","prev","next","current","abrupt","base64","pauseAfterCapture","fixOrientation","forceUpOrientation","orientation","RNCamera","Constants","Orientation","portrait","quality","pictureSize","awrap","takePictureAsync","sent","goBack","route","params","callback","uri","t0","console","error","stop","Promise","requestPermissions","request","Platform","OS","PERMISSIONS","IOS","CAMERA","ANDROID","then","result","RESULTS","UNAVAILABLE","log","Alert","alert","text","DENIED","onPress","openSettings","LIMITED","GRANTED","BLOCKED","useEffect","timeout","setTimeout","clearTimeout","createElement","View","style","commonStyles","fill","__self","__source","fileName","lineNumber","columnNumber","ActivityIndicator","size","color","flex","backgroundColor","pointerEvents","alignCenter","justifyCenter","position","width","Dimensions","height","ref","defaultVideoQuality","VideoQuality","overflow","maxZoom","_ref","camera","status","recordAudioPermissionStatus","$back","top","TouchableOpacity","left","zIndex","alignItems","IconBackWhite","MText","textAlign","fontSize","front","bottom","alignSelf","flexDirection","marginBottom","paddingHorizontal","TakePhotoSvg","overlayColor","right","$overlay","_extends2","StyleSheet","absoluteFillObject","justifyContent","$container","$row","$darkOverlayTop","$darkOverlayBottom","$darkOverlaySide","$frameBorder"],"sourceRoot":"../../../../src","sources":["screens/camera/CCCDCameraScreen.tsx"],"mappings":"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"}