viettel-ekyc-sdk
Version:
60 lines • 3.33 kB
JavaScript
/* 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