react-native-timacare 3.3.65 → 3.3.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/lib/commonjs/components/AlertLoan.js +1 -1
  2. package/lib/commonjs/components/AlertLoan.js.flow +1 -19
  3. package/lib/commonjs/components/AlertLoan.js.map +1 -1
  4. package/lib/commonjs/screens/motobike/InfoLoanMotobike.js +1 -1
  5. package/lib/commonjs/screens/motobike/InfoLoanMotobike.js.flow +3 -2
  6. package/lib/commonjs/screens/motobike/InfoLoanMotobike.js.map +1 -1
  7. package/lib/commonjs/screens/motobike/ReviewLoanMotobike.js +1 -1
  8. package/lib/commonjs/screens/motobike/ReviewLoanMotobike.js.flow +1 -0
  9. package/lib/commonjs/screens/motobike/ReviewLoanMotobike.js.map +1 -1
  10. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js +1 -1
  11. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js.flow +1 -0
  12. package/lib/commonjs/screens/toan-trinh-so/ReviewInformation.js.map +1 -1
  13. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js +1 -1
  14. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js.flow +1 -0
  15. package/lib/commonjs/screens/toan-trinh-so/ReviewInformationOther.js.map +1 -1
  16. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js +1 -1
  17. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js.flow +1 -0
  18. package/lib/commonjs/screens/toan-trinh-so/ReviewLoan.js.map +1 -1
  19. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js +1 -1
  20. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.flow +189 -138
  21. package/lib/commonjs/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  22. package/lib/commonjs/screens/toan-trinh-so/TopupLoanInfo.js +1 -1
  23. package/lib/commonjs/screens/toan-trinh-so/TopupLoanInfo.js.flow +8 -5
  24. package/lib/commonjs/screens/toan-trinh-so/TopupLoanInfo.js.map +1 -1
  25. package/lib/commonjs/screens/v3/AssetInformation.js +1 -1
  26. package/lib/commonjs/screens/v3/AssetInformation.js.flow +1 -0
  27. package/lib/commonjs/screens/v3/AssetInformation.js.map +1 -1
  28. package/lib/commonjs/screens/v3/ReviewInfoLoanBuyCar.js +1 -1
  29. package/lib/commonjs/screens/v3/ReviewInfoLoanBuyCar.js.flow +1 -0
  30. package/lib/commonjs/screens/v3/ReviewInfoLoanBuyCar.js.map +1 -1
  31. package/lib/module/components/AlertLoan.js +1 -1
  32. package/lib/module/components/AlertLoan.js.map +1 -1
  33. package/lib/module/screens/motobike/InfoLoanMotobike.js +1 -1
  34. package/lib/module/screens/motobike/InfoLoanMotobike.js.map +1 -1
  35. package/lib/module/screens/motobike/ReviewLoanMotobike.js +1 -1
  36. package/lib/module/screens/motobike/ReviewLoanMotobike.js.map +1 -1
  37. package/lib/module/screens/toan-trinh-so/ReviewInformation.js +1 -1
  38. package/lib/module/screens/toan-trinh-so/ReviewInformation.js.map +1 -1
  39. package/lib/module/screens/toan-trinh-so/ReviewInformationOther.js +1 -1
  40. package/lib/module/screens/toan-trinh-so/ReviewInformationOther.js.map +1 -1
  41. package/lib/module/screens/toan-trinh-so/ReviewLoan.js +1 -1
  42. package/lib/module/screens/toan-trinh-so/ReviewLoan.js.map +1 -1
  43. package/lib/module/screens/toan-trinh-so/TTSSelfie.js +1 -1
  44. package/lib/module/screens/toan-trinh-so/TTSSelfie.js.map +1 -1
  45. package/lib/module/screens/toan-trinh-so/TopupLoanInfo.js +1 -1
  46. package/lib/module/screens/toan-trinh-so/TopupLoanInfo.js.map +1 -1
  47. package/lib/module/screens/v3/AssetInformation.js +1 -1
  48. package/lib/module/screens/v3/AssetInformation.js.map +1 -1
  49. package/lib/module/screens/v3/ReviewInfoLoanBuyCar.js +1 -1
  50. package/lib/module/screens/v3/ReviewInfoLoanBuyCar.js.map +1 -1
  51. package/lib/typescript/components/AlertLoan.d.ts.map +1 -1
  52. package/lib/typescript/screens/toan-trinh-so/TTSSelfie.d.ts.map +1 -1
  53. package/lib/typescript/screens/toan-trinh-so/TopupLoanInfo.d.ts.map +1 -1
  54. package/package.json +1 -1
  55. package/src/components/AlertLoan.tsx +1 -19
  56. package/src/screens/motobike/InfoLoanMotobike.tsx +3 -2
  57. package/src/screens/motobike/ReviewLoanMotobike.tsx +1 -0
  58. package/src/screens/toan-trinh-so/ReviewInformation.tsx +1 -0
  59. package/src/screens/toan-trinh-so/ReviewInformationOther.tsx +1 -0
  60. package/src/screens/toan-trinh-so/ReviewLoan.tsx +1 -0
  61. package/src/screens/toan-trinh-so/TTSSelfie.tsx +189 -138
  62. package/src/screens/toan-trinh-so/TopupLoanInfo.tsx +8 -5
  63. package/src/screens/v3/AssetInformation.tsx +1 -0
  64. package/src/screens/v3/ReviewInfoLoanBuyCar.tsx +1 -0
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=TTSSelfie;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 _reactNativePermissions=require("react-native-permissions");var _MText=require("../../components/MText");var _MButton=_interopRequireDefault(require("../../components/MButton"));var _CommonStyles=require("../CommonStyles");var _icons=require("../../assets/icons");var _Loading=_interopRequireDefault(require("../../components/Loading"));var _api=require("../../services/api");var _navigation=require("../../navigation");var _AppStore=_interopRequireDefault(require("../../AppStore"));var _utils=require("../../utils");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _reactNativeVisionCamera=require("react-native-vision-camera");var _AlertGlobal=require("../../components/ModalNotification/AlertGlobal");var _jsxFileName="/Users/tima/Tima/react-native-timacare/src/screens/toan-trinh-so/TTSSelfie.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 _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}function TTSSelfie(props){var insets=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)();var isFocused=(0,_native.useIsFocused)();var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),shouldRenderCamera=_useState2[0],setShouldRenderCamera=_useState2[1];var navigation=(0,_native.useNavigation)();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),isLoading=_useState6[0],setIsLoading=_useState6[1];var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),passPermission=_useState8[0],setPassPermission=_useState8[1];var device=(0,_reactNativeVisionCamera.useCameraDevice)('front');var myCamera=(0,_react.useRef)(null);var format=(0,_reactNativeVisionCamera.useCameraFormat)(device,[{photoResolution:{width:1280,height:1280}}]);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;}});};(0,_react.useEffect)(function(){_requestPermissions();var trackEvent=function _callee(){var _props$route,_props$route$params,_props$route$params$l,_props$route2,_props$route2$params,_props$route2$params$;return _regenerator.default.async(function(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=1;return _regenerator.default.awrap((0,_utils.logEvent)('cccd_completed',{event:'cccd_completed',createdAt:new Date(),deviceId:_AppStore.default.deviceId,loanId:String(props==null?void 0:(_props$route=props.route)==null?void 0:(_props$route$params=_props$route.params)==null?void 0:(_props$route$params$l=_props$route$params.loan)==null?void 0:_props$route$params$l.id),utmSource:props==null?void 0:(_props$route2=props.route)==null?void 0:(_props$route2$params=_props$route2.params)==null?void 0:(_props$route2$params$=_props$route2$params.loan)==null?void 0:_props$route2$params$.utmSource}));case 1:(0,_utils.logEventFb)('cccd_completed');case 2:case"end":return _context.stop();}},null,null,null,Promise);};trackEvent();},[]);(0,_react.useEffect)(function(){var timeout;if(isFocused){timeout=setTimeout(function(){setShouldRenderCamera(true);},500);}else{setShouldRenderCamera(false);}return function(){return clearTimeout(timeout);};},[isFocused]);var takePhoto=function _callee2(){var data,_props$route3,_props$route3$params,_props$route3$params$,formData,response,_response$data,_props$route4,_props$route4$params,_props$route4$params$,_props$route5,_props$route5$params,_props$route5$params$,_props$route7,_props$route7$params,_props$route7$params$,_props$route6,_props$route6$params,_props$route8,_props$route8$params,_props$route9,_props$route9$params,_response$data2,_response$data2$meta;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.next=2;return _regenerator.default.awrap(myCamera.current.takePhoto({qualityPrioritization:'speed'}));case 2:data=_context2.sent;setTaking(false);if(!data){_context2.next=4;break;}setIsLoading(true);formData=new FormData();formData.append('LoanBriefId',props==null?void 0:(_props$route3=props.route)==null?void 0:(_props$route3$params=_props$route3.params)==null?void 0:(_props$route3$params$=_props$route3$params.loan)==null?void 0:_props$route3$params$.id);formData.append('TypeDocumentId',125);formData.append('image',{uri:'file://'+data.path,type:'image/jpg',name:'selfie.jpg'});_context2.next=3;return _regenerator.default.awrap(_api.Api.getInstance().uploadImageAutoDE(formData));case 3:response=_context2.sent;setIsLoading(false);if(response.kind==='ok'){if(((_response$data=response.data)==null?void 0:_response$data.meta.errorCode)===200){if((props==null?void 0:(_props$route4=props.route)==null?void 0:(_props$route4$params=_props$route4.params)==null?void 0:(_props$route4$params$=_props$route4$params.loan)==null?void 0:_props$route4$params$.typeLoan)===6||(props==null?void 0:(_props$route5=props.route)==null?void 0:(_props$route5$params=_props$route5.params)==null?void 0:(_props$route5$params$=_props$route5$params.loan)==null?void 0:_props$route5$params$.typeLoan)===4){navigation.push(_navigation.ScreenNames.TopupLoanInfo,{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});}else if((props==null?void 0:(_props$route7=props.route)==null?void 0:(_props$route7$params=_props$route7.params)==null?void 0:(_props$route7$params$=_props$route7$params.loan)==null?void 0:_props$route7$params$.typeLoan)===8){navigation.push(_navigation.ScreenNames.InfoLoanMotobike,{loan:props==null?void 0:(_props$route8=props.route)==null?void 0:(_props$route8$params=_props$route8.params)==null?void 0:_props$route8$params.loan});}else{navigation.push(_navigation.ScreenNames.ReviewInformation,{loan:props==null?void 0:(_props$route9=props.route)==null?void 0:(_props$route9$params=_props$route9.params)==null?void 0:_props$route9$params.loan});}}else{_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:(_response$data2=response.data)==null?void 0:(_response$data2$meta=_response$data2.meta)==null?void 0:_response$data2$meta.errorMessage,primaryText:'Đóng'});}}else{_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Có lỗi xảy ra. Vui lòng thử lại sau',primaryText:'Đóng'});}case 4:case"end":return _context2.stop();}},null,null,null,Promise);};return _react.default.createElement(_reactNative.View,{style:{flex:1,backgroundColor:'black'},pointerEvents:'box-none',__self:this,__source:{fileName:_jsxFileName,lineNumber:210,columnNumber:5}},passPermission&&shouldRenderCamera?_react.default.createElement(_reactNative.View,{style:[_CommonStyles.commonStyles.fill,{width:_reactNative.Dimensions.get('window').width,height:_reactNative.Dimensions.get('window').height}],__self:this,__source:{fileName:_jsxFileName,lineNumber:215,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:{marginVertical:24,flexDirection:'row',alignItems:'center',justifyContent:'center',marginTop:insets.top+16},__self:this,__source:{fileName:_jsxFileName,lineNumber:224,columnNumber:11}},_react.default.createElement(_MButton.default,{onPress:function onPress(){navigation.goBack();},style:{position:'absolute',left:16},__self:this,__source:{fileName:_jsxFileName,lineNumber:233,columnNumber:13}},_react.default.createElement(_icons.IconBackWhite,{__self:this,__source:{fileName:_jsxFileName,lineNumber:242,columnNumber:15}})),_react.default.createElement(_MText.MText,{style:{color:'white',fontWeight:'bold',textAlgin:'center'},__self:this,__source:{fileName:_jsxFileName,lineNumber:244,columnNumber:13}},"X\xE1c th\u1EF1c khu\xF4n m\u1EB7t")),_react.default.createElement(_reactNativeVisionCamera.Camera,{style:{width:_reactNative.Dimensions.get('window').width,height:_reactNative.Dimensions.get('window').width*4/3.1},ref:myCamera,device:device,isActive:true,photo:true,format:format,__self:this,__source:{fileName:_jsxFileName,lineNumber:255,columnNumber:11}}),_react.default.createElement(_reactNative.View,{style:{position:'absolute',bottom:20,left:0,right:0},__self:this,__source:{fileName:_jsxFileName,lineNumber:267,columnNumber:11}},!taking&&_react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_MText.MText,{style:{color:'white',textAlign:'center',fontSize:14,paddingHorizontal:24},__self:this,__source:{fileName:_jsxFileName,lineNumber:277,columnNumber:17}},"Xin vui l\xF2ng nh\xECn th\u1EB3ng, khu\xF4n m\u1EB7t \u1EDF trong khung h\xECnh, \xE1nh s\xE1ng \u0111\u1EE7 r\xF5 n\xE9t khu\xF4n m\u1EB7t"),_react.default.createElement(_reactNative.View,{style:{alignItems:'center',marginVertical:24},__self:this,__source:{fileName:_jsxFileName,lineNumber:288,columnNumber:17}},_react.default.createElement(_MButton.default,{onPress:function onPress(){takePhoto();},__self:this,__source:{fileName:_jsxFileName,lineNumber:294,columnNumber:19}},_react.default.createElement(_icons.TakePhotoSvg,{__self:this,__source:{fileName:_jsxFileName,lineNumber:299,columnNumber:21}})))))):null,_react.default.createElement(_Loading.default,{isLoading:isLoading,__self:this,__source:{fileName:_jsxFileName,lineNumber:308,columnNumber:7}}));}
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=TTSSelfie;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 _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _reactNativePermissions=require("react-native-permissions");var _reactNativeVisionCamera=require("react-native-vision-camera");var _reactNativeSvg=require("react-native-svg");var _MText=require("../../components/MText");var _MButton=_interopRequireDefault(require("../../components/MButton"));var _CommonStyles=require("../CommonStyles");var _icons=require("../../assets/icons");var _Loading=_interopRequireDefault(require("../../components/Loading"));var _api=require("../../services/api");var _navigation=require("../../navigation");var _AppStore=_interopRequireDefault(require("../../AppStore"));var _utils=require("../../utils");var _AlertGlobal=require("../../components/ModalNotification/AlertGlobal");var _jsxFileName="/Users/tima/Tima/react-native-timacare/src/screens/toan-trinh-so/TTSSelfie.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 _t2 in e)"default"!==_t2&&{}.hasOwnProperty.call(e,_t2)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t2))&&(i.get||i.set)?o(f,_t2,i):f[_t2]=e[_t2]);return f;})(e,t);}var ORANGE='#F05123';var SCREEN_WIDTH=_reactNative.Dimensions.get('window').width;var OVAL_WIDTH=Math.round(SCREEN_WIDTH*0.72);var OVAL_HEIGHT=Math.round(OVAL_WIDTH*1.33);function TTSSelfie(props){var _this=this;var insets=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)();var isFocused=(0,_native.useIsFocused)();var navigation=(0,_native.useNavigation)();var myCamera=(0,_react.useRef)(null);var takingRef=(0,_react.useRef)(false);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),passPermission=_useState2[0],setPassPermission=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),shouldRenderCamera=_useState4[0],setShouldRenderCamera=_useState4[1];var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),taking=_useState6[0],setTaking=_useState6[1];var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),isLoading=_useState8[0],setIsLoading=_useState8[1];var _useState9=(0,_react.useState)({width:SCREEN_WIDTH,height:0}),_useState0=(0,_slicedToArray2.default)(_useState9,2),stage=_useState0[0],setStage=_useState0[1];var device=(0,_reactNativeVisionCamera.useCameraDevice)('front');var format=(0,_reactNativeVisionCamera.useCameraFormat)(device,[{photoResolution:{width:1280,height:1280}}]);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:_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:_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:_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:setPassPermission(true);break;case _reactNativePermissions.RESULTS.BLOCKED:_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(){return(0,_reactNativePermissions.openSettings)();}});break;}});};(0,_react.useEffect)(function(){_requestPermissions();var trackEvent=function _callee(){var _props$route,_props$route$params,_props$route$params$l,_props$route2,_props$route2$params,_props$route2$params$;return _regenerator.default.async(function(_context){while(1)switch(_context.prev=_context.next){case 0:_context.next=1;return _regenerator.default.awrap((0,_utils.logEvent)('cccd_completed',{event:'cccd_completed',createdAt:new Date(),deviceId:_AppStore.default.deviceId,loanId:String(props==null?void 0:(_props$route=props.route)==null?void 0:(_props$route$params=_props$route.params)==null?void 0:(_props$route$params$l=_props$route$params.loan)==null?void 0:_props$route$params$l.id),utmSource:props==null?void 0:(_props$route2=props.route)==null?void 0:(_props$route2$params=_props$route2.params)==null?void 0:(_props$route2$params$=_props$route2$params.loan)==null?void 0:_props$route2$params$.utmSource}));case 1:(0,_utils.logEventFb)('cccd_completed');case 2:case"end":return _context.stop();}},null,null,null,Promise);};trackEvent();},[]);(0,_react.useEffect)(function(){var timeout;if(isFocused){timeout=setTimeout(function(){setShouldRenderCamera(true);},500);}else{setShouldRenderCamera(false);}return function(){return clearTimeout(timeout);};},[isFocused]);var takePhoto=function _callee2(){var _props$route3,_props$route3$params,data,loan,formData,response,_response$data,_response$data2,_response$data2$meta,_t;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;_context2.next=3;return _regenerator.default.awrap(myCamera.current.takePhoto({qualityPrioritization:'speed'}));case 3:data=_context2.sent;setTaking(false);if(data){_context2.next=4;break;}takingRef.current=false;return _context2.abrupt("return");case 4:setIsLoading(true);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;formData=new FormData();formData.append('LoanBriefId',loan==null?void 0:loan.id);formData.append('TypeDocumentId',125);formData.append('image',{uri:'file://'+data.path,type:'image/jpg',name:'selfie.jpg'});_context2.next=5;return _regenerator.default.awrap(_api.Api.getInstance().uploadImageAutoDE(formData));case 5:response=_context2.sent;setIsLoading(false);takingRef.current=false;if(response.kind==='ok'){if(((_response$data=response.data)==null?void 0:_response$data.meta.errorCode)===200){if((loan==null?void 0:loan.typeLoan)===6||(loan==null?void 0:loan.typeLoan)===4){navigation.push(_navigation.ScreenNames.TopupLoanInfo,{loan:loan});}else if((loan==null?void 0:loan.typeLoan)===8){navigation.push(_navigation.ScreenNames.InfoLoanMotobike,{loan:loan});}else if((loan==null?void 0:loan.typeLoan)===7){navigation.push(_navigation.ScreenNames.ReviewInfoLoanBuyCar,{loan:loan});}else{navigation.push(_navigation.ScreenNames.ReviewInformation,{loan:loan});}}else{_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:(_response$data2=response.data)==null?void 0:(_response$data2$meta=_response$data2.meta)==null?void 0:_response$data2$meta.errorMessage,primaryText:'Đóng'});}}else{_AlertGlobal.AlertGlobal.show({type:'warning',title:'Thông báo',message:'Có lỗi xảy ra. Vui lòng thử lại sau',primaryText:'Đóng'});}_context2.next=7;break;case 6:_context2.prev=6;_t=_context2["catch"](2);console.log('takePhoto error',_t);setTaking(false);setIsLoading(false);takingRef.current=false;case 7:case"end":return _context2.stop();}},null,null,[[2,6]],Promise);};var renderOvalMask=function renderOvalMask(){var w=stage.width,h=stage.height;if(!w||!h)return null;var cx=w/2;var cy=h/2;var rx=OVAL_WIDTH/2;var ry=Math.min(OVAL_HEIGHT,h-16)/2;var hole="M "+(cx-rx)+" "+cy+" a "+rx+" "+ry+" 0 1 0 "+rx*2+" 0 a "+rx+" "+ry+" 0 1 0 "+-rx*2+" 0 Z";return _react.default.createElement(_reactNativeSvg.Svg,{pointerEvents:"none",style:_reactNative.StyleSheet.absoluteFill,width:w,height:h,__self:_this,__source:{fileName:_jsxFileName,lineNumber:226,columnNumber:7}},_react.default.createElement(_reactNativeSvg.Path,{d:"M 0 0 H "+w+" V "+h+" H 0 Z "+hole,fill:"#FFFFFF",fillRule:"evenodd",__self:_this,__source:{fileName:_jsxFileName,lineNumber:232,columnNumber:9}}),_react.default.createElement(_reactNativeSvg.Ellipse,{cx:cx,cy:cy,rx:rx+8,ry:ry+8,stroke:ORANGE,strokeWidth:1,strokeOpacity:0.25,fill:"none",__self:_this,__source:{fileName:_jsxFileName,lineNumber:238,columnNumber:9}}),_react.default.createElement(_reactNativeSvg.Ellipse,{cx:cx,cy:cy,rx:rx,ry:ry,stroke:ORANGE,strokeWidth:2,strokeDasharray:"6 5",strokeLinecap:"round",fill:"none",__self:_this,__source:{fileName:_jsxFileName,lineNumber:248,columnNumber:9}}));};return _react.default.createElement(_reactNative.View,{style:styles.container,__self:this,__source:{fileName:_jsxFileName,lineNumber:264,columnNumber:5}},_react.default.createElement(_reactNative.View,{style:[styles.header,{paddingTop:insets.top+12}],__self:this,__source:{fileName:_jsxFileName,lineNumber:265,columnNumber:7}},_react.default.createElement(_MButton.default,{onPress:function onPress(){return navigation.goBack();},style:styles.backButton,__self:this,__source:{fileName:_jsxFileName,lineNumber:266,columnNumber:9}},_react.default.createElement(_icons.IconBack,{__self:this,__source:{fileName:_jsxFileName,lineNumber:267,columnNumber:11}})),_react.default.createElement(_reactNative.View,{style:styles.titleWrap,__self:this,__source:{fileName:_jsxFileName,lineNumber:269,columnNumber:9}},_react.default.createElement(_MText.MText,{style:styles.headerTitle,__self:this,__source:{fileName:_jsxFileName,lineNumber:270,columnNumber:11}},"X\xE1c th\u1EF1c khu\xF4n m\u1EB7t"))),_react.default.createElement(_reactNative.View,{style:styles.stage,onLayout:function onLayout(e){return setStage(e.nativeEvent.layout);},__self:this,__source:{fileName:_jsxFileName,lineNumber:274,columnNumber:7}},passPermission&&shouldRenderCamera&&device?_react.default.createElement(_reactNativeVisionCamera.Camera,{ref:myCamera,style:_reactNative.StyleSheet.absoluteFill,device:device,isActive:isFocused,photo:true,format:format,__self:this,__source:{fileName:_jsxFileName,lineNumber:279,columnNumber:11}}):_react.default.createElement(_reactNative.View,{style:[_reactNative.StyleSheet.absoluteFill,_CommonStyles.commonStyles.alignCenter,_CommonStyles.commonStyles.justifyCenter],__self:this,__source:{fileName:_jsxFileName,lineNumber:288,columnNumber:11}},_react.default.createElement(_reactNative.ActivityIndicator,{color:ORANGE,size:"large",__self:this,__source:{fileName:_jsxFileName,lineNumber:295,columnNumber:13}})),renderOvalMask()),_react.default.createElement(_MText.MText,{style:styles.instruction,__self:this,__source:{fileName:_jsxFileName,lineNumber:301,columnNumber:7}},"Xin vui l\xF2ng nh\xECn th\u1EB3ng, khu\xF4n m\u1EB7t \u1EDF trong khung h\xECnh, \xE1nh s\xE1ng \u0111\u1EE7 r\xF5 n\xE9t khu\xF4n m\u1EB7t"),_react.default.createElement(_reactNative.View,{style:[styles.captureWrap,{marginBottom:insets.bottom+24}],__self:this,__source:{fileName:_jsxFileName,lineNumber:306,columnNumber:7}},_react.default.createElement(_reactNative.View,{style:styles.captureHalo,__self:this,__source:{fileName:_jsxFileName,lineNumber:308,columnNumber:9}},taking?_react.default.createElement(_reactNative.ActivityIndicator,{color:ORANGE,size:"large",__self:this,__source:{fileName:_jsxFileName,lineNumber:310,columnNumber:13}}):_react.default.createElement(_MButton.default,{onPress:takePhoto,__self:this,__source:{fileName:_jsxFileName,lineNumber:312,columnNumber:13}},_react.default.createElement(_icons.TakePhotoSvg,{__self:this,__source:{fileName:_jsxFileName,lineNumber:313,columnNumber:15}})))),_react.default.createElement(_Loading.default,{isLoading:isLoading,__self:this,__source:{fileName:_jsxFileName,lineNumber:319,columnNumber:7}}));}var styles=_reactNative.StyleSheet.create({container:{flex:1,backgroundColor:'#FFFFFF'},header:{flexDirection:'row',alignItems:'center',paddingHorizontal:16,paddingBottom:8},backButton:{width:32,height:32,justifyContent:'center'},titleWrap:{flex:1,alignItems:'center',justifyContent:'center',marginRight:32},headerTitle:{color:'#333333',fontSize:16,fontWeight:'600'},stage:{flex:1,overflow:'hidden',backgroundColor:'#FFFFFF'},instruction:{textAlign:'center',color:'#333333',fontSize:14,lineHeight:20,paddingHorizontal:32,marginTop:16},captureWrap:{alignItems:'center',marginTop:24},captureHalo:{width:88,height:88,borderRadius:44,alignItems:'center',justifyContent:'center',backgroundColor:'rgba(240, 81, 35, 0.10)'}});
2
2
  //# sourceMappingURL=TTSSelfie.js.map
