mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-08 21:18:14 -05:00
* [INJIMOB-528] add liveness support for face verification Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-528] add and comment blink detection Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-528] update locales and remove blink detection Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] add blinking and increase threshold if blinking is detected Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] sync package lock json Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] update node version to 18 for android build Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] refactor Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] refactor components Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] use the default version of package resolved file Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] refactor and add new env for liveness in workflow Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] remove new env and unused code Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-1433] add new env for liveness and combine build descriptiona and build name Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> * [INJIMOB-528] update package lock & pbxproj files Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1433] add test id for elements Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> --------- Signed-off-by: adityankannan-tw <adityan410pm@gmail.com> Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> Co-authored-by: adityankannan-tw <adityan410pm@gmail.com> Co-authored-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
78 lines
2.3 KiB
TypeScript
78 lines
2.3 KiB
TypeScript
import React from 'react';
|
|
import { Camera, CameraType } from 'expo-camera';
|
|
import { View, TouchableOpacity } from 'react-native';
|
|
import {SvgImage} from '../ui/svg';
|
|
import { Text, Column, Row, Centered } from '../ui';
|
|
import {RotatingIcon} from '../RotatingIcon';
|
|
import { Theme } from '../ui/styleUtils';
|
|
import testIDProps from '../../shared/commonUtil';
|
|
|
|
const FaceCompare: React.FC<FaceCompareProps> = ({
|
|
whichCamera,
|
|
setCameraRef,
|
|
isCapturing,
|
|
isVerifying,
|
|
service,
|
|
t
|
|
}) => {
|
|
return (
|
|
<Column fill align="space-between" style={{ backgroundColor: '#ffffff' }}>
|
|
<View style={{ flex: 2, marginTop: 15 }}>
|
|
<View style={Theme.CameraEnabledStyles.scannerContainer}>
|
|
<View>
|
|
<Camera
|
|
{...testIDProps('camera')}
|
|
style={Theme.CameraEnabledStyles.scanner}
|
|
type={whichCamera}
|
|
ref={setCameraRef}
|
|
/>
|
|
</View>
|
|
</View>
|
|
<Text
|
|
testID="imageCaptureGuide"
|
|
align="center"
|
|
weight="semibold"
|
|
style={Theme.TextStyles.base}
|
|
margin="80 57"
|
|
>
|
|
{t('imageCaptureGuide')}
|
|
</Text>
|
|
</View>
|
|
<Centered>
|
|
{isCapturing || isVerifying ? (
|
|
<RotatingIcon name="sync" size={64} />
|
|
) : (
|
|
<Row align="center">
|
|
<Centered style={Theme.Styles.imageCaptureButton}>
|
|
<TouchableOpacity onPress={() => service.send('CAPTURE')}>
|
|
{SvgImage.CameraCaptureIcon()}
|
|
</TouchableOpacity>
|
|
<Text testID="captureText" style={Theme.CameraEnabledStyles.iconText}>
|
|
{t('capture')}
|
|
</Text>
|
|
</Centered>
|
|
<Centered>
|
|
<TouchableOpacity onPress={() => service.send('FLIP_CAMERA')}>
|
|
{SvgImage.FlipCameraIcon()}
|
|
</TouchableOpacity>
|
|
<Text testID="flipCameraText" style={Theme.CameraEnabledStyles.iconText}>
|
|
{t('flipCamera')}
|
|
</Text>
|
|
</Centered>
|
|
</Row>
|
|
)}
|
|
</Centered>
|
|
</Column>
|
|
);
|
|
};
|
|
|
|
export default FaceCompare;
|
|
|
|
interface FaceCompareProps {
|
|
whichCamera: CameraType;
|
|
setCameraRef:(node: Camera) => void;
|
|
isCapturing: boolean;
|
|
isVerifying: boolean;
|
|
service: any;
|
|
t: (key: string) => string;
|
|
} |