mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-09 05:27:57 -05:00
* [INJIMOB-1192] : use wellknown response instead of mimoto issuer config. -- Remove hardcoding for sunbird issuer in vc activation and verification flow. -- Render idType from wellknown response -- Remove UIN/VID from default add-on fields Signed-off-by: Swati Goel <meet2swati@gmail.com> * [INJIMOB-1192] : fix propType and some refactoring Signed-off-by: Swati Goel <meet2swati@gmail.com> * [INJIMOB-1192] : add credentialType in VcMetadata Signed-off-by: Swati Goel <meet2swati@gmail.com> * [INJIMOB-1192] fix vc download via issuer flow due to credentialType mismatch Co-authored-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com> Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1192] rename supported list of credential type in issuers model Co-authored-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com> Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1192] display id type in history based on wellknown for issuers VC Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1192] fix id type not shown for VC activation Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1192] remove unused credentialType field from VCMetaData Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1192] set default idType for logging activity Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1192] move vc item machine events into model Events should not be exported to other packages for direct use so that Xstate's createModel() can decorate the function appropriately Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1192] show verify banner id type from wellknown Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1192] refactor duplication and unused code Co-authored-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com> Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1192] remove unused displayId in metadata Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1192] revert the dimensions of camera scanner to old values to support face liveness verification Co-authored-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com> * [INJIMOB-1192] remove unused code & debug logs Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> * [INJIMOB-1192] fix failing test cases Co-authored-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com> * [INJIMOB-1192] remove unused translations Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> --------- Signed-off-by: Swati Goel <meet2swati@gmail.com> Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com> Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com> Co-authored-by: Swati Goel <meet2swati@gmail.com> Co-authored-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
101 lines
3.1 KiB
TypeScript
101 lines
3.1 KiB
TypeScript
import React from 'react';
|
|
import {Camera, CameraType} from 'expo-camera';
|
|
import {View, TouchableOpacity} from 'react-native';
|
|
import Spinner from 'react-native-spinkit';
|
|
import {Column, Text} from '.././ui';
|
|
import {Theme} from '.././ui/styleUtils';
|
|
import Svg, {Defs, Mask, Rect, Ellipse} from 'react-native-svg';
|
|
import testIDProps from '../../shared/commonUtil';
|
|
import {FaceDetectorConfig} from './FaceScannerHelper';
|
|
|
|
const LivenessDetection: React.FC<LivenessDetectionProps> = ({
|
|
screenColor,
|
|
infoText,
|
|
whichCamera,
|
|
setCameraRef,
|
|
handleFacesDetected,
|
|
faceDetectorConfig,
|
|
handleOnCancel,
|
|
opacity,
|
|
setOpacity,
|
|
t,
|
|
}) => {
|
|
return (
|
|
<Column fill align="space-between" style={{backgroundColor: screenColor}}>
|
|
<View style={Theme.CameraEnabledStyles.guideContainer}>
|
|
<View style={Theme.CameraEnabledStyles.guideContentContainer}>
|
|
<Spinner type="ThreeBounce" color={Theme.Colors.Loading} />
|
|
<Text
|
|
testID="captureInfoText"
|
|
size="small"
|
|
weight="bold"
|
|
color="black"
|
|
align="center">
|
|
{infoText}
|
|
</Text>
|
|
</View>
|
|
</View>
|
|
<View style={{flex: 2, marginTop: 15}}>
|
|
<View style={Theme.CameraEnabledStyles.scannerContainer}>
|
|
<View>
|
|
<Camera
|
|
{...testIDProps('camera')}
|
|
style={Theme.CameraEnabledStyles.scanner}
|
|
type={whichCamera}
|
|
ref={setCameraRef}
|
|
onFacesDetected={handleFacesDetected}
|
|
faceDetectorSettings={faceDetectorConfig}
|
|
/>
|
|
<Svg height="100%" width="100%" style={{position: 'absolute'}}>
|
|
<Defs>
|
|
<Mask id="mask" x="0" y="0" height="100%" width="100%">
|
|
<Rect height="100%" width="100%" fill="#fff" opacity="0.3" />
|
|
<Ellipse rx="38%" ry="45%" cx="50%" cy="50%" fill="black" />
|
|
</Mask>
|
|
</Defs>
|
|
<Rect
|
|
height="100%"
|
|
width="100%"
|
|
fill="rgba(0, 0, 0, 0.8)"
|
|
mask="url(#mask)"
|
|
/>
|
|
</Svg>
|
|
</View>
|
|
</View>
|
|
</View>
|
|
<View style={Theme.CameraEnabledStyles.buttonContainer}>
|
|
<TouchableOpacity
|
|
{...testIDProps('cancel')}
|
|
style={[Theme.CameraEnabledStyles.cancelButton, {opacity}]}
|
|
onPressIn={() => setOpacity(0.5)}
|
|
onPressOut={() => setOpacity(1)}
|
|
onPress={handleOnCancel}>
|
|
<Text
|
|
testID="cancelText"
|
|
size="small"
|
|
weight="bold"
|
|
margin="8"
|
|
color="black">
|
|
{t('cancel')}
|
|
</Text>
|
|
</TouchableOpacity>
|
|
</View>
|
|
</Column>
|
|
);
|
|
};
|
|
|
|
export default LivenessDetection;
|
|
|
|
interface LivenessDetectionProps {
|
|
screenColor: string;
|
|
infoText: string;
|
|
whichCamera: CameraType;
|
|
setCameraRef: (node: Camera) => void;
|
|
handleFacesDetected: (faces: any) => Promise<void>;
|
|
faceDetectorConfig: FaceDetectorConfig;
|
|
handleOnCancel: () => void;
|
|
opacity: number;
|
|
setOpacity: (opacity: number) => void;
|
|
t: (key: string) => string;
|
|
}
|