react-native-timacare 3.3.59-cccd → 3.3.60-cccd
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.
- package/lib/commonjs/screens/toan-trinh-so/OCR.js +1 -1
- package/lib/commonjs/screens/toan-trinh-so/OCR.js.flow +9 -1
- package/lib/commonjs/screens/toan-trinh-so/OCR.js.map +1 -1
- package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js +1 -1
- package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.flow +7 -1
- package/lib/commonjs/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
- package/lib/commonjs/utils/cameraCrop.js +1 -1
- package/lib/commonjs/utils/cameraCrop.js.flow +29 -30
- package/lib/commonjs/utils/cameraCrop.js.map +1 -1
- package/lib/module/screens/toan-trinh-so/OCR.js +1 -1
- package/lib/module/screens/toan-trinh-so/OCR.js.map +1 -1
- package/lib/module/screens/toan-trinh-so/VehicleCamera.js +1 -1
- package/lib/module/screens/toan-trinh-so/VehicleCamera.js.map +1 -1
- package/lib/module/utils/cameraCrop.js +1 -1
- package/lib/module/utils/cameraCrop.js.map +1 -1
- package/lib/typescript/screens/toan-trinh-so/OCR.d.ts.map +1 -1
- package/lib/typescript/screens/toan-trinh-so/VehicleCamera.d.ts.map +1 -1
- package/lib/typescript/utils/cameraCrop.d.ts +13 -19
- package/lib/typescript/utils/cameraCrop.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/screens/toan-trinh-so/OCR.tsx +9 -1
- package/src/screens/toan-trinh-so/VehicleCamera.tsx +7 -1
- package/src/utils/cameraCrop.ts +29 -30
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.pickClosestFocusDevice=exports.
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.pickClosestFocusDevice=exports.cropPhotoToAspect=exports.computeCenterCrop=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _reactNativeImageManipulator=_interopRequireDefault(require("@oguzhnatly/react-native-image-manipulator"));var computeCenterCrop=exports.computeCenterCrop=function computeCenterCrop(dispW,dispH,aspect){var width;var height;if(dispW/dispH>aspect){height=dispH;width=Math.round(dispH*aspect);}else{width=dispW;height=Math.round(dispW/aspect);}return{originX:Math.max(0,Math.round((dispW-width)/2)),originY:Math.max(0,Math.round((dispH-height)/2)),width:width,height:height};};var cropPhotoToAspect=exports.cropPhotoToAspect=function _callee(photo,aspect){var uri,targetWidth,normalized,dispW,dispH,crop,result,_t;return _regenerator.default.async(function(_context){while(1)switch(_context.prev=_context.next){case 0:uri='file://'+photo.path;_context.prev=1;targetWidth=Math.max((photo==null?void 0:photo.width)||0,(photo==null?void 0:photo.height)||0)||1080;_context.next=2;return _regenerator.default.awrap(_reactNativeImageManipulator.default.manipulate(uri,[{resize:{width:targetWidth}}],{compress:1,format:'jpeg'}));case 2:normalized=_context.sent;dispW=normalized.width;dispH=normalized.height;if(!(!dispW||!dispH)){_context.next=3;break;}return _context.abrupt("return",normalized.uri);case 3:crop=computeCenterCrop(dispW,dispH,aspect);_context.next=4;return _regenerator.default.awrap(_reactNativeImageManipulator.default.manipulate(normalized.uri,[{crop:crop}],{compress:1,format:'jpeg'}));case 4:result=_context.sent;return _context.abrupt("return",result.uri);case 5:_context.prev=5;_t=_context["catch"](1);console.log('cropPhotoToAspect error',_t);return _context.abrupt("return",uri);case 6:case"end":return _context.stop();}},null,null,[[1,5]],Promise);};var pickClosestFocusDevice=exports.pickClosestFocusDevice=function pickClosestFocusDevice(devices){var position=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'back';var list=(devices!=null?devices:[]).filter(function(d){return d.position===position;});if(list.length===0)return undefined;var minFocus=function minFocus(d){return d.minFocusDistance>0?d.minFocusDistance:Number.MAX_SAFE_INTEGER;};return list.reduce(function(best,d){if(minFocus(d)<minFocus(best))return d;if(minFocus(d)===minFocus(best)&&d.physicalDevices.length>best.physicalDevices.length){return d;}return best;});};
|
|
2
2
|
//# sourceMappingURL=cameraCrop.js.map
|
|
@@ -1,23 +1,6 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import RNImageManipulator from '@oguzhnatly/react-native-image-manipulator';
|
|
3
3
|
|
|
4
|
-
/**
|
|
5
|
-
* Kích thước hiển thị (upright) của ảnh chụp từ VisionCamera.
|
|
6
|
-
*
|
|
7
|
-
* photo.width/height là kích thước buffer gốc của cảm biến (luôn landscape).
|
|
8
|
-
* photo.orientation cho biết ảnh cần xoay bao nhiêu để hiển thị đúng chiều:
|
|
9
|
-
* khi là 'landscape-left'/'landscape-right' (điện thoại cầm dọc) thì ảnh hiển
|
|
10
|
-
* thị bị xoay 90° so với buffer -> phải hoán đổi W/H.
|
|
11
|
-
*/
|
|
12
|
-
export const getDisplaySize = (photo) => {
|
|
13
|
-
const needsSwap =
|
|
14
|
-
photo?.orientation === 'landscape-left' ||
|
|
15
|
-
photo?.orientation === 'landscape-right';
|
|
16
|
-
return needsSwap
|
|
17
|
-
? { width: photo.height, height: photo.width }
|
|
18
|
-
: { width: photo.width, height: photo.height };
|
|
19
|
-
};
|
|
20
|
-
|
|
21
4
|
/**
|
|
22
5
|
* Vùng cắt chính giữa theo đúng tỉ lệ khung (aspect = W/H), tính trong hệ toạ
|
|
23
6
|
* độ ảnh đã dựng đứng (upright). VisionCamera fill khung kiểu "cover" nên vùng
|
|
@@ -44,25 +27,41 @@ export const computeCenterCrop = (dispW, dispH, aspect) => {
|
|
|
44
27
|
};
|
|
45
28
|
|
|
46
29
|
/**
|
|
47
|
-
* Cắt ảnh chụp cho vừa đúng khung preview (theo tỉ lệ `aspect`).
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
30
|
+
* Cắt ảnh chụp cho vừa đúng khung preview (theo tỉ lệ `aspect`).
|
|
31
|
+
*
|
|
32
|
+
* Làm 2 bước để đúng trên CẢ iOS lẫn Android (không méo, không lệch):
|
|
33
|
+
*
|
|
34
|
+
* Bước 1 – resize CHỈ theo `width` (không truyền height):
|
|
35
|
+
* - Thư viện tự tính height theo tỉ lệ THẬT của ảnh -> giữ nguyên tỉ lệ, KHÔNG
|
|
36
|
+
* kéo giãn (đây là nguyên nhân méo trên Android khi trước đó ép cả W lẫn H).
|
|
37
|
+
* - Trên iOS bước này còn "dựng đứng" ảnh theo EXIF (thư viện crop chạy trên
|
|
38
|
+
* buffer gốc chưa xoay), Android/Fresco thì đã tự xoay khi decode.
|
|
39
|
+
* - Đọc kích thước THẬT (result.width/height) sau khi dựng để tính vùng crop.
|
|
40
|
+
*
|
|
41
|
+
* Bước 2 – crop chính giữa theo đúng tỉ lệ khung, dựa trên kích thước thật đó.
|
|
42
|
+
*
|
|
54
43
|
* Trả về uri ảnh đã cắt; nếu lỗi thì trả ảnh gốc để vẫn dùng được.
|
|
55
44
|
*/
|
|
56
45
|
export const cropPhotoToAspect = async (photo, aspect) => {
|
|
57
46
|
const uri = 'file://' + photo.path;
|
|
58
|
-
const { width: dispW, height: dispH } = getDisplaySize(photo);
|
|
59
|
-
if (!dispW || !dispH) return uri;
|
|
60
|
-
const crop = computeCenterCrop(dispW, dispH, aspect);
|
|
61
47
|
try {
|
|
62
|
-
|
|
48
|
+
// Dùng cạnh dài của buffer làm width mục tiêu để không giảm độ phân giải chi
|
|
49
|
+
// tiết; resize giữ nguyên tỉ lệ nên không méo.
|
|
50
|
+
const targetWidth = Math.max(photo?.width || 0, photo?.height || 0) || 1080;
|
|
51
|
+
const normalized = await RNImageManipulator.manipulate(
|
|
63
52
|
uri,
|
|
64
|
-
[{ resize: { width:
|
|
65
|
-
{ compress:
|
|
53
|
+
[{ resize: { width: targetWidth } }],
|
|
54
|
+
{ compress: 1, format: 'jpeg' }
|
|
55
|
+
);
|
|
56
|
+
const dispW = normalized.width;
|
|
57
|
+
const dispH = normalized.height;
|
|
58
|
+
if (!dispW || !dispH) return normalized.uri;
|
|
59
|
+
|
|
60
|
+
const crop = computeCenterCrop(dispW, dispH, aspect);
|
|
61
|
+
const result = await RNImageManipulator.manipulate(
|
|
62
|
+
normalized.uri,
|
|
63
|
+
[{ crop }],
|
|
64
|
+
{ compress: 1, format: 'jpeg' }
|
|
66
65
|
);
|
|
67
66
|
return result.uri;
|
|
68
67
|
} catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeImageManipulator","_interopRequireDefault","require","
|
|
1
|
+
{"version":3,"names":["_reactNativeImageManipulator","_interopRequireDefault","require","computeCenterCrop","exports","dispW","dispH","aspect","width","height","Math","round","originX","max","originY","cropPhotoToAspect","_callee","photo","uri","targetWidth","normalized","crop","result","_t","_regenerator","default","async","_context","prev","next","path","awrap","RNImageManipulator","manipulate","resize","compress","format","sent","abrupt","console","log","stop","Promise","pickClosestFocusDevice","devices","position","arguments","length","undefined","list","filter","d","minFocus","minFocusDistance","Number","MAX_SAFE_INTEGER","reduce","best","physicalDevices"],"sourceRoot":"../../../src","sources":["utils/cameraCrop.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.OCR=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _mobxReactLite=require("mobx-react-lite");var _reactNative=require("react-native");var _MText=require("../../components/MText");var _storage=require("../../utils/storage");var _reactNativePermissions=require("react-native-permissions");var _reactNativeVisionCamera=require("react-native-vision-camera");var _AppModal=_interopRequireDefault(require("../../components/AppModal"));var _reactNativeLinearGradient=_interopRequireDefault(require("react-native-linear-gradient"));var _icons=require("../../assets/icons");var _native=require("@react-navigation/native");var _navigation=require("../../navigation");var _svgs=require("../../assets/svgs");var _reactNativeImageCropPicker=_interopRequireDefault(require("react-native-image-crop-picker"));var _reactNativeImagePicker=require("react-native-image-picker");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _AlertGlobal=require("../../components/ModalNotification/AlertGlobal");var _cameraCrop=require("../../utils/cameraCrop");var _jsxFileName="/Users/tima/Tima/react-native-timacare/src/screens/toan-trinh-so/OCR.tsx";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t4 in e)"default"!==_t4&&{}.hasOwnProperty.call(e,_t4)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t4))&&(i.get||i.set)?o(f,_t4,i):f[_t4]=e[_t4]);return f;})(e,t);}var ORANGE='#F05123';var CARD_ASPECT_RATIO=85.6/54;var OCR=exports.OCR=(0,_mobxReactLite.observer)(function OCR(props){var _props$route,_props$route$params;var insets=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)();var isFocused=(0,_native.useIsFocused)();var navigation=(0,_native.useNavigation)();var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),showModal=_useState2[0],setShowModal=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),taking=_useState4[0],setTaking=_useState4[1];var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),passPermission=_useState6[0],setPassPermission=_useState6[1];var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),shouldRenderCamera=_useState8[0],setShouldRenderCamera=_useState8[1];var _useState9=(0,_react.useState)(null),_useState0=(0,_slicedToArray2.default)(_useState9,2),focusPoint=_useState0[0],setFocusPoint=_useState0[1];var myCamera=(0,_react.useRef)(null);var frameSize=(0,_react.useRef)({width:0,height:0});var focusTimer=(0,_react.useRef)(null);var devices=(0,_reactNativeVisionCamera.useCameraDevices)();var device=(0,_react.useMemo)(function(){return(0,_cameraCrop.pickClosestFocusDevice)(devices,'back');},[devices]);var front=props==null?void 0:(_props$route=props.route)==null?void 0:(_props$route$params=_props$route.params)==null?void 0:_props$route$params.front;var focusAt=(0,_react.useCallback)(function _callee(x,y){var cam,_t;return _regenerator.default.async(function(_context){while(1)switch(_context.prev=_context.next){case 0:cam=myCamera.current;if(!(cam==null||!(device!=null&&device.supportsFocus))){_context.next=1;break;}return _context.abrupt("return");case 1:setFocusPoint({x:x,y:y});if(focusTimer.current)clearTimeout(focusTimer.current);focusTimer.current=setTimeout(function(){return setFocusPoint(null);},800);_context.prev=2;_context.next=3;return _regenerator.default.awrap(cam.focus({x:x,y:y}));case 3:_context.next=5;break;case 4:_context.prev=4;_t=_context["catch"](2);case 5:case"end":return _context.stop();}},null,null,[[2,4]],Promise);},[device]);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)');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'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ị!',primaryText:'Đóng'});break;case _reactNativePermissions.RESULTS.DENIED:console.log('The permission has not been requested / is denied but requestable');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',primaryText:'Đồng ý',onPrimaryPress:function onPrimaryPress(){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');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Quyền máy ảnh bị hạn chế. Vui lòng kiểm tra lại để tiếp tục!',primaryText:'Đồng ý',onPrimaryPress:function onPrimaryPress(){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');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',primaryText:'Đồng ý',onPrimaryPress:function onPrimaryPress(){if(_reactNative.Platform.OS==='ios'){(0,_reactNativePermissions.openSettings)();}else{_requestPermissions();}}});break;}});};(0,_react.useEffect)(function(){var timeout;if(isFocused){timeout=setTimeout(function(){setShouldRenderCamera(true);},500);}else{setShouldRenderCamera(false);}return function(){return clearTimeout(timeout);};},[isFocused]);var loadIntro=function _callee2(){var intro;return _regenerator.default.async(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=1;return _regenerator.default.awrap((0,_storage.load)(_storage.OCR_V1));case 1:intro=_context2.sent;if(!intro){setShowModal(true);}case 2:case"end":return _context2.stop();}},null,null,null,Promise);};(0,_react.useEffect)(function(){_requestPermissions();loadIntro();return function(){if(focusTimer.current)clearTimeout(focusTimer.current);};},[]);var goNextWithUri=function goNextWithUri(uri){var _props$route2,_props$route2$params,_props$route4,_props$route4$params;if(front&&!((_props$route2=props.route)!=null&&(_props$route2$params=_props$route2.params)!=null&&_props$route2$params.callback)){var _props$route3,_props$route3$params;navigation.push(_navigation.ScreenNames.TTSNationalIDFront,{uri:uri,loan:props==null?void 0:(_props$route3=props.route)==null?void 0:(_props$route3$params=_props$route3.params)==null?void 0:_props$route3$params.loan});}else if(!front&&!((_props$route4=props.route)!=null&&(_props$route4$params=_props$route4.params)!=null&&_props$route4$params.callback)){var _props$route5,_props$route5$params;navigation.push(_navigation.ScreenNames.TTSNationalIDBack,{uri:uri,loan:props==null?void 0:(_props$route5=props.route)==null?void 0:(_props$route5$params=_props$route5.params)==null?void 0:_props$route5$params.loan});}else{var _props$route6,_props$route6$params;navigation.goBack();(_props$route6=props.route)==null?void 0:(_props$route6$params=_props$route6.params)==null?void 0:_props$route6$params.callback(uri);}};var takePhoto=function _callee3(){var _frameSize$current,fw,fh,data,uri,_t2,_t3;return _regenerator.default.async(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:if(!(myCamera.current==null||taking)){_context3.next=1;break;}return _context3.abrupt("return");case 1:setTaking(true);_context3.prev=2;_frameSize$current=frameSize.current,fw=_frameSize$current.width,fh=_frameSize$current.height;if(!(device!=null&&device.supportsFocus&&fw&&fh)){_context3.next=6;break;}_context3.prev=3;_context3.next=4;return _regenerator.default.awrap(myCamera.current.focus({x:fw/2,y:fh/2}));case 4:_context3.next=6;break;case 5:_context3.prev=5;_t2=_context3["catch"](3);case 6:_context3.next=7;return _regenerator.default.awrap(myCamera.current.takePhoto({qualityPrioritization:'quality'}));case 7:data=_context3.sent;_context3.next=8;return _regenerator.default.awrap((0,_cameraCrop.cropPhotoToAspect)(data,CARD_ASPECT_RATIO));case 8:uri=_context3.sent;setTaking(false);goNextWithUri(uri);_context3.next=10;break;case 9:_context3.prev=9;_t3=_context3["catch"](2);console.error(_t3);setTaking(false);_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Không chụp được ảnh. Vui lòng thử lại.',primaryText:'Đóng'});case 10:case"end":return _context3.stop();}},null,null,[[2,9],[3,5]],Promise);};var pickImageFromGallery=function _callee4(){var result,_result$assets$;return _regenerator.default.async(function(_context4){while(1)switch(_context4.prev=_context4.next){case 0:if(!(_reactNative.Platform.OS==='android')){_context4.next=2;break;}_context4.next=1;return _regenerator.default.awrap((0,_reactNativeImagePicker.launchImageLibrary)({mediaType:'photo'}));case 1:result=_context4.sent;if(result.assets){goNextWithUri((_result$assets$=result.assets[0])==null?void 0:_result$assets$.uri);}_context4.next=3;break;case 2:_reactNativeImageCropPicker.default.openPicker({}).then(function(image){goNextWithUri(_reactNative.Platform.OS==='android'?image==null?void 0:image.path:'file://'+(image==null?void 0:image.path));});case 3:case"end":return _context4.stop();}},null,null,null,Promise);};return _react.default.createElement(_reactNative.View,{style:styles.container,__self:this,__source:{fileName:_jsxFileName,lineNumber:261,columnNumber:5}},passPermission&&shouldRenderCamera?_react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_reactNative.View,{style:[styles.header,{paddingTop:insets.top+16}],__self:this,__source:{fileName:_jsxFileName,lineNumber:264,columnNumber:11}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){return navigation.navigate(_navigation.ScreenNames.Main);},hitSlop:{top:12,bottom:12,left:12,right:12},__self:this,__source:{fileName:_jsxFileName,lineNumber:265,columnNumber:13}},_react.default.createElement(_icons.IconBack,{__self:this,__source:{fileName:_jsxFileName,lineNumber:269,columnNumber:15}})),_react.default.createElement(_reactNative.View,{style:styles.titleWrap,__self:this,__source:{fileName:_jsxFileName,lineNumber:271,columnNumber:13}},_react.default.createElement(_MText.MText,{style:styles.headerTitle,__self:this,__source:{fileName:_jsxFileName,lineNumber:272,columnNumber:15}},"CMND / CCCD"))),_react.default.createElement(_MText.MText,{style:styles.instruction,__self:this,__source:{fileName:_jsxFileName,lineNumber:276,columnNumber:11}},front?'Chụp CMND/ CCCD mặt trước':'Chụp CMND/ CCCD mặt sau'),_react.default.createElement(_reactNative.View,{style:styles.photoFrame,onLayout:function onLayout(e){frameSize.current=e.nativeEvent.layout;},onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},onResponderRelease:function onResponderRelease(e){return focusAt(e.nativeEvent.locationX,e.nativeEvent.locationY);},__self:this,__source:{fileName:_jsxFileName,lineNumber:282,columnNumber:11}},device?_react.default.createElement(_reactNativeVisionCamera.Camera,{ref:myCamera,style:_reactNative.StyleSheet.absoluteFill,device:device,isActive:isFocused,photo:true,__self:this,__source:{fileName:_jsxFileName,lineNumber:293,columnNumber:15}}):null,_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerTL],__self:this,__source:{fileName:_jsxFileName,lineNumber:301,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerTR],__self:this,__source:{fileName:_jsxFileName,lineNumber:302,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerBL],__self:this,__source:{fileName:_jsxFileName,lineNumber:303,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerBR],__self:this,__source:{fileName:_jsxFileName,lineNumber:304,columnNumber:13}}),focusPoint&&_react.default.createElement(_reactNative.View,{pointerEvents:"none",style:[styles.focusRing,{left:focusPoint.x-32,top:focusPoint.y-32}],__self:this,__source:{fileName:_jsxFileName,lineNumber:306,columnNumber:15}})),_react.default.createElement(_reactNative.TouchableOpacity,{style:styles.galleryButton,onPress:pickImageFromGallery,__self:this,__source:{fileName:_jsxFileName,lineNumber:316,columnNumber:11}},_react.default.createElement(_svgs.IconUpload,{__self:this,__source:{fileName:_jsxFileName,lineNumber:320,columnNumber:13}}),_react.default.createElement(_MText.MText,{style:styles.galleryText,__self:this,__source:{fileName:_jsxFileName,lineNumber:321,columnNumber:13}},"T\u1EA3i \u1EA3nh t\u1EEB th\u01B0 vi\u1EC7n")),_react.default.createElement(_reactNative.View,{style:styles.spacer,__self:this,__source:{fileName:_jsxFileName,lineNumber:324,columnNumber:11}}),_react.default.createElement(_MText.MText,{style:[styles.hint,{marginTop:0,marginBottom:20}],__self:this,__source:{fileName:_jsxFileName,lineNumber:325,columnNumber:11}},"\u0110\u01B0a gi\u1EA5y t\u1EDD l\u1EA1i g\u1EA7n cho v\u1EEBa khung, ch\u1EA1m v\xE0o m\xE0n h\xECnh",'\n',"\u0111\u1EC3 l\u1EA5y n\xE9t n\u1EBFu \u1EA3nh b\u1ECB m\u1EDD."),_react.default.createElement(_reactNative.TouchableOpacity,{style:[styles.captureButton,{marginBottom:insets.bottom+24}],onPress:takePhoto,disabled:taking,__self:this,__source:{fileName:_jsxFileName,lineNumber:329,columnNumber:11}},_react.default.createElement(_icons.TakePhotoSvg,{__self:this,__source:{fileName:_jsxFileName,lineNumber:334,columnNumber:13}}))):null,_react.default.createElement(_AppModal.default,{isVisible:showModal,style:$modal,backdropTransitionInTiming:0,animationOutTiming:200,animationInTiming:200,animationIn:'slideInUp',animationOut:'fadeOutDown',useNativeDriverForBackdrop:true,useNativeDriver:true,__self:this,__source:{fileName:_jsxFileName,lineNumber:339,columnNumber:7}},_react.default.createElement(_reactNativeLinearGradient.default,{colors:['#FF8E4F','#EF592E'],style:$container,__self:this,__source:{fileName:_jsxFileName,lineNumber:350,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:$paddingV,__self:this,__source:{fileName:_jsxFileName,lineNumber:351,columnNumber:11}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){setShowModal(false);setTimeout(function(){navigation.goBack();},100);},style:{width:24,height:24,position:'absolute',left:16,top:24,alignItems:'center',zIndex:10000},__self:this,__source:{fileName:_jsxFileName,lineNumber:352,columnNumber:13}},_react.default.createElement(_icons.CloseIcon,{__self:this,__source:{fileName:_jsxFileName,lineNumber:369,columnNumber:15}})),_react.default.createElement(_MText.MText,{style:$title,__self:this,__source:{fileName:_jsxFileName,lineNumber:371,columnNumber:13}},"NH\u1EACN DI\u1EC6N GI\u1EA4Y T\u1EDC T\xD9Y TH\xC2N"),_react.default.createElement(_MText.MText,{style:$description,__self:this,__source:{fileName:_jsxFileName,lineNumber:372,columnNumber:13}},"Ch\u1EE5p \u1EA3nh 2 m\u1EB7t CCCD/ CMND"),_react.default.createElement(_reactNative.Image,{source:require('../../assets/tts/vehicleStep.png'),style:$step,__self:this,__source:{fileName:_jsxFileName,lineNumber:374,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:$bg,__self:this,__source:{fileName:_jsxFileName,lineNumber:379,columnNumber:13}},_react.default.createElement(_reactNative.View,{style:{marginTop:16,paddingHorizontal:24},__self:this,__source:{fileName:_jsxFileName,lineNumber:380,columnNumber:15}},_react.default.createElement(_MText.MText,{style:[$title2,{textAlign:'left'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:381,columnNumber:17}},"L\u01B0u \xFD ch\u1EE5p CCCD/ CMND"),_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:384,columnNumber:17}},_react.default.createElement(_icons.TimaSmall,{__self:this,__source:{fileName:_jsxFileName,lineNumber:385,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:$txt,__self:this,__source:{fileName:_jsxFileName,lineNumber:386,columnNumber:19}},"N\xEAn \u0111\u1EB7t CCCD/ CMND l\xEAn m\u1EB7t ph\u1EB3ng \u0111\u1EC3 ch\u1EE5p")),_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:390,columnNumber:17}},_react.default.createElement(_icons.TimaSmall,{__self:this,__source:{fileName:_jsxFileName,lineNumber:391,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:$txt,__self:this,__source:{fileName:_jsxFileName,lineNumber:392,columnNumber:19}},"\u0110\u1EB7t CCCD/ CMND n\u1EB1m g\u1ECDn trong khung h\xECnh (Kh\xF4ng ",'\n'," qu\xE1 nh\u1ECF hay qu\xE1 to l\xE0m m\u1EA5t chi ti\u1EBFt)")),_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:397,columnNumber:17}},_react.default.createElement(_icons.TimaSmall,{__self:this,__source:{fileName:_jsxFileName,lineNumber:398,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:$txt,__self:this,__source:{fileName:_jsxFileName,lineNumber:399,columnNumber:19}},"Ch\u1ECDn n\u01A1i \xE1nh s\xE1ng t\u1ED1t, tr\xE1nh l\xF3a/ ch\xF3i h\xECnh ch\u1EE5p")),_react.default.createElement(_reactNative.Image,{source:require('../../assets/tts/Frame1000011947.png'),style:{width:'100%',height:80,resizeMode:'contain',marginTop:10},__self:this,__source:{fileName:_jsxFileName,lineNumber:403,columnNumber:17}})),_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){setShowModal(false);(0,_storage.save)(_storage.OCR_V1,true);},style:{margin:16,height:40,alignItems:'center',justifyContent:'center',borderRadius:40,borderWidth:1,borderColor:'#EF592E'},__self:this,__source:{fileName:_jsxFileName,lineNumber:414,columnNumber:15}},_react.default.createElement(_MText.MText,{style:{color:'#EF592E',fontSize:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:429,columnNumber:17}},"Ch\u1EE5p 2 m\u1EB7t")),_react.default.createElement(_reactNative.View,{style:{height:24},__self:this,__source:{fileName:_jsxFileName,lineNumber:433,columnNumber:15}}))))));});var styles=_reactNative.StyleSheet.create({container:{flex:1,backgroundColor:'#FFFFFF'},header:{flexDirection:'row',alignItems:'center',paddingHorizontal:16,paddingTop:8},titleWrap:{flex:1,alignItems:'center',justifyContent:'center',marginRight:24},headerTitle:{color:'#333333',fontSize:16,fontWeight:'600'},instruction:{textAlign:'center',color:'#333333',fontSize:14,lineHeight:20,marginTop:20,marginBottom:28},photoFrame:{marginHorizontal:24,aspectRatio:CARD_ASPECT_RATIO,borderRadius:8,overflow:'hidden',backgroundColor:'#000000'},corner:{position:'absolute',width:26,height:26,borderColor:ORANGE},focusRing:{position:'absolute',width:64,height:64,borderRadius:8,borderWidth:1.5,borderColor:'#FFD54A'},cornerTL:{top:0,left:0,borderTopWidth:4,borderLeftWidth:4,borderTopLeftRadius:8},cornerTR:{top:0,right:0,borderTopWidth:4,borderRightWidth:4,borderTopRightRadius:8},cornerBL:{bottom:0,left:0,borderBottomWidth:4,borderLeftWidth:4,borderBottomLeftRadius:8},cornerBR:{bottom:0,right:0,borderBottomWidth:4,borderRightWidth:4,borderBottomRightRadius:8},galleryButton:{alignSelf:'center',flexDirection:'row',alignItems:'center',gap:8,marginTop:20,paddingHorizontal:14,paddingVertical:8,borderRadius:8,borderWidth:1,borderColor:ORANGE,backgroundColor:'#FFFFFF'},galleryText:{color:'#333333',fontSize:13},hint:{textAlign:'center',color:'#555555',fontSize:13,lineHeight:19,marginTop:48},spacer:{flex:1},captureButton:{alignSelf:'center'}});var $row={flexDirection:'row',alignItems:'center',marginTop:5};var $txt={fontSize:12,marginLeft:5};var $bg={backgroundColor:'white',borderTopRightRadius:26,borderTopLeftRadius:26};var $step={height:40,width:'100%',resizeMode:'contain',marginTop:10,marginBottom:10};var $paddingV={paddingTop:16};var $title={fontSize:16,color:'white',fontWeight:'bold',textAlign:'center'};var $title2={fontSize:16,color:'#333333',fontWeight:'bold',textAlign:'center'};var $description={fontSize:12,color:'white',textAlign:'center'};var $modal={justifyContent:'flex-end',margin:0};var $container={borderTopRightRadius:26,borderTopLeftRadius:26};
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.OCR=void 0;var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _mobxReactLite=require("mobx-react-lite");var _reactNative=require("react-native");var _MText=require("../../components/MText");var _storage=require("../../utils/storage");var _reactNativePermissions=require("react-native-permissions");var _reactNativeVisionCamera=require("react-native-vision-camera");var _AppModal=_interopRequireDefault(require("../../components/AppModal"));var _reactNativeLinearGradient=_interopRequireDefault(require("react-native-linear-gradient"));var _icons=require("../../assets/icons");var _native=require("@react-navigation/native");var _navigation=require("../../navigation");var _svgs=require("../../assets/svgs");var _reactNativeImageCropPicker=_interopRequireDefault(require("react-native-image-crop-picker"));var _reactNativeImagePicker=require("react-native-image-picker");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _AlertGlobal=require("../../components/ModalNotification/AlertGlobal");var _cameraCrop=require("../../utils/cameraCrop");var _jsxFileName="/Users/tima/Tima/react-native-timacare/src/screens/toan-trinh-so/OCR.tsx";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t4 in e)"default"!==_t4&&{}.hasOwnProperty.call(e,_t4)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t4))&&(i.get||i.set)?o(f,_t4,i):f[_t4]=e[_t4]);return f;})(e,t);}var ORANGE='#F05123';var CARD_ASPECT_RATIO=85.6/54;var OCR=exports.OCR=(0,_mobxReactLite.observer)(function OCR(props){var _props$route,_props$route$params;var insets=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)();var isFocused=(0,_native.useIsFocused)();var navigation=(0,_native.useNavigation)();var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),showModal=_useState2[0],setShowModal=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),taking=_useState4[0],setTaking=_useState4[1];var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),passPermission=_useState6[0],setPassPermission=_useState6[1];var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),shouldRenderCamera=_useState8[0],setShouldRenderCamera=_useState8[1];var _useState9=(0,_react.useState)(null),_useState0=(0,_slicedToArray2.default)(_useState9,2),focusPoint=_useState0[0],setFocusPoint=_useState0[1];var myCamera=(0,_react.useRef)(null);var frameSize=(0,_react.useRef)({width:0,height:0});var focusTimer=(0,_react.useRef)(null);var takingRef=(0,_react.useRef)(false);var devices=(0,_reactNativeVisionCamera.useCameraDevices)();var device=(0,_react.useMemo)(function(){return(0,_cameraCrop.pickClosestFocusDevice)(devices,'back');},[devices]);var front=props==null?void 0:(_props$route=props.route)==null?void 0:(_props$route$params=_props$route.params)==null?void 0:_props$route$params.front;var focusAt=(0,_react.useCallback)(function _callee(x,y){var cam,_t;return _regenerator.default.async(function(_context){while(1)switch(_context.prev=_context.next){case 0:cam=myCamera.current;if(!(cam==null||!(device!=null&&device.supportsFocus))){_context.next=1;break;}return _context.abrupt("return");case 1:setFocusPoint({x:x,y:y});if(focusTimer.current)clearTimeout(focusTimer.current);focusTimer.current=setTimeout(function(){return setFocusPoint(null);},800);_context.prev=2;_context.next=3;return _regenerator.default.awrap(cam.focus({x:x,y:y}));case 3:_context.next=5;break;case 4:_context.prev=4;_t=_context["catch"](2);case 5:case"end":return _context.stop();}},null,null,[[2,4]],Promise);},[device]);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)');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'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ị!',primaryText:'Đóng'});break;case _reactNativePermissions.RESULTS.DENIED:console.log('The permission has not been requested / is denied but requestable');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',primaryText:'Đồng ý',onPrimaryPress:function onPrimaryPress(){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');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Quyền máy ảnh bị hạn chế. Vui lòng kiểm tra lại để tiếp tục!',primaryText:'Đồng ý',onPrimaryPress:function onPrimaryPress(){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');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',primaryText:'Đồng ý',onPrimaryPress:function onPrimaryPress(){if(_reactNative.Platform.OS==='ios'){(0,_reactNativePermissions.openSettings)();}else{_requestPermissions();}}});break;}});};(0,_react.useEffect)(function(){var timeout;if(isFocused){timeout=setTimeout(function(){setShouldRenderCamera(true);},500);}else{setShouldRenderCamera(false);}return function(){return clearTimeout(timeout);};},[isFocused]);var loadIntro=function _callee2(){var intro;return _regenerator.default.async(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=1;return _regenerator.default.awrap((0,_storage.load)(_storage.OCR_V1));case 1:intro=_context2.sent;if(!intro){setShowModal(true);}case 2:case"end":return _context2.stop();}},null,null,null,Promise);};(0,_react.useEffect)(function(){_requestPermissions();loadIntro();return function(){if(focusTimer.current)clearTimeout(focusTimer.current);};},[]);var goNextWithUri=function goNextWithUri(uri){var _props$route2,_props$route2$params,_props$route4,_props$route4$params;if(front&&!((_props$route2=props.route)!=null&&(_props$route2$params=_props$route2.params)!=null&&_props$route2$params.callback)){var _props$route3,_props$route3$params;navigation.push(_navigation.ScreenNames.TTSNationalIDFront,{uri:uri,loan:props==null?void 0:(_props$route3=props.route)==null?void 0:(_props$route3$params=_props$route3.params)==null?void 0:_props$route3$params.loan});}else if(!front&&!((_props$route4=props.route)!=null&&(_props$route4$params=_props$route4.params)!=null&&_props$route4$params.callback)){var _props$route5,_props$route5$params;navigation.push(_navigation.ScreenNames.TTSNationalIDBack,{uri:uri,loan:props==null?void 0:(_props$route5=props.route)==null?void 0:(_props$route5$params=_props$route5.params)==null?void 0:_props$route5$params.loan});}else{var _props$route6,_props$route6$params;navigation.goBack();(_props$route6=props.route)==null?void 0:(_props$route6$params=_props$route6.params)==null?void 0:_props$route6$params.callback(uri);}};var takePhoto=function _callee3(){var _frameSize$current,fw,fh,data,uri,_t2,_t3;return _regenerator.default.async(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:if(!(myCamera.current==null||takingRef.current)){_context3.next=1;break;}return _context3.abrupt("return");case 1:takingRef.current=true;setTaking(true);_context3.prev=2;_frameSize$current=frameSize.current,fw=_frameSize$current.width,fh=_frameSize$current.height;if(!(device!=null&&device.supportsFocus&&fw&&fh)){_context3.next=6;break;}_context3.prev=3;_context3.next=4;return _regenerator.default.awrap(myCamera.current.focus({x:fw/2,y:fh/2}));case 4:_context3.next=6;break;case 5:_context3.prev=5;_t2=_context3["catch"](3);case 6:_context3.next=7;return _regenerator.default.awrap(myCamera.current.takePhoto({qualityPrioritization:'quality'}));case 7:data=_context3.sent;_context3.next=8;return _regenerator.default.awrap((0,_cameraCrop.cropPhotoToAspect)(data,CARD_ASPECT_RATIO));case 8:uri=_context3.sent;takingRef.current=false;setTaking(false);goNextWithUri(uri);_context3.next=10;break;case 9:_context3.prev=9;_t3=_context3["catch"](2);console.error(_t3);takingRef.current=false;setTaking(false);_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Không chụp được ảnh. Vui lòng thử lại.',primaryText:'Đóng'});case 10:case"end":return _context3.stop();}},null,null,[[2,9],[3,5]],Promise);};var pickImageFromGallery=function _callee4(){var result,_result$assets$;return _regenerator.default.async(function(_context4){while(1)switch(_context4.prev=_context4.next){case 0:if(!takingRef.current){_context4.next=1;break;}return _context4.abrupt("return");case 1:if(!(_reactNative.Platform.OS==='android')){_context4.next=3;break;}_context4.next=2;return _regenerator.default.awrap((0,_reactNativeImagePicker.launchImageLibrary)({mediaType:'photo'}));case 2:result=_context4.sent;if(result.assets){goNextWithUri((_result$assets$=result.assets[0])==null?void 0:_result$assets$.uri);}_context4.next=4;break;case 3:_reactNativeImageCropPicker.default.openPicker({}).then(function(image){goNextWithUri(_reactNative.Platform.OS==='android'?image==null?void 0:image.path:'file://'+(image==null?void 0:image.path));});case 4:case"end":return _context4.stop();}},null,null,null,Promise);};return _react.default.createElement(_reactNative.View,{style:styles.container,__self:this,__source:{fileName:_jsxFileName,lineNumber:268,columnNumber:5}},passPermission&&shouldRenderCamera?_react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_reactNative.View,{style:[styles.header,{paddingTop:insets.top+16}],__self:this,__source:{fileName:_jsxFileName,lineNumber:271,columnNumber:11}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){return navigation.navigate(_navigation.ScreenNames.Main);},hitSlop:{top:12,bottom:12,left:12,right:12},__self:this,__source:{fileName:_jsxFileName,lineNumber:272,columnNumber:13}},_react.default.createElement(_icons.IconBack,{__self:this,__source:{fileName:_jsxFileName,lineNumber:276,columnNumber:15}})),_react.default.createElement(_reactNative.View,{style:styles.titleWrap,__self:this,__source:{fileName:_jsxFileName,lineNumber:278,columnNumber:13}},_react.default.createElement(_MText.MText,{style:styles.headerTitle,__self:this,__source:{fileName:_jsxFileName,lineNumber:279,columnNumber:15}},"CMND / CCCD"))),_react.default.createElement(_MText.MText,{style:styles.instruction,__self:this,__source:{fileName:_jsxFileName,lineNumber:283,columnNumber:11}},front?'Chụp CMND/ CCCD mặt trước':'Chụp CMND/ CCCD mặt sau'),_react.default.createElement(_reactNative.View,{style:styles.photoFrame,onLayout:function onLayout(e){frameSize.current=e.nativeEvent.layout;},onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},onResponderRelease:function onResponderRelease(e){return focusAt(e.nativeEvent.locationX,e.nativeEvent.locationY);},__self:this,__source:{fileName:_jsxFileName,lineNumber:289,columnNumber:11}},device?_react.default.createElement(_reactNativeVisionCamera.Camera,{ref:myCamera,style:_reactNative.StyleSheet.absoluteFill,device:device,isActive:isFocused,photo:true,__self:this,__source:{fileName:_jsxFileName,lineNumber:300,columnNumber:15}}):null,_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerTL],__self:this,__source:{fileName:_jsxFileName,lineNumber:308,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerTR],__self:this,__source:{fileName:_jsxFileName,lineNumber:309,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerBL],__self:this,__source:{fileName:_jsxFileName,lineNumber:310,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerBR],__self:this,__source:{fileName:_jsxFileName,lineNumber:311,columnNumber:13}}),focusPoint&&_react.default.createElement(_reactNative.View,{pointerEvents:"none",style:[styles.focusRing,{left:focusPoint.x-32,top:focusPoint.y-32}],__self:this,__source:{fileName:_jsxFileName,lineNumber:313,columnNumber:15}})),_react.default.createElement(_reactNative.TouchableOpacity,{style:styles.galleryButton,onPress:pickImageFromGallery,disabled:taking,__self:this,__source:{fileName:_jsxFileName,lineNumber:323,columnNumber:11}},_react.default.createElement(_svgs.IconUpload,{__self:this,__source:{fileName:_jsxFileName,lineNumber:328,columnNumber:13}}),_react.default.createElement(_MText.MText,{style:styles.galleryText,__self:this,__source:{fileName:_jsxFileName,lineNumber:329,columnNumber:13}},"T\u1EA3i \u1EA3nh t\u1EEB th\u01B0 vi\u1EC7n")),_react.default.createElement(_reactNative.View,{style:styles.spacer,__self:this,__source:{fileName:_jsxFileName,lineNumber:332,columnNumber:11}}),_react.default.createElement(_MText.MText,{style:[styles.hint,{marginTop:0,marginBottom:20}],__self:this,__source:{fileName:_jsxFileName,lineNumber:333,columnNumber:11}},"\u0110\u01B0a gi\u1EA5y t\u1EDD l\u1EA1i g\u1EA7n cho v\u1EEBa khung, ch\u1EA1m v\xE0o m\xE0n h\xECnh",'\n',"\u0111\u1EC3 l\u1EA5y n\xE9t n\u1EBFu \u1EA3nh b\u1ECB m\u1EDD."),_react.default.createElement(_reactNative.TouchableOpacity,{style:[styles.captureButton,{marginBottom:insets.bottom+24}],onPress:takePhoto,disabled:taking,__self:this,__source:{fileName:_jsxFileName,lineNumber:337,columnNumber:11}},_react.default.createElement(_icons.TakePhotoSvg,{__self:this,__source:{fileName:_jsxFileName,lineNumber:342,columnNumber:13}}))):null,_react.default.createElement(_AppModal.default,{isVisible:showModal,style:$modal,backdropTransitionInTiming:0,animationOutTiming:200,animationInTiming:200,animationIn:'slideInUp',animationOut:'fadeOutDown',useNativeDriverForBackdrop:true,useNativeDriver:true,__self:this,__source:{fileName:_jsxFileName,lineNumber:347,columnNumber:7}},_react.default.createElement(_reactNativeLinearGradient.default,{colors:['#FF8E4F','#EF592E'],style:$container,__self:this,__source:{fileName:_jsxFileName,lineNumber:358,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:$paddingV,__self:this,__source:{fileName:_jsxFileName,lineNumber:359,columnNumber:11}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){setShowModal(false);setTimeout(function(){navigation.goBack();},100);},style:{width:24,height:24,position:'absolute',left:16,top:24,alignItems:'center',zIndex:10000},__self:this,__source:{fileName:_jsxFileName,lineNumber:360,columnNumber:13}},_react.default.createElement(_icons.CloseIcon,{__self:this,__source:{fileName:_jsxFileName,lineNumber:377,columnNumber:15}})),_react.default.createElement(_MText.MText,{style:$title,__self:this,__source:{fileName:_jsxFileName,lineNumber:379,columnNumber:13}},"NH\u1EACN DI\u1EC6N GI\u1EA4Y T\u1EDC T\xD9Y TH\xC2N"),_react.default.createElement(_MText.MText,{style:$description,__self:this,__source:{fileName:_jsxFileName,lineNumber:380,columnNumber:13}},"Ch\u1EE5p \u1EA3nh 2 m\u1EB7t CCCD/ CMND"),_react.default.createElement(_reactNative.Image,{source:require('../../assets/tts/vehicleStep.png'),style:$step,__self:this,__source:{fileName:_jsxFileName,lineNumber:382,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:$bg,__self:this,__source:{fileName:_jsxFileName,lineNumber:387,columnNumber:13}},_react.default.createElement(_reactNative.View,{style:{marginTop:16,paddingHorizontal:24},__self:this,__source:{fileName:_jsxFileName,lineNumber:388,columnNumber:15}},_react.default.createElement(_MText.MText,{style:[$title2,{textAlign:'left'}],__self:this,__source:{fileName:_jsxFileName,lineNumber:389,columnNumber:17}},"L\u01B0u \xFD ch\u1EE5p CCCD/ CMND"),_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:392,columnNumber:17}},_react.default.createElement(_icons.TimaSmall,{__self:this,__source:{fileName:_jsxFileName,lineNumber:393,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:$txt,__self:this,__source:{fileName:_jsxFileName,lineNumber:394,columnNumber:19}},"N\xEAn \u0111\u1EB7t CCCD/ CMND l\xEAn m\u1EB7t ph\u1EB3ng \u0111\u1EC3 ch\u1EE5p")),_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:398,columnNumber:17}},_react.default.createElement(_icons.TimaSmall,{__self:this,__source:{fileName:_jsxFileName,lineNumber:399,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:$txt,__self:this,__source:{fileName:_jsxFileName,lineNumber:400,columnNumber:19}},"\u0110\u1EB7t CCCD/ CMND n\u1EB1m g\u1ECDn trong khung h\xECnh (Kh\xF4ng ",'\n'," qu\xE1 nh\u1ECF hay qu\xE1 to l\xE0m m\u1EA5t chi ti\u1EBFt)")),_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:405,columnNumber:17}},_react.default.createElement(_icons.TimaSmall,{__self:this,__source:{fileName:_jsxFileName,lineNumber:406,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:$txt,__self:this,__source:{fileName:_jsxFileName,lineNumber:407,columnNumber:19}},"Ch\u1ECDn n\u01A1i \xE1nh s\xE1ng t\u1ED1t, tr\xE1nh l\xF3a/ ch\xF3i h\xECnh ch\u1EE5p")),_react.default.createElement(_reactNative.Image,{source:require('../../assets/tts/Frame1000011947.png'),style:{width:'100%',height:80,resizeMode:'contain',marginTop:10},__self:this,__source:{fileName:_jsxFileName,lineNumber:411,columnNumber:17}})),_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){setShowModal(false);(0,_storage.save)(_storage.OCR_V1,true);},style:{margin:16,height:40,alignItems:'center',justifyContent:'center',borderRadius:40,borderWidth:1,borderColor:'#EF592E'},__self:this,__source:{fileName:_jsxFileName,lineNumber:422,columnNumber:15}},_react.default.createElement(_MText.MText,{style:{color:'#EF592E',fontSize:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:437,columnNumber:17}},"Ch\u1EE5p 2 m\u1EB7t")),_react.default.createElement(_reactNative.View,{style:{height:24},__self:this,__source:{fileName:_jsxFileName,lineNumber:441,columnNumber:15}}))))));});var styles=_reactNative.StyleSheet.create({container:{flex:1,backgroundColor:'#FFFFFF'},header:{flexDirection:'row',alignItems:'center',paddingHorizontal:16,paddingTop:8},titleWrap:{flex:1,alignItems:'center',justifyContent:'center',marginRight:24},headerTitle:{color:'#333333',fontSize:16,fontWeight:'600'},instruction:{textAlign:'center',color:'#333333',fontSize:14,lineHeight:20,marginTop:20,marginBottom:28},photoFrame:{marginHorizontal:24,aspectRatio:CARD_ASPECT_RATIO,borderRadius:8,overflow:'hidden',backgroundColor:'#000000'},corner:{position:'absolute',width:26,height:26,borderColor:ORANGE},focusRing:{position:'absolute',width:64,height:64,borderRadius:8,borderWidth:1.5,borderColor:'#FFD54A'},cornerTL:{top:0,left:0,borderTopWidth:4,borderLeftWidth:4,borderTopLeftRadius:8},cornerTR:{top:0,right:0,borderTopWidth:4,borderRightWidth:4,borderTopRightRadius:8},cornerBL:{bottom:0,left:0,borderBottomWidth:4,borderLeftWidth:4,borderBottomLeftRadius:8},cornerBR:{bottom:0,right:0,borderBottomWidth:4,borderRightWidth:4,borderBottomRightRadius:8},galleryButton:{alignSelf:'center',flexDirection:'row',alignItems:'center',gap:8,marginTop:20,paddingHorizontal:14,paddingVertical:8,borderRadius:8,borderWidth:1,borderColor:ORANGE,backgroundColor:'#FFFFFF'},galleryText:{color:'#333333',fontSize:13},hint:{textAlign:'center',color:'#555555',fontSize:13,lineHeight:19,marginTop:48},spacer:{flex:1},captureButton:{alignSelf:'center'}});var $row={flexDirection:'row',alignItems:'center',marginTop:5};var $txt={fontSize:12,marginLeft:5};var $bg={backgroundColor:'white',borderTopRightRadius:26,borderTopLeftRadius:26};var $step={height:40,width:'100%',resizeMode:'contain',marginTop:10,marginBottom:10};var $paddingV={paddingTop:16};var $title={fontSize:16,color:'white',fontWeight:'bold',textAlign:'center'};var $title2={fontSize:16,color:'#333333',fontWeight:'bold',textAlign:'center'};var $description={fontSize:12,color:'white',textAlign:'center'};var $modal={justifyContent:'flex-end',margin:0};var $container={borderTopRightRadius:26,borderTopLeftRadius:26};
|
|
2
2
|
//# sourceMappingURL=OCR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_reactNative","_MText","_storage","_reactNativePermissions","_reactNativeVisionCamera","_AppModal","_interopRequireDefault","_reactNativeLinearGradient","_icons","_native","_navigation","_svgs","_reactNativeImageCropPicker","_reactNativeImagePicker","_reactNativeSafeAreaContext","_AlertGlobal","_cameraCrop","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t4","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ORANGE","CARD_ASPECT_RATIO","OCR","exports","observer","props","_props$route","_props$route$params","insets","useSafeAreaInsets","isFocused","useIsFocused","navigation","useNavigation","_useState","useState","_useState2","_slicedToArray2","showModal","setShowModal","_useState3","_useState4","taking","setTaking","_useState5","_useState6","passPermission","setPassPermission","_useState7","_useState8","shouldRenderCamera","setShouldRenderCamera","_useState9","_useState0","focusPoint","setFocusPoint","myCamera","useRef","frameSize","width","height","focusTimer","devices","useCameraDevices","device","useMemo","pickClosestFocusDevice","front","route","params","focusAt","useCallback","_callee","x","y","cam","_t","_regenerator","async","_context","prev","next","current","supportsFocus","abrupt","clearTimeout","setTimeout","awrap","focus","stop","Promise","requestPermissions","request","Platform","OS","PERMISSIONS","IOS","CAMERA","ANDROID","then","result","RESULTS","UNAVAILABLE","console","log","AlertGlobal","show","type","title","message","primaryText","DENIED","onPrimaryPress","openSettings","LIMITED","GRANTED","BLOCKED","useEffect","timeout","loadIntro","_callee2","intro","_context2","load","OCR_V1","sent","goNextWithUri","uri","_props$route2","_props$route2$params","_props$route4","_props$route4$params","callback","_props$route3","_props$route3$params","push","ScreenNames","TTSNationalIDFront","loan","_props$route5","_props$route5$params","TTSNationalIDBack","_props$route6","_props$route6$params","goBack","takePhoto","_callee3","_frameSize$current","fw","fh","data","_t2","_t3","_context3","qualityPrioritization","cropPhotoToAspect","error","pickImageFromGallery","_callee4","_result$assets$","_context4","launchImageLibrary","mediaType","assets","ImagePicker","openPicker","image","path","createElement","View","style","styles","container","__self","__source","fileName","lineNumber","columnNumber","Fragment","header","paddingTop","top","TouchableOpacity","onPress","navigate","Main","hitSlop","bottom","left","right","IconBack","titleWrap","MText","headerTitle","instruction","photoFrame","onLayout","nativeEvent","layout","onStartShouldSetResponder","onResponderRelease","locationX","locationY","Camera","ref","StyleSheet","absoluteFill","isActive","photo","corner","cornerTL","cornerTR","cornerBL","cornerBR","pointerEvents","focusRing","galleryButton","IconUpload","galleryText","spacer","hint","marginTop","marginBottom","captureButton","disabled","TakePhotoSvg","isVisible","$modal","backdropTransitionInTiming","animationOutTiming","animationInTiming","animationIn","animationOut","useNativeDriverForBackdrop","useNativeDriver","colors","$container","$paddingV","position","alignItems","zIndex","CloseIcon","$title","$description","Image","source","$step","$bg","paddingHorizontal","$title2","textAlign","$row","TimaSmall","$txt","resizeMode","save","margin","justifyContent","borderRadius","borderWidth","borderColor","color","fontSize","create","flex","backgroundColor","flexDirection","marginRight","fontWeight","lineHeight","marginHorizontal","aspectRatio","overflow","borderTopWidth","borderLeftWidth","borderTopLeftRadius","borderRightWidth","borderTopRightRadius","borderBottomWidth","borderBottomLeftRadius","borderBottomRightRadius","alignSelf","gap","paddingVertical","marginLeft"],"sourceRoot":"../../../../src","sources":["screens/toan-trinh-so/OCR.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_mobxReactLite","_reactNative","_MText","_storage","_reactNativePermissions","_reactNativeVisionCamera","_AppModal","_interopRequireDefault","_reactNativeLinearGradient","_icons","_native","_navigation","_svgs","_reactNativeImageCropPicker","_reactNativeImagePicker","_reactNativeSafeAreaContext","_AlertGlobal","_cameraCrop","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t4","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ORANGE","CARD_ASPECT_RATIO","OCR","exports","observer","props","_props$route","_props$route$params","insets","useSafeAreaInsets","isFocused","useIsFocused","navigation","useNavigation","_useState","useState","_useState2","_slicedToArray2","showModal","setShowModal","_useState3","_useState4","taking","setTaking","_useState5","_useState6","passPermission","setPassPermission","_useState7","_useState8","shouldRenderCamera","setShouldRenderCamera","_useState9","_useState0","focusPoint","setFocusPoint","myCamera","useRef","frameSize","width","height","focusTimer","takingRef","devices","useCameraDevices","device","useMemo","pickClosestFocusDevice","front","route","params","focusAt","useCallback","_callee","x","y","cam","_t","_regenerator","async","_context","prev","next","current","supportsFocus","abrupt","clearTimeout","setTimeout","awrap","focus","stop","Promise","requestPermissions","request","Platform","OS","PERMISSIONS","IOS","CAMERA","ANDROID","then","result","RESULTS","UNAVAILABLE","console","log","AlertGlobal","show","type","title","message","primaryText","DENIED","onPrimaryPress","openSettings","LIMITED","GRANTED","BLOCKED","useEffect","timeout","loadIntro","_callee2","intro","_context2","load","OCR_V1","sent","goNextWithUri","uri","_props$route2","_props$route2$params","_props$route4","_props$route4$params","callback","_props$route3","_props$route3$params","push","ScreenNames","TTSNationalIDFront","loan","_props$route5","_props$route5$params","TTSNationalIDBack","_props$route6","_props$route6$params","goBack","takePhoto","_callee3","_frameSize$current","fw","fh","data","_t2","_t3","_context3","qualityPrioritization","cropPhotoToAspect","error","pickImageFromGallery","_callee4","_result$assets$","_context4","launchImageLibrary","mediaType","assets","ImagePicker","openPicker","image","path","createElement","View","style","styles","container","__self","__source","fileName","lineNumber","columnNumber","Fragment","header","paddingTop","top","TouchableOpacity","onPress","navigate","Main","hitSlop","bottom","left","right","IconBack","titleWrap","MText","headerTitle","instruction","photoFrame","onLayout","nativeEvent","layout","onStartShouldSetResponder","onResponderRelease","locationX","locationY","Camera","ref","StyleSheet","absoluteFill","isActive","photo","corner","cornerTL","cornerTR","cornerBL","cornerBR","pointerEvents","focusRing","galleryButton","disabled","IconUpload","galleryText","spacer","hint","marginTop","marginBottom","captureButton","TakePhotoSvg","isVisible","$modal","backdropTransitionInTiming","animationOutTiming","animationInTiming","animationIn","animationOut","useNativeDriverForBackdrop","useNativeDriver","colors","$container","$paddingV","position","alignItems","zIndex","CloseIcon","$title","$description","Image","source","$step","$bg","paddingHorizontal","$title2","textAlign","$row","TimaSmall","$txt","resizeMode","save","margin","justifyContent","borderRadius","borderWidth","borderColor","color","fontSize","create","flex","backgroundColor","flexDirection","marginRight","fontWeight","lineHeight","marginHorizontal","aspectRatio","overflow","borderTopWidth","borderLeftWidth","borderTopLeftRadius","borderRightWidth","borderTopRightRadius","borderBottomWidth","borderBottomLeftRadius","borderBottomRightRadius","alignSelf","gap","paddingVertical","marginLeft"],"sourceRoot":"../../../../src","sources":["screens/toan-trinh-so/OCR.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=VehicleCamera;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 _native=require("@react-navigation/native");var _AppModal=_interopRequireDefault(require("../../components/AppModal"));var _MText=require("../../components/MText");var _reactNativeLinearGradient=_interopRequireDefault(require("react-native-linear-gradient"));var _icons=require("../../assets/icons");var _MButton=_interopRequireDefault(require("../../components/MButton"));var _reactNativePermissions=require("react-native-permissions");var _reactNativeVisionCamera=require("react-native-vision-camera");var _navigation=require("../../navigation");var _storage=require("../../utils/storage");var _reactNativeImageCropPicker=_interopRequireDefault(require("react-native-image-crop-picker"));var _reactNativeImagePicker=require("react-native-image-picker");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _AlertGlobal=require("../../components/ModalNotification/AlertGlobal");var _cameraCrop=require("../../utils/cameraCrop");var _jsxFileName="/Users/tima/Tima/react-native-timacare/src/screens/toan-trinh-so/VehicleCamera.tsx";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t4 in e)"default"!==_t4&&{}.hasOwnProperty.call(e,_t4)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t4))&&(i.get||i.set)?o(f,_t4,i):f[_t4]=e[_t4]);return f;})(e,t);}var ORANGE='#F05123';var CARD_ASPECT_RATIO=85.6/54;function VehicleCamera(props){var _props$route,_props$route$params;var insets=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)();var isFocused=(0,_native.useIsFocused)();var _useState=(0,_react.useState)(0),_useState2=(0,_slicedToArray2.default)(_useState,2),cameraKey=_useState2[0],setCameraKey=_useState2[1];(0,_react.useEffect)(function(){if(isFocused){setCameraKey(function(prev){return prev+1;});}},[isFocused]);var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),shouldRenderCamera=_useState4[0],setShouldRenderCamera=_useState4[1];var navigation=(0,_native.useNavigation)();var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),showModal=_useState6[0],setShowModal=_useState6[1];var _useState7=(0,_react.useState)(props!=null&&(_props$route=props.route)!=null&&(_props$route$params=_props$route.params)!=null&&_props$route$params.front?'Chụp đăng ký xe mặt trước':'Chụp đăng ký xe mặt sau'),_useState8=(0,_slicedToArray2.default)(_useState7,1),title=_useState8[0];var _useState9=(0,_react.useState)(false),_useState0=(0,_slicedToArray2.default)(_useState9,2),taking=_useState0[0],setTaking=_useState0[1];var _useState1=(0,_react.useState)(false),_useState10=(0,_slicedToArray2.default)(_useState1,2),passPermission=_useState10[0],setPassPermission=_useState10[1];var _useState11=(0,_react.useState)(null),_useState12=(0,_slicedToArray2.default)(_useState11,2),focusPoint=_useState12[0],setFocusPoint=_useState12[1];var myCamera=(0,_react.useRef)(null);var frameSize=(0,_react.useRef)({width:0,height:0});var focusTimer=(0,_react.useRef)(null);var devices=(0,_reactNativeVisionCamera.useCameraDevices)();var device=(0,_react.useMemo)(function(){return(0,_cameraCrop.pickClosestFocusDevice)(devices,'back');},[devices]);var focusAt=(0,_react.useCallback)(function _callee(x,y){var cam,_t;return _regenerator.default.async(function(_context){while(1)switch(_context.prev=_context.next){case 0:cam=myCamera.current;if(!(cam==null||!(device!=null&&device.supportsFocus))){_context.next=1;break;}return _context.abrupt("return");case 1:setFocusPoint({x:x,y:y});if(focusTimer.current)clearTimeout(focusTimer.current);focusTimer.current=setTimeout(function(){return setFocusPoint(null);},800);_context.prev=2;_context.next=3;return _regenerator.default.awrap(cam.focus({x:x,y:y}));case 3:_context.next=5;break;case 4:_context.prev=4;_t=_context["catch"](2);case 5:case"end":return _context.stop();}},null,null,[[2,4]],Promise);},[device]);var goNextWithUri=function goNextWithUri(uri){var _props$route2,_props$route2$params,_props$route4,_props$route4$params;if(props!=null&&(_props$route2=props.route)!=null&&(_props$route2$params=_props$route2.params)!=null&&_props$route2$params.front){var _props$route3,_props$route3$params;navigation.push(_navigation.ScreenNames.VehicleRegistrationFront,{uri:uri,loan:props==null?void 0:(_props$route3=props.route)==null?void 0:(_props$route3$params=_props$route3.params)==null?void 0:_props$route3$params.loan});}else if((_props$route4=props.route)!=null&&(_props$route4$params=_props$route4.params)!=null&&_props$route4$params.callback){var _props$route5,_props$route5$params;navigation.goBack();(_props$route5=props.route)==null?void 0:(_props$route5$params=_props$route5.params)==null?void 0:_props$route5$params.callback(uri);}else{var _props$route6,_props$route6$params;navigation.push(_navigation.ScreenNames.VehicleRegistrationBack,{uri:uri,loan:props==null?void 0:(_props$route6=props.route)==null?void 0:(_props$route6$params=_props$route6.params)==null?void 0:_props$route6$params.loan});}};var takePhoto=function _callee2(){var _frameSize$current,fw,fh,data,uri,_t2,_t3;return _regenerator.default.async(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!(myCamera.current==null||taking)){_context2.next=1;break;}return _context2.abrupt("return");case 1:setTaking(true);_context2.prev=2;_frameSize$current=frameSize.current,fw=_frameSize$current.width,fh=_frameSize$current.height;if(!(device!=null&&device.supportsFocus&&fw&&fh)){_context2.next=6;break;}_context2.prev=3;_context2.next=4;return _regenerator.default.awrap(myCamera.current.focus({x:fw/2,y:fh/2}));case 4:_context2.next=6;break;case 5:_context2.prev=5;_t2=_context2["catch"](3);case 6:_context2.next=7;return _regenerator.default.awrap(myCamera.current.takePhoto({qualityPrioritization:'quality'}));case 7:data=_context2.sent;_context2.next=8;return _regenerator.default.awrap((0,_cameraCrop.cropPhotoToAspect)(data,CARD_ASPECT_RATIO));case 8:uri=_context2.sent;setTaking(false);goNextWithUri(uri);_context2.next=10;break;case 9:_context2.prev=9;_t3=_context2["catch"](2);console.error(_t3);setTaking(false);_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Không chụp được ảnh. Vui lòng thử lại.',primaryText:'Đồng ý'});case 10:case"end":return _context2.stop();}},null,null,[[2,9],[3,5]],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)');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'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ị!',primaryText:'Đồng ý'});break;case _reactNativePermissions.RESULTS.DENIED:console.log('The permission has not been requested / is denied but requestable');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',primaryText:'Đồng ý',onPrimaryPress:function onPrimaryPress(){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');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Quyền máy ảnh bị hạn chế. Vui lòng kiểm tra lại để tiếp tục!',primaryText:'Đồng ý',onPrimaryPress:function onPrimaryPress(){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');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',primaryText:'Đồng ý',onPrimaryPress:function onPrimaryPress(){if(_reactNative.Platform.OS==='ios'){(0,_reactNativePermissions.openSettings)();}else{(0,_reactNativePermissions.openSettings)();}}});break;}});};var loadIntro=function _callee3(){var intro;return _regenerator.default.async(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=1;return _regenerator.default.awrap((0,_storage.load)(_storage.OCR_V2));case 1:intro=_context3.sent;if(!intro){setShowModal(true);}else{setShowModal(false);}case 2:case"end":return _context3.stop();}},null,null,null,Promise);};(0,_react.useEffect)(function(){_requestPermissions();loadIntro();return function(){if(focusTimer.current)clearTimeout(focusTimer.current);};},[]);(0,_react.useEffect)(function(){var timeout;if(isFocused){timeout=setTimeout(function(){setShouldRenderCamera(true);},500);}else{setShouldRenderCamera(false);}return function(){return clearTimeout(timeout);};},[isFocused]);var pickImageFromGallery=function _callee4(){var result,_result$assets$;return _regenerator.default.async(function(_context4){while(1)switch(_context4.prev=_context4.next){case 0:if(!(_reactNative.Platform.OS==='android')){_context4.next=2;break;}_context4.next=1;return _regenerator.default.awrap((0,_reactNativeImagePicker.launchImageLibrary)({mediaType:'photo'}));case 1:result=_context4.sent;if(result.assets){goNextWithUri((_result$assets$=result.assets[0])==null?void 0:_result$assets$.uri);}_context4.next=3;break;case 2:_reactNativeImageCropPicker.default.openPicker({}).then(function(image){goNextWithUri(_reactNative.Platform.OS==='android'?image==null?void 0:image.path:'file://'+(image==null?void 0:image.path));});case 3:case"end":return _context4.stop();}},null,null,null,Promise);};return _react.default.createElement(_reactNative.View,{style:styles.container,__self:this,__source:{fileName:_jsxFileName,lineNumber:273,columnNumber:5}},passPermission&&shouldRenderCamera?_react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_reactNative.View,{style:[styles.header,{paddingTop:insets.top+16}],__self:this,__source:{fileName:_jsxFileName,lineNumber:276,columnNumber:11}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){return navigation.goBack();},hitSlop:{top:12,bottom:12,left:12,right:12},__self:this,__source:{fileName:_jsxFileName,lineNumber:277,columnNumber:13}},_react.default.createElement(_icons.IconBack,{__self:this,__source:{fileName:_jsxFileName,lineNumber:281,columnNumber:15}})),_react.default.createElement(_reactNative.View,{style:styles.titleWrap,__self:this,__source:{fileName:_jsxFileName,lineNumber:283,columnNumber:13}},_react.default.createElement(_MText.MText,{style:styles.headerTitle,__self:this,__source:{fileName:_jsxFileName,lineNumber:284,columnNumber:15}},"\u0110\u0102NG K\xDD XE"))),_react.default.createElement(_MText.MText,{style:styles.instruction,__self:this,__source:{fileName:_jsxFileName,lineNumber:288,columnNumber:11}},title),_react.default.createElement(_reactNative.View,{style:styles.photoFrame,onLayout:function onLayout(e){frameSize.current=e.nativeEvent.layout;},onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},onResponderRelease:function onResponderRelease(e){return focusAt(e.nativeEvent.locationX,e.nativeEvent.locationY);},__self:this,__source:{fileName:_jsxFileName,lineNumber:292,columnNumber:11}},device?_react.default.createElement(_reactNativeVisionCamera.Camera,{key:cameraKey,ref:myCamera,style:_reactNative.StyleSheet.absoluteFill,device:device,isActive:isFocused,photo:true,__self:this,__source:{fileName:_jsxFileName,lineNumber:303,columnNumber:15}}):null,_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerTL],__self:this,__source:{fileName:_jsxFileName,lineNumber:312,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerTR],__self:this,__source:{fileName:_jsxFileName,lineNumber:313,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerBL],__self:this,__source:{fileName:_jsxFileName,lineNumber:314,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerBR],__self:this,__source:{fileName:_jsxFileName,lineNumber:315,columnNumber:13}}),focusPoint&&_react.default.createElement(_reactNative.View,{pointerEvents:"none",style:[styles.focusRing,{left:focusPoint.x-32,top:focusPoint.y-32}],__self:this,__source:{fileName:_jsxFileName,lineNumber:317,columnNumber:15}})),_react.default.createElement(_reactNative.View,{style:styles.spacer,__self:this,__source:{fileName:_jsxFileName,lineNumber:327,columnNumber:11}}),_react.default.createElement(_MText.MText,{style:[styles.hint,{marginTop:0,marginBottom:20}],__self:this,__source:{fileName:_jsxFileName,lineNumber:328,columnNumber:11}},"\u0110\u01B0a gi\u1EA5y t\u1EDD l\u1EA1i g\u1EA7n cho v\u1EEBa khung, ch\u1EA1m v\xE0o m\xE0n h\xECnh",'\n',"\u0111\u1EC3 l\u1EA5y n\xE9t n\u1EBFu \u1EA3nh b\u1ECB m\u1EDD."),_react.default.createElement(_reactNative.TouchableOpacity,{style:[styles.captureButton,{marginBottom:insets.bottom+24}],onPress:takePhoto,disabled:taking,__self:this,__source:{fileName:_jsxFileName,lineNumber:332,columnNumber:11}},_react.default.createElement(_icons.TakePhotoSvg,{__self:this,__source:{fileName:_jsxFileName,lineNumber:337,columnNumber:13}}))):null,_react.default.createElement(_AppModal.default,{isVisible:showModal,style:$modal,backdropTransitionInTiming:0,animationOutTiming:200,animationInTiming:200,animationIn:'slideInUp',animationOut:'fadeOutDown',useNativeDriverForBackdrop:true,useNativeDriver:true,__self:this,__source:{fileName:_jsxFileName,lineNumber:342,columnNumber:7}},_react.default.createElement(_reactNativeLinearGradient.default,{colors:['#FF8E4F','#EF592E'],style:$container,__self:this,__source:{fileName:_jsxFileName,lineNumber:353,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:$paddingV,__self:this,__source:{fileName:_jsxFileName,lineNumber:354,columnNumber:11}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){setShowModal(false);setTimeout(function(){navigation.goBack();},100);},style:{width:24,height:24,position:'absolute',left:16,top:24,alignItems:'center',zIndex:10000},__self:this,__source:{fileName:_jsxFileName,lineNumber:355,columnNumber:13}},_react.default.createElement(_icons.CloseIcon,{__self:this,__source:{fileName:_jsxFileName,lineNumber:372,columnNumber:15}})),_react.default.createElement(_MText.MText,{style:$title,__self:this,__source:{fileName:_jsxFileName,lineNumber:374,columnNumber:13}},"\u0110\u0102NG K\xDD XE"),_react.default.createElement(_MText.MText,{style:$description,__self:this,__source:{fileName:_jsxFileName,lineNumber:375,columnNumber:13}},"Ch\u1EE5p \u1EA3nh 2 m\u1EB7t \u0111\u0103ng k\xFD xe"),_react.default.createElement(_reactNative.Image,{source:require('../../assets/tts/vehicleStep.png'),style:$step,__self:this,__source:{fileName:_jsxFileName,lineNumber:377,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:$bg,__self:this,__source:{fileName:_jsxFileName,lineNumber:382,columnNumber:13}},_react.default.createElement(_reactNative.View,{style:{flexDirection:'column',alignItems:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:383,columnNumber:15}},_react.default.createElement(_reactNative.Image,{source:require('../../assets/tts/vehicleRegistration.png'),style:{width:'60%',height:120,resizeMode:'contain',marginVertical:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:389,columnNumber:17}}),_react.default.createElement(_MText.MText,{style:$title2,__self:this,__source:{fileName:_jsxFileName,lineNumber:398,columnNumber:17}},"B\u1EA1n vui l\xF2ng ch\u1EE5p \u1EA3nh",'\n',"\u0110\u0103ng k\xFD xe theo h\u01B0\u1EDBng d\u1EABn:")),_react.default.createElement(_reactNative.View,{style:{marginTop:10,paddingHorizontal:24},__self:this,__source:{fileName:_jsxFileName,lineNumber:403,columnNumber:15}},_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:404,columnNumber:17}},_react.default.createElement(_icons.TimaSmall,{__self:this,__source:{fileName:_jsxFileName,lineNumber:405,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:$txt,__self:this,__source:{fileName:_jsxFileName,lineNumber:406,columnNumber:19}},"N\xEAn \u0111\u1EB7t \u0111\u0103ng k\xFD xe l\xEAn m\u1EB7t ph\u1EB3ng \u0111\u1EC3 ch\u1EE5p")),_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:410,columnNumber:17}},_react.default.createElement(_icons.TimaSmall,{__self:this,__source:{fileName:_jsxFileName,lineNumber:411,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:$txt,__self:this,__source:{fileName:_jsxFileName,lineNumber:412,columnNumber:19}},"\u0110\u1EB7t \u0110\u0103ng k\xFD xe n\u1EB1m g\u1ECDn trong khung h\xECnh (Kh\xF4ng ",'\n'," qu\xE1 nh\u1ECF hay qu\xE1 to l\xE0m m\u1EA5t chi ti\u1EBFt)")),_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:417,columnNumber:17}},_react.default.createElement(_icons.TimaSmall,{__self:this,__source:{fileName:_jsxFileName,lineNumber:418,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:$txt,__self:this,__source:{fileName:_jsxFileName,lineNumber:419,columnNumber:19}},"Ch\u1ECDn n\u01A1i \xE1nh s\xE1ng t\u1ED1t, tr\xE1nh l\xF3a/ ch\xF3i h\xECnh ch\u1EE5p")),_react.default.createElement(_reactNative.Image,{source:require('../../assets/tts/1000009872.png'),style:{width:'100%',height:100,resizeMode:'contain',marginTop:10},__self:this,__source:{fileName:_jsxFileName,lineNumber:423,columnNumber:17}})),_react.default.createElement(_MButton.default,{onPress:function onPress(){setShowModal(false);(0,_storage.save)(_storage.OCR_V2,true);},style:{margin:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:434,columnNumber:15}},_react.default.createElement(_reactNativeLinearGradient.default,{start:{x:1,y:0},end:{x:0,y:1},style:{height:40,marginVertical:16,borderRadius:30,alignItems:'center',justifyContent:'center'},colors:['#FF7A00','#EF4123'],__self:this,__source:{fileName:_jsxFileName,lineNumber:443,columnNumber:17}},_react.default.createElement(_MText.MText,{style:$title,__self:this,__source:{fileName:_jsxFileName,lineNumber:455,columnNumber:19}},"Ti\u1EBFp t\u1EE5c"))))))));}var styles=_reactNative.StyleSheet.create({container:{flex:1,backgroundColor:'#FFFFFF'},header:{flexDirection:'row',alignItems:'center',paddingHorizontal:16,paddingTop:8},titleWrap:{flex:1,alignItems:'center',justifyContent:'center',marginRight:24},headerTitle:{color:'#333333',fontSize:16,fontWeight:'600'},instruction:{textAlign:'center',color:'#333333',fontSize:14,lineHeight:20,marginTop:20,marginBottom:28},photoFrame:{marginHorizontal:24,aspectRatio:CARD_ASPECT_RATIO,borderRadius:8,overflow:'hidden',backgroundColor:'#000000'},corner:{position:'absolute',width:26,height:26,borderColor:ORANGE},focusRing:{position:'absolute',width:64,height:64,borderRadius:8,borderWidth:1.5,borderColor:'#FFD54A'},cornerTL:{top:0,left:0,borderTopWidth:4,borderLeftWidth:4,borderTopLeftRadius:8},cornerTR:{top:0,right:0,borderTopWidth:4,borderRightWidth:4,borderTopRightRadius:8},cornerBL:{bottom:0,left:0,borderBottomWidth:4,borderLeftWidth:4,borderBottomLeftRadius:8},cornerBR:{bottom:0,right:0,borderBottomWidth:4,borderRightWidth:4,borderBottomRightRadius:8},hint:{textAlign:'center',color:'#555555',fontSize:13,lineHeight:19,marginTop:48},spacer:{flex:1},captureButton:{alignSelf:'center'}});var $row={flexDirection:'row',alignItems:'center',marginTop:5};var $txt={fontSize:12,marginLeft:5};var $bg={backgroundColor:'white',borderTopRightRadius:26,borderTopLeftRadius:26};var $step={height:40,width:'100%',resizeMode:'contain',marginTop:10,marginBottom:10};var $paddingV={paddingTop:16};var $title={fontSize:16,color:'white',fontWeight:'bold',textAlign:'center'};var $title2={fontSize:16,color:'#333333',fontWeight:'bold',textAlign:'center'};var $description={fontSize:12,color:'white',textAlign:'center'};var $modal={justifyContent:'flex-end',margin:0};var $container={borderTopRightRadius:26,borderTopLeftRadius:26};
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=VehicleCamera;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 _native=require("@react-navigation/native");var _AppModal=_interopRequireDefault(require("../../components/AppModal"));var _MText=require("../../components/MText");var _reactNativeLinearGradient=_interopRequireDefault(require("react-native-linear-gradient"));var _icons=require("../../assets/icons");var _MButton=_interopRequireDefault(require("../../components/MButton"));var _reactNativePermissions=require("react-native-permissions");var _reactNativeVisionCamera=require("react-native-vision-camera");var _navigation=require("../../navigation");var _storage=require("../../utils/storage");var _reactNativeImageCropPicker=_interopRequireDefault(require("react-native-image-crop-picker"));var _reactNativeImagePicker=require("react-native-image-picker");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _AlertGlobal=require("../../components/ModalNotification/AlertGlobal");var _cameraCrop=require("../../utils/cameraCrop");var _jsxFileName="/Users/tima/Tima/react-native-timacare/src/screens/toan-trinh-so/VehicleCamera.tsx";function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t4 in e)"default"!==_t4&&{}.hasOwnProperty.call(e,_t4)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t4))&&(i.get||i.set)?o(f,_t4,i):f[_t4]=e[_t4]);return f;})(e,t);}var ORANGE='#F05123';var CARD_ASPECT_RATIO=85.6/54;function VehicleCamera(props){var _props$route,_props$route$params;var insets=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)();var isFocused=(0,_native.useIsFocused)();var _useState=(0,_react.useState)(0),_useState2=(0,_slicedToArray2.default)(_useState,2),cameraKey=_useState2[0],setCameraKey=_useState2[1];(0,_react.useEffect)(function(){if(isFocused){setCameraKey(function(prev){return prev+1;});}},[isFocused]);var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),shouldRenderCamera=_useState4[0],setShouldRenderCamera=_useState4[1];var navigation=(0,_native.useNavigation)();var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),showModal=_useState6[0],setShowModal=_useState6[1];var _useState7=(0,_react.useState)(props!=null&&(_props$route=props.route)!=null&&(_props$route$params=_props$route.params)!=null&&_props$route$params.front?'Chụp đăng ký xe mặt trước':'Chụp đăng ký xe mặt sau'),_useState8=(0,_slicedToArray2.default)(_useState7,1),title=_useState8[0];var _useState9=(0,_react.useState)(false),_useState0=(0,_slicedToArray2.default)(_useState9,2),taking=_useState0[0],setTaking=_useState0[1];var _useState1=(0,_react.useState)(false),_useState10=(0,_slicedToArray2.default)(_useState1,2),passPermission=_useState10[0],setPassPermission=_useState10[1];var _useState11=(0,_react.useState)(null),_useState12=(0,_slicedToArray2.default)(_useState11,2),focusPoint=_useState12[0],setFocusPoint=_useState12[1];var myCamera=(0,_react.useRef)(null);var frameSize=(0,_react.useRef)({width:0,height:0});var focusTimer=(0,_react.useRef)(null);var takingRef=(0,_react.useRef)(false);var devices=(0,_reactNativeVisionCamera.useCameraDevices)();var device=(0,_react.useMemo)(function(){return(0,_cameraCrop.pickClosestFocusDevice)(devices,'back');},[devices]);var focusAt=(0,_react.useCallback)(function _callee(x,y){var cam,_t;return _regenerator.default.async(function(_context){while(1)switch(_context.prev=_context.next){case 0:cam=myCamera.current;if(!(cam==null||!(device!=null&&device.supportsFocus))){_context.next=1;break;}return _context.abrupt("return");case 1:setFocusPoint({x:x,y:y});if(focusTimer.current)clearTimeout(focusTimer.current);focusTimer.current=setTimeout(function(){return setFocusPoint(null);},800);_context.prev=2;_context.next=3;return _regenerator.default.awrap(cam.focus({x:x,y:y}));case 3:_context.next=5;break;case 4:_context.prev=4;_t=_context["catch"](2);case 5:case"end":return _context.stop();}},null,null,[[2,4]],Promise);},[device]);var goNextWithUri=function goNextWithUri(uri){var _props$route2,_props$route2$params,_props$route4,_props$route4$params;if(props!=null&&(_props$route2=props.route)!=null&&(_props$route2$params=_props$route2.params)!=null&&_props$route2$params.front){var _props$route3,_props$route3$params;navigation.push(_navigation.ScreenNames.VehicleRegistrationFront,{uri:uri,loan:props==null?void 0:(_props$route3=props.route)==null?void 0:(_props$route3$params=_props$route3.params)==null?void 0:_props$route3$params.loan});}else if((_props$route4=props.route)!=null&&(_props$route4$params=_props$route4.params)!=null&&_props$route4$params.callback){var _props$route5,_props$route5$params;navigation.goBack();(_props$route5=props.route)==null?void 0:(_props$route5$params=_props$route5.params)==null?void 0:_props$route5$params.callback(uri);}else{var _props$route6,_props$route6$params;navigation.push(_navigation.ScreenNames.VehicleRegistrationBack,{uri:uri,loan:props==null?void 0:(_props$route6=props.route)==null?void 0:(_props$route6$params=_props$route6.params)==null?void 0:_props$route6$params.loan});}};var takePhoto=function _callee2(){var _frameSize$current,fw,fh,data,uri,_t2,_t3;return _regenerator.default.async(function(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(!(myCamera.current==null||takingRef.current)){_context2.next=1;break;}return _context2.abrupt("return");case 1:takingRef.current=true;setTaking(true);_context2.prev=2;_frameSize$current=frameSize.current,fw=_frameSize$current.width,fh=_frameSize$current.height;if(!(device!=null&&device.supportsFocus&&fw&&fh)){_context2.next=6;break;}_context2.prev=3;_context2.next=4;return _regenerator.default.awrap(myCamera.current.focus({x:fw/2,y:fh/2}));case 4:_context2.next=6;break;case 5:_context2.prev=5;_t2=_context2["catch"](3);case 6:_context2.next=7;return _regenerator.default.awrap(myCamera.current.takePhoto({qualityPrioritization:'quality'}));case 7:data=_context2.sent;_context2.next=8;return _regenerator.default.awrap((0,_cameraCrop.cropPhotoToAspect)(data,CARD_ASPECT_RATIO));case 8:uri=_context2.sent;takingRef.current=false;setTaking(false);goNextWithUri(uri);_context2.next=10;break;case 9:_context2.prev=9;_t3=_context2["catch"](2);console.error(_t3);takingRef.current=false;setTaking(false);_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Không chụp được ảnh. Vui lòng thử lại.',primaryText:'Đồng ý'});case 10:case"end":return _context2.stop();}},null,null,[[2,9],[3,5]],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)');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'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ị!',primaryText:'Đồng ý'});break;case _reactNativePermissions.RESULTS.DENIED:console.log('The permission has not been requested / is denied but requestable');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',primaryText:'Đồng ý',onPrimaryPress:function onPrimaryPress(){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');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Quyền máy ảnh bị hạn chế. Vui lòng kiểm tra lại để tiếp tục!',primaryText:'Đồng ý',onPrimaryPress:function onPrimaryPress(){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');_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',primaryText:'Đồng ý',onPrimaryPress:function onPrimaryPress(){if(_reactNative.Platform.OS==='ios'){(0,_reactNativePermissions.openSettings)();}else{(0,_reactNativePermissions.openSettings)();}}});break;}});};var loadIntro=function _callee3(){var intro;return _regenerator.default.async(function(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=1;return _regenerator.default.awrap((0,_storage.load)(_storage.OCR_V2));case 1:intro=_context3.sent;if(!intro){setShowModal(true);}else{setShowModal(false);}case 2:case"end":return _context3.stop();}},null,null,null,Promise);};(0,_react.useEffect)(function(){_requestPermissions();loadIntro();return function(){if(focusTimer.current)clearTimeout(focusTimer.current);};},[]);(0,_react.useEffect)(function(){var timeout;if(isFocused){timeout=setTimeout(function(){setShouldRenderCamera(true);},500);}else{setShouldRenderCamera(false);}return function(){return clearTimeout(timeout);};},[isFocused]);var pickImageFromGallery=function _callee4(){var result,_result$assets$;return _regenerator.default.async(function(_context4){while(1)switch(_context4.prev=_context4.next){case 0:if(!(_reactNative.Platform.OS==='android')){_context4.next=2;break;}_context4.next=1;return _regenerator.default.awrap((0,_reactNativeImagePicker.launchImageLibrary)({mediaType:'photo'}));case 1:result=_context4.sent;if(result.assets){goNextWithUri((_result$assets$=result.assets[0])==null?void 0:_result$assets$.uri);}_context4.next=3;break;case 2:_reactNativeImageCropPicker.default.openPicker({}).then(function(image){goNextWithUri(_reactNative.Platform.OS==='android'?image==null?void 0:image.path:'file://'+(image==null?void 0:image.path));});case 3:case"end":return _context4.stop();}},null,null,null,Promise);};return _react.default.createElement(_reactNative.View,{style:styles.container,__self:this,__source:{fileName:_jsxFileName,lineNumber:279,columnNumber:5}},passPermission&&shouldRenderCamera?_react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_reactNative.View,{style:[styles.header,{paddingTop:insets.top+16}],__self:this,__source:{fileName:_jsxFileName,lineNumber:282,columnNumber:11}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){return navigation.goBack();},hitSlop:{top:12,bottom:12,left:12,right:12},__self:this,__source:{fileName:_jsxFileName,lineNumber:283,columnNumber:13}},_react.default.createElement(_icons.IconBack,{__self:this,__source:{fileName:_jsxFileName,lineNumber:287,columnNumber:15}})),_react.default.createElement(_reactNative.View,{style:styles.titleWrap,__self:this,__source:{fileName:_jsxFileName,lineNumber:289,columnNumber:13}},_react.default.createElement(_MText.MText,{style:styles.headerTitle,__self:this,__source:{fileName:_jsxFileName,lineNumber:290,columnNumber:15}},"\u0110\u0102NG K\xDD XE"))),_react.default.createElement(_MText.MText,{style:styles.instruction,__self:this,__source:{fileName:_jsxFileName,lineNumber:294,columnNumber:11}},title),_react.default.createElement(_reactNative.View,{style:styles.photoFrame,onLayout:function onLayout(e){frameSize.current=e.nativeEvent.layout;},onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},onResponderRelease:function onResponderRelease(e){return focusAt(e.nativeEvent.locationX,e.nativeEvent.locationY);},__self:this,__source:{fileName:_jsxFileName,lineNumber:298,columnNumber:11}},device?_react.default.createElement(_reactNativeVisionCamera.Camera,{key:cameraKey,ref:myCamera,style:_reactNative.StyleSheet.absoluteFill,device:device,isActive:isFocused,photo:true,__self:this,__source:{fileName:_jsxFileName,lineNumber:309,columnNumber:15}}):null,_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerTL],__self:this,__source:{fileName:_jsxFileName,lineNumber:318,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerTR],__self:this,__source:{fileName:_jsxFileName,lineNumber:319,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerBL],__self:this,__source:{fileName:_jsxFileName,lineNumber:320,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:[styles.corner,styles.cornerBR],__self:this,__source:{fileName:_jsxFileName,lineNumber:321,columnNumber:13}}),focusPoint&&_react.default.createElement(_reactNative.View,{pointerEvents:"none",style:[styles.focusRing,{left:focusPoint.x-32,top:focusPoint.y-32}],__self:this,__source:{fileName:_jsxFileName,lineNumber:323,columnNumber:15}})),_react.default.createElement(_reactNative.View,{style:styles.spacer,__self:this,__source:{fileName:_jsxFileName,lineNumber:333,columnNumber:11}}),_react.default.createElement(_MText.MText,{style:[styles.hint,{marginTop:0,marginBottom:20}],__self:this,__source:{fileName:_jsxFileName,lineNumber:334,columnNumber:11}},"\u0110\u01B0a gi\u1EA5y t\u1EDD l\u1EA1i g\u1EA7n cho v\u1EEBa khung, ch\u1EA1m v\xE0o m\xE0n h\xECnh",'\n',"\u0111\u1EC3 l\u1EA5y n\xE9t n\u1EBFu \u1EA3nh b\u1ECB m\u1EDD."),_react.default.createElement(_reactNative.TouchableOpacity,{style:[styles.captureButton,{marginBottom:insets.bottom+24}],onPress:takePhoto,disabled:taking,__self:this,__source:{fileName:_jsxFileName,lineNumber:338,columnNumber:11}},_react.default.createElement(_icons.TakePhotoSvg,{__self:this,__source:{fileName:_jsxFileName,lineNumber:343,columnNumber:13}}))):null,_react.default.createElement(_AppModal.default,{isVisible:showModal,style:$modal,backdropTransitionInTiming:0,animationOutTiming:200,animationInTiming:200,animationIn:'slideInUp',animationOut:'fadeOutDown',useNativeDriverForBackdrop:true,useNativeDriver:true,__self:this,__source:{fileName:_jsxFileName,lineNumber:348,columnNumber:7}},_react.default.createElement(_reactNativeLinearGradient.default,{colors:['#FF8E4F','#EF592E'],style:$container,__self:this,__source:{fileName:_jsxFileName,lineNumber:359,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:$paddingV,__self:this,__source:{fileName:_jsxFileName,lineNumber:360,columnNumber:11}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){setShowModal(false);setTimeout(function(){navigation.goBack();},100);},style:{width:24,height:24,position:'absolute',left:16,top:24,alignItems:'center',zIndex:10000},__self:this,__source:{fileName:_jsxFileName,lineNumber:361,columnNumber:13}},_react.default.createElement(_icons.CloseIcon,{__self:this,__source:{fileName:_jsxFileName,lineNumber:378,columnNumber:15}})),_react.default.createElement(_MText.MText,{style:$title,__self:this,__source:{fileName:_jsxFileName,lineNumber:380,columnNumber:13}},"\u0110\u0102NG K\xDD XE"),_react.default.createElement(_MText.MText,{style:$description,__self:this,__source:{fileName:_jsxFileName,lineNumber:381,columnNumber:13}},"Ch\u1EE5p \u1EA3nh 2 m\u1EB7t \u0111\u0103ng k\xFD xe"),_react.default.createElement(_reactNative.Image,{source:require('../../assets/tts/vehicleStep.png'),style:$step,__self:this,__source:{fileName:_jsxFileName,lineNumber:383,columnNumber:13}}),_react.default.createElement(_reactNative.View,{style:$bg,__self:this,__source:{fileName:_jsxFileName,lineNumber:388,columnNumber:13}},_react.default.createElement(_reactNative.View,{style:{flexDirection:'column',alignItems:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:389,columnNumber:15}},_react.default.createElement(_reactNative.Image,{source:require('../../assets/tts/vehicleRegistration.png'),style:{width:'60%',height:120,resizeMode:'contain',marginVertical:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:395,columnNumber:17}}),_react.default.createElement(_MText.MText,{style:$title2,__self:this,__source:{fileName:_jsxFileName,lineNumber:404,columnNumber:17}},"B\u1EA1n vui l\xF2ng ch\u1EE5p \u1EA3nh",'\n',"\u0110\u0103ng k\xFD xe theo h\u01B0\u1EDBng d\u1EABn:")),_react.default.createElement(_reactNative.View,{style:{marginTop:10,paddingHorizontal:24},__self:this,__source:{fileName:_jsxFileName,lineNumber:409,columnNumber:15}},_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:410,columnNumber:17}},_react.default.createElement(_icons.TimaSmall,{__self:this,__source:{fileName:_jsxFileName,lineNumber:411,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:$txt,__self:this,__source:{fileName:_jsxFileName,lineNumber:412,columnNumber:19}},"N\xEAn \u0111\u1EB7t \u0111\u0103ng k\xFD xe l\xEAn m\u1EB7t ph\u1EB3ng \u0111\u1EC3 ch\u1EE5p")),_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:416,columnNumber:17}},_react.default.createElement(_icons.TimaSmall,{__self:this,__source:{fileName:_jsxFileName,lineNumber:417,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:$txt,__self:this,__source:{fileName:_jsxFileName,lineNumber:418,columnNumber:19}},"\u0110\u1EB7t \u0110\u0103ng k\xFD xe n\u1EB1m g\u1ECDn trong khung h\xECnh (Kh\xF4ng ",'\n'," qu\xE1 nh\u1ECF hay qu\xE1 to l\xE0m m\u1EA5t chi ti\u1EBFt)")),_react.default.createElement(_reactNative.View,{style:$row,__self:this,__source:{fileName:_jsxFileName,lineNumber:423,columnNumber:17}},_react.default.createElement(_icons.TimaSmall,{__self:this,__source:{fileName:_jsxFileName,lineNumber:424,columnNumber:19}}),_react.default.createElement(_MText.MText,{style:$txt,__self:this,__source:{fileName:_jsxFileName,lineNumber:425,columnNumber:19}},"Ch\u1ECDn n\u01A1i \xE1nh s\xE1ng t\u1ED1t, tr\xE1nh l\xF3a/ ch\xF3i h\xECnh ch\u1EE5p")),_react.default.createElement(_reactNative.Image,{source:require('../../assets/tts/1000009872.png'),style:{width:'100%',height:100,resizeMode:'contain',marginTop:10},__self:this,__source:{fileName:_jsxFileName,lineNumber:429,columnNumber:17}})),_react.default.createElement(_MButton.default,{onPress:function onPress(){setShowModal(false);(0,_storage.save)(_storage.OCR_V2,true);},style:{margin:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:440,columnNumber:15}},_react.default.createElement(_reactNativeLinearGradient.default,{start:{x:1,y:0},end:{x:0,y:1},style:{height:40,marginVertical:16,borderRadius:30,alignItems:'center',justifyContent:'center'},colors:['#FF7A00','#EF4123'],__self:this,__source:{fileName:_jsxFileName,lineNumber:449,columnNumber:17}},_react.default.createElement(_MText.MText,{style:$title,__self:this,__source:{fileName:_jsxFileName,lineNumber:461,columnNumber:19}},"Ti\u1EBFp t\u1EE5c"))))))));}var styles=_reactNative.StyleSheet.create({container:{flex:1,backgroundColor:'#FFFFFF'},header:{flexDirection:'row',alignItems:'center',paddingHorizontal:16,paddingTop:8},titleWrap:{flex:1,alignItems:'center',justifyContent:'center',marginRight:24},headerTitle:{color:'#333333',fontSize:16,fontWeight:'600'},instruction:{textAlign:'center',color:'#333333',fontSize:14,lineHeight:20,marginTop:20,marginBottom:28},photoFrame:{marginHorizontal:24,aspectRatio:CARD_ASPECT_RATIO,borderRadius:8,overflow:'hidden',backgroundColor:'#000000'},corner:{position:'absolute',width:26,height:26,borderColor:ORANGE},focusRing:{position:'absolute',width:64,height:64,borderRadius:8,borderWidth:1.5,borderColor:'#FFD54A'},cornerTL:{top:0,left:0,borderTopWidth:4,borderLeftWidth:4,borderTopLeftRadius:8},cornerTR:{top:0,right:0,borderTopWidth:4,borderRightWidth:4,borderTopRightRadius:8},cornerBL:{bottom:0,left:0,borderBottomWidth:4,borderLeftWidth:4,borderBottomLeftRadius:8},cornerBR:{bottom:0,right:0,borderBottomWidth:4,borderRightWidth:4,borderBottomRightRadius:8},hint:{textAlign:'center',color:'#555555',fontSize:13,lineHeight:19,marginTop:48},spacer:{flex:1},captureButton:{alignSelf:'center'}});var $row={flexDirection:'row',alignItems:'center',marginTop:5};var $txt={fontSize:12,marginLeft:5};var $bg={backgroundColor:'white',borderTopRightRadius:26,borderTopLeftRadius:26};var $step={height:40,width:'100%',resizeMode:'contain',marginTop:10,marginBottom:10};var $paddingV={paddingTop:16};var $title={fontSize:16,color:'white',fontWeight:'bold',textAlign:'center'};var $title2={fontSize:16,color:'#333333',fontWeight:'bold',textAlign:'center'};var $description={fontSize:12,color:'white',textAlign:'center'};var $modal={justifyContent:'flex-end',margin:0};var $container={borderTopRightRadius:26,borderTopLeftRadius:26};
|
|
2
2
|
//# sourceMappingURL=VehicleCamera.js.map
|