UNPKG

viettel-ekyc-sdk

Version:
77 lines 3.51 kB
import { NavigationContainer } from '@react-navigation/native'; import React from 'react'; import { NativeModules } from 'react-native'; import { createNativeStackNavigator } from 'react-native-screens/native-stack'; import { OCR_BACK_TYPE, OCR_FRONT_AND_BACK_TYPE, OCR_FRONT_TYPE, OCR_FULL, } from './constants/camera'; import navigator from './navigation/navigator'; import { FaceScreen } from './screens/FaceScreen'; import { IdCardScreen } from './screens/IdCardScreen'; import { ResultScreen } from './screens/ResultScreen'; import { StepResultScreen } from './screens/StepResultScreen'; import { configApi } from './utils/apisauce'; const Stack = createNativeStackNavigator(); export const getActiveRouteName = (navigationState) => { if (!navigationState) { return 'null'; } const route = navigationState.routes[navigationState.index]; // dive into nested navigators if (route.state && route.state.routes) { return getActiveRouteName(route.state); } return route.name; }; const ViettelEkycScreen = ({ type, enableCheckSanity, enableCheckTempering, enableAddFace, showResultScreen, enableAutoCaptureCard, enableAutoCaptureFace, initialCamera, faceLivenessConfiguration, getResult, }) => { const naviRef = React.useRef(); const initRoute = type === OCR_FRONT_TYPE || type === OCR_BACK_TYPE || type === OCR_FRONT_AND_BACK_TYPE || type === OCR_FULL ? { initialRouteName: 'IdCardScreen' } : { initialRouteName: 'FaceScreen' }; return (React.createElement(NavigationContainer, { ref: (navigationRef) => { if (!navigationRef) { return; } navigator.setContainer(navigationRef); naviRef.current = navigationRef; }, onStateChange: (state) => { if (!naviRef.current) { return; } const currentRouteName = getActiveRouteName(state); console.log('currentRouteName ', currentRouteName); } }, React.createElement(Stack.Navigator, { ...initRoute, screenOptions: { headerShown: false, } }, React.createElement(Stack.Screen, { name: 'IdCardScreen', component: IdCardScreen, options: { headerShown: false, }, initialParams: { type, enableCheckSanity, enableCheckTempering, enableAddFace, showResultScreen, enableAutoCaptureCard, enableAutoCaptureFace, initialCamera, faceLivenessConfiguration, getResult, } }), React.createElement(Stack.Screen, { name: 'FaceScreen', component: FaceScreen, initialParams: { enableCheckSanity, enableCheckTempering, enableAutoCaptureFace, enableAddFace, showResultScreen, initialCamera, faceLivenessConfiguration, getResult, } }), React.createElement(Stack.Screen, { name: 'StepResultScreen', component: StepResultScreen }), React.createElement(Stack.Screen, { name: 'ResultScreen', component: ResultScreen })))); }; export { configApi, ViettelEkycScreen }; export default NativeModules.RNViettelEkycSdkModule; //# sourceMappingURL=index.js.map