@@ -1,41 +1,57 @@
1
1
  // @ts-nocheck
2
2
  import React, { useEffect, useRef, useState } from 'react';
3
- import { Dimensions, Platform, View } from 'react-native';
3
+ import {
4
+ ActivityIndicator,
5
+ Dimensions,
6
+ Platform,
7
+ StyleSheet,
8
+ View,
9
+ } from 'react-native';
4
10
  import { useNavigation, useIsFocused } from '@react-navigation/native';
11
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
5
12
  import {
6
13
  request,
7
14
  PERMISSIONS,
8
15
  RESULTS,
9
16
  openSettings,
10
17
  } from 'react-native-permissions';
18
+ import {
19
+ Camera,
20
+ useCameraDevice,
21
+ useCameraFormat,
22
+ } from 'react-native-vision-camera';
23
+ import { Svg, Ellipse, Path } from 'react-native-svg';
11
24
  import { MText } from '../../components/MText';
12
25
  import MButton from '../../components/MButton';
13
26
  import { commonStyles } from '../CommonStyles';
14
- import { IconBackWhite, TakePhotoSvg } from '../../assets/icons';
27
+ import { IconBack, TakePhotoSvg } from '../../assets/icons';
15
28
  import Loading from '../../components/Loading';
16
29
  import { Api } from '../../services/api';
