UNPKG

viettel-ekyc-sdk

Version:
60 lines 3.33 kB
/* eslint-disable react-native/no-inline-styles */ import React, { useState } from 'react'; import { View } from 'react-native'; import { callToast, CustomeAlert } from '../components/CustomeAlert'; import { MashBackground } from '../components/MashBackground'; import { OCR_BACK_TYPE, OCR_FRONT_TYPE } from '../constants/camera'; import navigator from '../navigation/navigator'; import { getTypeCardPost } from '../utils/api'; import { getBase64FromUri } from '../utils/utils'; import { getHeader, getStepResultHeader, isCardFront } from '../utils/widget'; import { IdCardComponent } from './IdCardComponent'; export const IdCardScreen = (props) => { var _a; const params = navigator.getParam('params', (_a = props === null || props === void 0 ? void 0 : props.route) === null || _a === void 0 ? void 0 : _a.params); const { enableCheckSanity, enableCheckTempering, imageList, enableAutoCapture, } = params; const { navigation } = props; let images = imageList === undefined ? [] : imageList; let typeString = images.length === 1 ? OCR_BACK_TYPE : OCR_FRONT_TYPE; const [errorMessage, setErrorMessage] = useState(''); const saveAction = async (uri, message) => { var _a; if (message !== '') { setErrorMessage(message); callToast(() => { setErrorMessage(''); }); } else { const imageFrontBase64 = await getBase64FromUri(uri); const typeCardPost = await getTypeCardPost(imageFrontBase64); const isFront = isCardFront((_a = typeCardPost === null || typeCardPost === void 0 ? void 0 : typeCardPost.data) === null || _a === void 0 ? void 0 : _a.result); if ((isFront && typeString === OCR_FRONT_TYPE) || (!isFront && typeString === OCR_BACK_TYPE)) { images.push(uri); navigation.replace('StepResultScreen', { params: { ...params, imageList: images, headerComponent: () => { var _a; return getStepResultHeader((_a = typeCardPost === null || typeCardPost === void 0 ? void 0 : typeCardPost.data) === null || _a === void 0 ? void 0 : _a.result); }, }, }); } else { setErrorMessage('Không phải ảnh mặt ' + (typeString === OCR_FRONT_TYPE ? 'trước' : 'sau') + ' giấy tờ'); callToast(() => { setErrorMessage(''); }); } } }; return (React.createElement(View, { style: { flex: 1, position: 'relative' } }, React.createElement(IdCardComponent, { headerComponent: () => getHeader(typeString), warningFrameComponent: null, pickImageComponent: null, autoCaptureComponent: null, enableAutoCapture: enableAutoCapture, enableCheckSanity: enableCheckSanity, enableCheckTempering: enableCheckTempering, actionAfterGetImage: async (response) => { saveAction(response.image, response.errorMessage); } }), errorMessage !== '' ? React.createElement(MashBackground, null) : null, React.createElement(CustomeAlert, { message: errorMessage }))); }; //# sourceMappingURL=IdCardScreen.js.map