17
30
  import { ScreenNames } from '../../navigation';
18
31
  import appStore from '../../AppStore';
19
32
  import { logEvent, logEventFb } from '../../utils';
20
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
21
- import {
22
- Camera,
23
- useCameraDevice,
24
- useCameraFormat,
25
- } from 'react-native-vision-camera';
26
33
  import { AlertGlobal } from '../../components/ModalNotification/AlertGlobal';
27
34
 
35
+ const ORANGE = '#F05123';
36
+ const SCREEN_WIDTH = Dimensions.get('window').width;
37
+ // Khung oval: rộng ~72% màn hình, cao gấp 1.33 lần chiều rộng (tỉ lệ khuôn mặt)
38
+ const OVAL_WIDTH = Math.round(SCREEN_WIDTH * 0.72);
39
+ const OVAL_HEIGHT = Math.round(OVAL_WIDTH * 1.33);
40
+
28
41
  export default function TTSSelfie(props: any) {
29
42
  const insets = useSafeAreaInsets();
30
43
  const isFocused = useIsFocused();
31
- const [shouldRenderCamera, setShouldRenderCamera] = useState(false);
32
44
  const navigation = useNavigation();
45
+ const myCamera = useRef(null);
46
+ const takingRef = useRef(false);
47
+ const [passPermission, setPassPermission] = useState(false);
48
+ const [shouldRenderCamera, setShouldRenderCamera] = useState(false);
33
49
  const [taking, setTaking] = useState(false);
34
50
  const [isLoading, setIsLoading] = useState(false);
35
- const [passPermission, setPassPermission] = useState(false);
36
- const device = useCameraDevice('front');
37
- const myCamera = useRef(null);
51
+ // Kích thước vùng preview để vẽ mặt nạ oval đúng tâm
52
+ const [stage, setStage] = useState({ width: SCREEN_WIDTH, height: 0 });
38
53
 
54
+ const device = useCameraDevice('front');
39
55
  const format = useCameraFormat(device, [
40
56
  { photoResolution: { width: 1280, height: 1280 } },
41
57
  ]);
@@ -48,9 +64,6 @@ export default function TTSSelfie(props: any) {
48
64
  ).then((result) => {
49
65
  switch (result) {
50
66
  case RESULTS.UNAVAILABLE:
51
- console.log(
52
- 'This feature is not available (on this device / in this context)'
53
- );
54
67
  AlertGlobal.show({
55
68
  type: 'warning',
56
69
  title: 'Thông báo',
@@ -60,9 +73,6 @@ export default function TTSSelfie(props: any) {
60
73
  });
61
74
  break;
62
75
  case RESULTS.DENIED:
63
- console.log(
64
- 'The permission has not been requested / is denied but requestable'
65
- );
66
76
  AlertGlobal.show({
67
77
  type: 'warning',
68
78
  title: 'Thông báo',
@@ -79,7 +89,6 @@ export default function TTSSelfie(props: any) {
79
89
  });
80
90
  break;
81
91
  case RESULTS.LIMITED:
82
- console.log('The permission is limited: some actions are possible');
83
92
  AlertGlobal.show({
84
93
  type: 'warning',
85
94
  title: 'Thông báo',
@@ -96,24 +105,16 @@ export default function TTSSelfie(props: any) {
96
105
  });
97
106
  break;
98
107
  case RESULTS.GRANTED:
99
- console.log('The permission is granted');
100
108
  setPassPermission(true);
101
109
  break;
102
110
  case RESULTS.BLOCKED:
103
- console.log('The permission is denied and not requestable anymore');
104
111
  AlertGlobal.show({
105
112
  type: 'warning',
106
113
  title: 'Thông báo',
107
114
  message:
108
115
  'Bạn đã từ chối quyền máy ảnh. Vui lòng cấp quyền máy ảnh để tiếp tục!',
109
116
  primaryText: 'Đồng ý',
110
- onPrimaryPress: () => {
111
- if (Platform.OS === 'ios') {
112
- openSettings();
113
- } else {
114
- openSettings();
115
- }
116
- },
117
+ onPrimaryPress: () => openSettings(),
117
118
  });
118
119
  break;
119
120
  }
@@ -137,30 +138,34 @@ export default function TTSSelfie(props: any) {
137
138
 
138
139
  useEffect(() => {
139
140
  let timeout: NodeJS.Timeout;
140
-
141
141
  if (isFocused) {
142
142
  // Delay mounting camera to give Android time to release the previous one
143
143
  timeout = setTimeout(() => {
144
144
  setShouldRenderCamera(true);
145
- }, 500); // thử 300ms–500ms nếu cần
145
+ }, 500);
146
146
  } else {
147
147
  setShouldRenderCamera(false);
148
148
  }
149
-
150
149
  return () => clearTimeout(timeout);
151
150
  }, [isFocused]);
152
151
 
153
152
  const takePhoto = async () => {
154
- if (myCamera.current == null || taking) return;
153
+ if (myCamera.current == null || takingRef.current) return;
154
+ takingRef.current = true;
155
155
  setTaking(true);
156
- const data = await myCamera.current.takePhoto({
157
- qualityPrioritization: 'speed',
158
- });
159
- setTaking(false);
160
- if (data) {
156
+ try {
157
+ const data = await myCamera.current.takePhoto({
158
+ qualityPrioritization: 'speed',
159
+ });
160
+ setTaking(false);
161
+ if (!data) {
162
+ takingRef.current = false;
163
+ return;
164
+ }
161
165
  setIsLoading(true);
166
+ const loan = props?.route?.params?.loan;
162
167
  const formData = new FormData();
163
- formData.append('LoanBriefId', props?.route?.params?.loan?.id);
168
+ formData.append('LoanBriefId', loan?.id);
164
169
  formData.append('TypeDocumentId', 125); // Anh selfie
165
170
  formData.append('image', {
166
171
  uri: 'file://' + data.path,
@@ -169,23 +174,17 @@ export default function TTSSelfie(props: any) {
169
174
  });
170
175
  const response = await Api.getInstance().uploadImageAutoDE(formData);
171
176
  setIsLoading(false);
177
+ takingRef.current = false;
172
178
  if (response.kind === 'ok') {
173
179
  if (response.data?.meta.errorCode === 200) {
174
- if (
175
- props?.route?.params?.loan?.typeLoan === 6 ||
176
- props?.route?.params?.loan?.typeLoan === 4
177
- ) {
178
- navigation.push(ScreenNames.TopupLoanInfo, {
179
- loan: props?.route?.params?.loan,
180
- });
181
- } else if (props?.route?.params?.loan?.typeLoan === 8) {
182
- navigation.push(ScreenNames.InfoLoanMotobike, {
183
- loan: props?.route?.params?.loan,
184
- });
180
+ if (loan?.typeLoan === 6 || loan?.typeLoan === 4) {
181
+ navigation.push(ScreenNames.TopupLoanInfo, { loan });
182
+ } else if (loan?.typeLoan === 8) {
183
+ navigation.push(ScreenNames.InfoLoanMotobike, { loan });
184
+ } else if (loan?.typeLoan === 7) {
185
+ navigation.push(ScreenNames.ReviewInfoLoanBuyCar, { loan });
185
186
  } else {
186
- navigation.push(ScreenNames.ReviewInformation, {
187
- loan: props?.route?.params?.loan,
188
- });
187
+ navigation.push(ScreenNames.ReviewInformation, { loan });
189
188
  }
190
189
  } else {
191
190
  AlertGlobal.show({
@@ -203,109 +202,161 @@ export default function TTSSelfie(props: any) {
203
202
  primaryText: 'Đóng',
204
203
  });
205
204
  }
205
+ } catch (err) {
206
+ console.log('takePhoto error', err);
207
+ setTaking(false);
208
+ setIsLoading(false);
209
+ takingRef.current = false;
206
210
  }
207
211
  };
208
212
 
213
+ // Mặt nạ: phủ trắng toàn bộ vùng preview, khoét một lỗ hình oval ở giữa
214
+ // (fillRule evenodd) -> chỉ nhìn thấy camera bên trong oval.
215
+ const renderOvalMask = () => {
216
+ const { width: w, height: h } = stage;
217
+ if (!w || !h) return null;
218
+ const cx = w / 2;
219
+ const cy = h / 2;
220
+ const rx = OVAL_WIDTH / 2;
221
+ const ry = Math.min(OVAL_HEIGHT, h - 16) / 2;
222
+ const hole = `M ${cx - rx} ${cy} a ${rx} ${ry} 0 1 0 ${
223
+ rx * 2
224
+ } 0 a ${rx} ${ry} 0 1 0 ${-rx * 2} 0 Z`;
225
+ return (
226
+ <Svg
227
+ pointerEvents="none"
228
+ style={StyleSheet.absoluteFill}
229
+ width={w}
230
+ height={h}
231
+ >
232
+ <Path
233
+ d={`M 0 0 H ${w} V ${h} H 0 Z ${hole}`}
234
+ fill="#FFFFFF"
235
+ fillRule="evenodd"
236
+ />
237
+ {/* Vòng ngoài mờ tạo chiều sâu cho khung, vòng trong nét đứt là mốc căn mặt */}
238
+ <Ellipse
239
+ cx={cx}
240
+ cy={cy}
241
+ rx={rx + 8}
242
+ ry={ry + 8}
243
+ stroke={ORANGE}
244
+ strokeWidth={1}
245
+ strokeOpacity={0.25}
246
+ fill="none"
247
+ />
248
+ <Ellipse
249
+ cx={cx}
250
+ cy={cy}
251
+ rx={rx}
252
+ ry={ry}
253
+ stroke={ORANGE}
254
+ strokeWidth={2}
255
+ strokeDasharray="6 5"
256
+ strokeLinecap="round"
257
+ fill="none"
258
+ />
259
+ </Svg>
260
+ );
261
+ };
262
+
209
263
  return (
210
- <View
211
- style={{ flex: 1, backgroundColor: 'black' }}
212
- pointerEvents={'box-none'}
213
- >
214
- {passPermission && shouldRenderCamera ? (
215
- <View
216
- style={[
217
- commonStyles.fill,
218
- {
219
- width: Dimensions.get('window').width,
220
- height: Dimensions.get('window').height,
221
- },
222
- ]}
223
- >
224
- <View
225
- style={{
226
- marginVertical: 24,
227
- flexDirection: 'row',
228
- alignItems: 'center',
229
- justifyContent: 'center',
230
- marginTop: insets.top + 16,
231
- }}
232
- >
233
- <MButton
234
- onPress={() => {
235
- navigation.goBack();
236
- }}
237
- style={{
238
- position: 'absolute',
239
- left: 16,
240
- }}
241
- >
242
- <IconBackWhite />
243
- </MButton>
244
- <MText
245
- style={{
246
- color: 'white',
247
- fontWeight: 'bold',
248
- textAlgin: 'center',
249
- }}
250
- >
251
- Xác thực khuôn mặt
252
- </MText>
253
- </View>
264
+ <View style={styles.container}>
265
+ <View style={[styles.header, { paddingTop: insets.top + 12 }]}>
266
+ <MButton onPress={() => navigation.goBack()} style={styles.backButton}>
267
+ <IconBack />
268
+ </MButton>
269
+ <View style={styles.titleWrap}>
270
+ <MText style={styles.headerTitle}>Xác thực khuôn mặt</MText>
271
+ </View>
272
+ </View>
254
273
 
274
+ <View
275
+ style={styles.stage}
276
+ onLayout={(e) => setStage(e.nativeEvent.layout)}
277
+ >
278
+ {passPermission && shouldRenderCamera && device ? (
255
279
  <Camera
256
- style={{
257
- width: Dimensions.get('window').width,
258
- height: (Dimensions.get('window').width * 4) / 3.1,
259
- }}
260
280
  ref={myCamera}
281
+ style={StyleSheet.absoluteFill}
261
282
  device={device}
262
- isActive={true}
283
+ isActive={isFocused}
263
284
  photo={true}
264
285
  format={format}
265
286
  />
266
-
287
+ ) : (
267
288
  <View
268
- style={{
269
- position: 'absolute',
270
- bottom: 20,
271
- left: 0,
272
- right: 0,
273
- }}
289
+ style={[
290
+ StyleSheet.absoluteFill,
291
+ commonStyles.alignCenter,
292
+ commonStyles.justifyCenter,
293
+ ]}
274
294
  >
275
- {!taking && (
276
- <>
277
- <MText
278
- style={{
279
- color: 'white',
280
- textAlign: 'center',
281
- fontSize: 14,
282
- paddingHorizontal: 24,
283
- }}
284
- >
285
- Xin vui lòng nhìn thẳng, khuôn mặt ở trong khung hình, ánh
286
- sáng đủ rõ nét khuôn mặt
287
- </MText>
288
- <View
289
- style={{
290
- alignItems: 'center',
291
- marginVertical: 24,
292
- }}
293
- >
294
- <MButton
295
- onPress={() => {
296
- takePhoto();
297
- }}
298
- >
299
- <TakePhotoSvg />
300
- </MButton>
301
- </View>
302
- </>
303
- )}
295
+ <ActivityIndicator color={ORANGE} size="large" />
304
296
  </View>
297
+ )}
298
+ {renderOvalMask()}
299
+ </View>
300
+
301
+ <MText style={styles.instruction}>
302
+ Xin vui lòng nhìn thẳng, khuôn mặt ở trong khung hình, ánh sáng đủ rõ
303
+ nét khuôn mặt
304
+ </MText>
305
+
306
+ <View style={[styles.captureWrap, { marginBottom: insets.bottom + 24 }]}>
307
+ {/* Quầng cam nhạt quanh nút chụp: tách nút khỏi nền trắng, đúng thiết kế */}
308
+ <View style={styles.captureHalo}>
309
+ {taking ? (
310
+ <ActivityIndicator color={ORANGE} size="large" />
311
+ ) : (
312
+ <MButton onPress={takePhoto}>
313
+ <TakePhotoSvg />
314
+ </MButton>
315
+ )}
305
316
  </View>
306
- ) : null}
317
+ </View>
307
318
 
308
319
  <Loading isLoading={isLoading} />
309
320
  </View>
310
321
  );
311
322
  }
323
+
324
+ const styles = StyleSheet.create({
325
+ container: { flex: 1, backgroundColor: '#FFFFFF' },
326
+ header: {
327
+ flexDirection: 'row',
328
+ alignItems: 'center',
329
+ paddingHorizontal: 16,
330
+ paddingBottom: 8,
331
+ },
332
+ backButton: { width: 32, height: 32, justifyContent: 'center' },
333
+ titleWrap: {
334
+ flex: 1,
335
+ alignItems: 'center',
336
+ justifyContent: 'center',
337
+ marginRight: 32,
338
+ },
339
+ headerTitle: { color: '#333333', fontSize: 16, fontWeight: '600' },
340
+ stage: {
341
+ flex: 1,
342
+ overflow: 'hidden',
343
+ backgroundColor: '#FFFFFF',
344
+ },
345
+ instruction: {
346
+ textAlign: 'center',
347
+ color: '#333333',
348
+ fontSize: 14,
349
+ lineHeight: 20,
350
+ paddingHorizontal: 32,
351
+ marginTop: 16,
352
+ },
353
+ captureWrap: { alignItems: 'center', marginTop: 24 },
354
+ captureHalo: {
355
+ width: 88,
356
+ height: 88,
357
+ borderRadius: 44,
358
+ alignItems: 'center',
359
+ justifyContent: 'center',
360
+ backgroundColor: 'rgba(240, 81, 35, 0.10)',
361
+ },
362
+ });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_native","_reactNativePermissions","_MText","_MButton","_interopRequireDefault","_CommonStyles","_icons","_Loading","_api","_navigation","_AppStore","_utils","_reactNativeSafeAreaContext","_reactNativeVisionCamera","_AlertGlobal","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TTSSelfie","props","insets","useSafeAreaInsets","isFocused","useIsFocused","_useState","useState","_useState2","_slicedToArray2","shouldRenderCamera","setShouldRenderCamera","navigation","useNavigation","_useState3","_useState4","taking","setTaking","_useState5","_useState6","isLoading","setIsLoading","_useState7","_useState8","passPermission","setPassPermission","device","useCameraDevice","myCamera","useRef","format","useCameraFormat","photoResolution","width","height","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","trackEvent","_callee","_props$route","_props$route$params","_props$route$params$l","_props$route2","_props$route2$params","_props$route2$params$","_regenerator","async","_context","prev","next","awrap","logEvent","event","createdAt","Date","deviceId","appStore","loanId","String","route","params","loan","id","utmSource","logEventFb","stop","Promise","timeout","setTimeout","clearTimeout","takePhoto","_callee2","data","_props$route3","_props$route3$params","_props$route3$params$","formData","response","_response$data","_props$route4","_props$route4$params","_props$route4$params$","_props$route5","_props$route5$params","_props$route5$params$","_props$route7","_props$route7$params","_props$route7$params$","_props$route6","_props$route6$params","_props$route8","_props$route8$params","_props$route9","_props$route9$params","_response$data2","_response$data2$meta","_context2","current","abrupt","qualityPrioritization","sent","FormData","append","uri","path","name","Api","getInstance","uploadImageAutoDE","kind","meta","errorCode","typeLoan","push","ScreenNames","TopupLoanInfo","InfoLoanMotobike","ReviewInformation","errorMessage","createElement","View","style","flex","backgroundColor","pointerEvents","__self","__source","fileName","lineNumber","columnNumber","commonStyles","fill","Dimensions","marginVertical","flexDirection","alignItems","justifyContent","marginTop","top","onPress","goBack","position","left","IconBackWhite","MText","color","fontWeight","textAlgin","Camera","ref","isActive","photo","bottom","right","Fragment","textAlign","fontSize","paddingHorizontal","TakePhotoSvg"],"sourceRoot":"../../../../src","sources":["screens/toan-trinh-so/TTSSelfie.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_native","_reactNativeSafeAreaContext","_reactNativePermissions","_reactNativeVisionCamera","_reactNativeSvg","_MText","_MButton","_interopRequireDefault","_CommonStyles","_icons","_Loading","_api","_navigation","_AppStore","_utils","_AlertGlobal","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ORANGE","SCREEN_WIDTH","Dimensions","width","OVAL_WIDTH","Math","round","OVAL_HEIGHT","TTSSelfie","props","_this","insets","useSafeAreaInsets","isFocused","useIsFocused","navigation","useNavigation","myCamera","useRef","takingRef","_useState","useState","_useState2","_slicedToArray2","passPermission","setPassPermission","_useState3","_useState4","shouldRenderCamera","setShouldRenderCamera","_useState5","_useState6","taking","setTaking","_useState7","_useState8","isLoading","setIsLoading","_useState9","height","_useState0","stage","setStage","device","useCameraDevice","format","useCameraFormat","photoResolution","requestPermissions","request","Platform","OS","PERMISSIONS","IOS","CAMERA","ANDROID","then","result","RESULTS","UNAVAILABLE","AlertGlobal","show","type","title","message","primaryText","DENIED","onPrimaryPress","openSettings","LIMITED","GRANTED","BLOCKED","useEffect","trackEvent","_callee","_props$route","_props$route$params","_props$route$params$l","_props$route2","_props$route2$params","_props$route2$params$","_regenerator","async","_context","prev","next","awrap","logEvent","event","createdAt","Date","deviceId","appStore","loanId","String","route","params","loan","id","utmSource","logEventFb","stop","Promise","timeout","setTimeout","clearTimeout","takePhoto","_callee2","_props$route3","_props$route3$params","data","formData","response","_response$data","_response$data2","_response$data2$meta","_t","_context2","current","abrupt","qualityPrioritization","sent","FormData","append","uri","path","name","Api","getInstance","uploadImageAutoDE","kind","meta","errorCode","typeLoan","push","ScreenNames","TopupLoanInfo","InfoLoanMotobike","ReviewInfoLoanBuyCar","ReviewInformation","errorMessage","console","log","renderOvalMask","w","h","cx","cy","rx","ry","min","hole","createElement","Svg","pointerEvents","style","StyleSheet","absoluteFill","__self","__source","fileName","lineNumber","columnNumber","Path","d","fill","fillRule","Ellipse","stroke","strokeWidth","strokeOpacity","strokeDasharray","strokeLinecap","View","styles","container","header","paddingTop","top","onPress","goBack","backButton","IconBack","titleWrap","MText","headerTitle","onLayout","nativeEvent","layout","Camera","ref","isActive","photo","commonStyles","alignCenter","justifyCenter","ActivityIndicator","color","size","instruction","captureWrap","marginBottom","bottom","captureHalo","TakePhotoSvg","create","flex","backgroundColor","flexDirection","alignItems","paddingHorizontal","paddingBottom","justifyContent","marginRight","fontSize","fontWeight","overflow","textAlign","lineHeight","marginTop","borderRadius"],"sourceRoot":"../../../../src","sources":["screens/toan-trinh-so/TTSSelfie.tsx"],"mappings":"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","ignoreList":[]}