@ha_tecno/live-id-sdk 2.3.0 → 2.5.0
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/commonjs/index.js +0 -7
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/screens/FingerAuth/FingerAuth.js +8 -10
- package/lib/commonjs/screens/FingerAuth/FingerAuth.js.map +1 -1
- package/lib/commonjs/screens/FingerRegister/FingerRegister.js +9 -11
- package/lib/commonjs/screens/FingerRegister/FingerRegister.js.map +1 -1
- package/lib/commonjs/screens/LifeCertificate/LifeCertificate.js +3 -7
- package/lib/commonjs/screens/LifeCertificate/LifeCertificate.js.map +1 -1
- package/lib/commonjs/utils/hooks/useIsForeground.js +23 -0
- package/lib/commonjs/utils/hooks/useIsForeground.js.map +1 -0
- package/lib/commonjs/utils/index.js +7 -0
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/index.js +0 -4
- package/lib/module/index.js.map +1 -1
- package/lib/module/screens/FingerAuth/FingerAuth.js +8 -10
- package/lib/module/screens/FingerAuth/FingerAuth.js.map +1 -1
- package/lib/module/screens/FingerRegister/FingerRegister.js +9 -11
- package/lib/module/screens/FingerRegister/FingerRegister.js.map +1 -1
- package/lib/module/screens/LifeCertificate/LifeCertificate.js +3 -7
- package/lib/module/screens/LifeCertificate/LifeCertificate.js.map +1 -1
- package/lib/module/utils/hooks/useIsForeground.js +16 -0
- package/lib/module/utils/hooks/useIsForeground.js.map +1 -0
- package/lib/module/utils/index.js +2 -1
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts +0 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/screens/FingerAuth/FingerAuth.d.ts +1 -2
- package/lib/typescript/src/screens/FingerAuth/FingerAuth.d.ts.map +1 -1
- package/lib/typescript/src/screens/FingerRegister/FingerRegister.d.ts +1 -2
- package/lib/typescript/src/screens/FingerRegister/FingerRegister.d.ts.map +1 -1
- package/lib/typescript/src/screens/LifeCertificate/LifeCertificate.d.ts.map +1 -1
- package/lib/typescript/src/utils/hooks/useIsForeground.d.ts +2 -0
- package/lib/typescript/src/utils/hooks/useIsForeground.d.ts.map +1 -0
- package/lib/typescript/src/utils/index.d.ts +2 -1
- package/lib/typescript/src/utils/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.tsx +0 -4
- package/src/screens/FingerAuth/FingerAuth.tsx +8 -10
- package/src/screens/FingerRegister/FingerRegister.tsx +9 -11
- package/src/screens/LifeCertificate/LifeCertificate.tsx +2 -6
- package/src/utils/hooks/useIsForeground.ts +18 -0
- package/src/utils/index.ts +2 -1
- package/lib/commonjs/screens/CadastroScreen/CadastroScreen.js +0 -186
- package/lib/commonjs/screens/CadastroScreen/CadastroScreen.js.map +0 -1
- package/lib/module/screens/CadastroScreen/CadastroScreen.js +0 -177
- package/lib/module/screens/CadastroScreen/CadastroScreen.js.map +0 -1
- package/lib/typescript/src/screens/CadastroScreen/CadastroScreen.d.ts +0 -12
- package/lib/typescript/src/screens/CadastroScreen/CadastroScreen.d.ts.map +0 -1
- package/src/screens/CadastroScreen/CadastroScreen.tsx +0 -195
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","StatusBar","View","
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","StatusBar","View","Orientation","Camera","useCameraDevice","useCameraFormat","useCameraPermission","useDispatch","useSelector","DeviceNotFound","ModalMessage","RecordButton","CameraConfigInfo","styles","useIsForeground","LifeCertificate","UID","camera","isActive","state","dispatch","hasPermission","requestPermission","intervalState","setIntervalState","timer","setTimer","device","format","videoResolution","height","width","cameraPermission","getConfig","containerRecordStyled","containerRecord","bottom","showButtonInfo","lockToPortrait","code","setModal","bpm","handleLoading","message","resetState","sendFile","file","sendLifeCertificate","videoFile","exposure","clearInterval","stopRecodingVideo","startVideoRecording","_camera$current","setIsRecording","current","startRecording","flash","fileType","onRecordingFinished","video","onRecordingError","error","console","recordingVideo","setInterval","prevTimer","_camera$current2","stopRecording","createElement","style","containerCamera","barStyle","ref","torch","zoom","focusable","fps","onPress","disabled","isRecording","loading","isLoading","modal"],"sourceRoot":"../../../../src","sources":["screens/LifeCertificate/LifeCertificate.tsx"],"mappings":"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"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { useState, useEffect } from "react";
|
2
|
+
import { AppState } from "react-native";
|
3
|
+
export const useIsForeground = () => {
|
4
|
+
const [isForeground, setIsForeground] = useState(true);
|
5
|
+
useEffect(() => {
|
6
|
+
const onChange = state => {
|
7
|
+
setIsForeground(state === "active");
|
8
|
+
};
|
9
|
+
const listener = AppState.addEventListener("change", onChange);
|
10
|
+
return () => {
|
11
|
+
listener.remove();
|
12
|
+
};
|
13
|
+
}, [setIsForeground]);
|
14
|
+
return isForeground;
|
15
|
+
};
|
16
|
+
//# sourceMappingURL=useIsForeground.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["useState","useEffect","AppState","useIsForeground","isForeground","setIsForeground","onChange","state","listener","addEventListener","remove"],"sourceRoot":"../../../../src","sources":["utils/hooks/useIsForeground.ts"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAC3C,SAASC,QAAQ,QAAwB,cAAc;AAEvD,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGL,QAAQ,CAAC,IAAI,CAAC;EAEtDC,SAAS,CAAC,MAAM;IACd,MAAMK,QAAQ,GAAIC,KAAqB,IAAW;MAChDF,eAAe,CAACE,KAAK,KAAK,QAAQ,CAAC;IACrC,CAAC;IACD,MAAMC,QAAQ,GAAGN,QAAQ,CAACO,gBAAgB,CAAC,QAAQ,EAAEH,QAAQ,CAAC;IAC9D,OAAO,MAAM;MACXE,QAAQ,CAACE,MAAM,CAAC,CAAC;IACnB,CAAC;EACH,CAAC,EAAE,CAACL,eAAe,CAAC,CAAC;EAErB,OAAOD,YAAY;AACrB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getConfigCamera"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA,OAAOA,eAAe,MAAM,mBAAmB;
|
1
|
+
{"version":3,"names":["getConfigCamera","useIsForeground"],"sourceRoot":"../../../src","sources":["utils/index.ts"],"mappings":"AAAA,OAAOA,eAAe,MAAM,mBAAmB;AAC/C,SAASC,eAAe,QAAQ,yBAAyB;AAEzD,SAASD,eAAe,EAAEC,eAAe"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC"}
|
@@ -1,9 +1,8 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
type Props = {
|
3
3
|
UID: string;
|
4
|
-
qualityPrioritization?: "speed" | "quality" | "balanced";
|
5
4
|
onSuccess: (code: number) => void;
|
6
5
|
};
|
7
|
-
declare const FingerAuth: ({ UID,
|
6
|
+
declare const FingerAuth: ({ UID, onSuccess }: Props) => JSX.Element;
|
8
7
|
export default FingerAuth;
|
9
8
|
//# sourceMappingURL=FingerAuth.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FingerAuth.d.ts","sourceRoot":"","sources":["../../../../../src/screens/FingerAuth/FingerAuth.tsx"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"FingerAuth.d.ts","sourceRoot":"","sources":["../../../../../src/screens/FingerAuth/FingerAuth.tsx"],"names":[],"mappings":";AAaA,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,QAAA,MAAM,UAAU,uBAAwB,KAAK,gBAkG5C,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
@@ -1,9 +1,8 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
type Props = {
|
3
3
|
UID: string;
|
4
|
-
qualityPrioritization: "speed" | "quality" | "balanced";
|
5
4
|
onSuccess: (code: number) => void;
|
6
5
|
};
|
7
|
-
declare const FingerRegister: ({ UID,
|
6
|
+
declare const FingerRegister: ({ UID, onSuccess }: Props) => JSX.Element;
|
8
7
|
export default FingerRegister;
|
9
8
|
//# sourceMappingURL=FingerRegister.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FingerRegister.d.ts","sourceRoot":"","sources":["../../../../../src/screens/FingerRegister/FingerRegister.tsx"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"FingerRegister.d.ts","sourceRoot":"","sources":["../../../../../src/screens/FingerRegister/FingerRegister.tsx"],"names":[],"mappings":";AAaA,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,QAAA,MAAM,cAAc,uBAAwB,KAAK,gBA6GhD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"LifeCertificate.d.ts","sourceRoot":"","sources":["../../../../../src/screens/LifeCertificate/LifeCertificate.tsx"],"names":[],"mappings":";AASA,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,QAAA,MAAM,eAAe,YAAa,KAAK,
|
1
|
+
{"version":3,"file":"LifeCertificate.d.ts","sourceRoot":"","sources":["../../../../../src/screens/LifeCertificate/LifeCertificate.tsx"],"names":[],"mappings":";AASA,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,QAAA,MAAM,eAAe,YAAa,KAAK,gBAuItC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useIsForeground.d.ts","sourceRoot":"","sources":["../../../../../src/utils/hooks/useIsForeground.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,eAc3B,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ha_tecno/live-id-sdk",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.5.0",
|
4
4
|
"description": "React Native SDK for Live ID",
|
5
5
|
"main": "lib/commonjs/index",
|
6
6
|
"module": "lib/module/index",
|
@@ -142,7 +142,7 @@
|
|
142
142
|
]
|
143
143
|
},
|
144
144
|
"dependencies": {
|
145
|
-
"@react-native
|
145
|
+
"@react-navigation/native": "^6.1.17",
|
146
146
|
"axios": "^1.6.8",
|
147
147
|
"firebase": "^10.7.2",
|
148
148
|
"react-native-device-info": "^10.13.1",
|
package/src/index.tsx
CHANGED
@@ -1,25 +1,26 @@
|
|
1
1
|
import React, { useCallback, useEffect, useRef } from "react";
|
2
2
|
import { View } from "react-native";
|
3
|
-
import { useAppState } from "@react-native-community/hooks";
|
4
3
|
import { Camera, useCameraFormat, Point, useCameraDevice, useCameraPermission } from "react-native-vision-camera";
|
5
4
|
import Orientation from "react-native-orientation-locker";
|
6
5
|
import { Gesture, GestureDetector, GestureHandlerRootView } from "react-native-gesture-handler";
|
7
6
|
import { runOnJS } from "react-native-reanimated";
|
7
|
+
import { useIsFocused } from "@react-navigation/native";
|
8
8
|
|
9
9
|
import { styles } from "./styles";
|
10
10
|
import { DeviceNotFound, Gabarito, CameraConfigInfo, ModalMessage, CaptureButton } from "../../components";
|
11
|
+
import { useIsForeground } from "../../utils";
|
11
12
|
import { useDispatch, useSelector } from "../../store/modules/fingerAuth";
|
12
13
|
|
13
14
|
type Props = {
|
14
15
|
UID: string;
|
15
|
-
qualityPrioritization?: "speed" | "quality" | "balanced";
|
16
16
|
onSuccess: (code: number) => void;
|
17
17
|
};
|
18
18
|
|
19
|
-
const FingerAuth = ({ UID,
|
19
|
+
const FingerAuth = ({ UID, onSuccess }: Props) => {
|
20
20
|
const cameraRef = useRef<Camera>(null);
|
21
|
-
const
|
22
|
-
const
|
21
|
+
const isFocused = useIsFocused();
|
22
|
+
const isForeground = useIsForeground();
|
23
|
+
const isActive = isFocused && isForeground;
|
23
24
|
const { hasPermission, requestPermission } = useCameraPermission();
|
24
25
|
const device = useCameraDevice("back");
|
25
26
|
const dispatch = useDispatch();
|
@@ -69,8 +70,7 @@ const FingerAuth = ({ UID, qualityPrioritization, onSuccess }: Props) => {
|
|
69
70
|
|
70
71
|
const takePhoto = async () => {
|
71
72
|
const photo = await cameraRef.current?.takePhoto({
|
72
|
-
qualityPrioritization:
|
73
|
-
flash: "on"
|
73
|
+
qualityPrioritization: "balanced"
|
74
74
|
});
|
75
75
|
if (photo != null) dispatch.sendImage(photo.path, UID);
|
76
76
|
};
|
@@ -99,12 +99,10 @@ const FingerAuth = ({ UID, qualityPrioritization, onSuccess }: Props) => {
|
|
99
99
|
isActive={isActive}
|
100
100
|
device={device}
|
101
101
|
format={cameraFormat}
|
102
|
-
torch={"on"}
|
103
|
-
focusable={true}
|
102
|
+
torch={isActive ? "on" : "off"}
|
104
103
|
exposure={state.exposure}
|
105
104
|
zoom={state.zoom}
|
106
105
|
photo={true}
|
107
|
-
enableHighQualityPhotos={true}
|
108
106
|
/>
|
109
107
|
<Gabarito />
|
110
108
|
</View>
|
@@ -1,25 +1,26 @@
|
|
1
1
|
import React, { useCallback, useEffect, useRef } from "react";
|
2
2
|
import { View } from "react-native";
|
3
|
-
import { useAppState } from "@react-native-community/hooks";
|
4
3
|
import { Camera, useCameraFormat, type Point, useCameraDevice, useCameraPermission } from "react-native-vision-camera";
|
5
4
|
import Orientation from "react-native-orientation-locker";
|
6
5
|
import { Gesture, GestureDetector, GestureHandlerRootView } from "react-native-gesture-handler";
|
7
6
|
import { runOnJS } from "react-native-reanimated";
|
7
|
+
import { useIsFocused } from "@react-navigation/native";
|
8
8
|
|
9
9
|
import { styles } from "./styles";
|
10
10
|
import { useSelector, useDispatch } from "../../store/modules/fingerRegister";
|
11
11
|
import { CaptureButton, DeviceNotFound, ModalMessage, CameraConfigInfo, Gabarito } from "../../components";
|
12
|
+
import { useIsForeground } from "../../utils";
|
12
13
|
|
13
14
|
type Props = {
|
14
15
|
UID: string;
|
15
|
-
qualityPrioritization: "speed" | "quality" | "balanced";
|
16
16
|
onSuccess: (code: number) => void;
|
17
17
|
};
|
18
18
|
|
19
|
-
const FingerRegister = ({ UID,
|
19
|
+
const FingerRegister = ({ UID, onSuccess }: Props) => {
|
20
20
|
const cameraRef = useRef<Camera>(null);
|
21
|
-
const
|
22
|
-
const
|
21
|
+
const isFocused = useIsFocused();
|
22
|
+
const isForeground = useIsForeground();
|
23
|
+
const isActive = isFocused && isForeground;
|
23
24
|
const { hasPermission, requestPermission } = useCameraPermission();
|
24
25
|
const state = useSelector();
|
25
26
|
const dispatch = useDispatch();
|
@@ -80,8 +81,7 @@ const FingerRegister = ({ UID, qualityPrioritization, onSuccess }: Props) => {
|
|
80
81
|
|
81
82
|
const takePhoto = async () => {
|
82
83
|
const photo = await cameraRef.current?.takePhoto({
|
83
|
-
qualityPrioritization:
|
84
|
-
flash: "on"
|
84
|
+
qualityPrioritization: "balanced"
|
85
85
|
});
|
86
86
|
if (photo != null) dispatch.setImagePath(photo.path);
|
87
87
|
};
|
@@ -107,15 +107,13 @@ const FingerRegister = ({ UID, qualityPrioritization, onSuccess }: Props) => {
|
|
107
107
|
<Camera
|
108
108
|
ref={cameraRef}
|
109
109
|
style={styles.camera}
|
110
|
-
isActive={isActive}
|
111
110
|
device={device}
|
112
111
|
format={cameraFormat}
|
113
|
-
|
114
|
-
|
112
|
+
isActive={isActive}
|
113
|
+
torch={isActive ? "on" : "off"}
|
115
114
|
exposure={state.exposure}
|
116
115
|
zoom={state.zoom}
|
117
116
|
photo={true}
|
118
|
-
enableHighQualityPhotos={true}
|
119
117
|
/>
|
120
118
|
<Gabarito />
|
121
119
|
</View>
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
2
2
|
import { StatusBar, View } from "react-native";
|
3
|
-
import { useAppState } from "@react-native-community/hooks";
|
4
3
|
import Orientation from "react-native-orientation-locker";
|
5
4
|
import { Camera, VideoFile, useCameraDevice, useCameraFormat, useCameraPermission } from "react-native-vision-camera";
|
6
5
|
import { useDispatch, useSelector } from "../../store/modules/lifeCertificate";
|
7
6
|
import { DeviceNotFound, ModalMessage, RecordButton, CameraConfigInfo } from "../../components";
|
8
7
|
import { styles } from "./styles";
|
8
|
+
import { useIsForeground } from "../../utils";
|
9
9
|
|
10
10
|
type Props = {
|
11
11
|
UID: string;
|
@@ -13,8 +13,7 @@ type Props = {
|
|
13
13
|
|
14
14
|
const LifeCertificate = ({ UID }: Props) => {
|
15
15
|
const camera = useRef<Camera>(null);
|
16
|
-
const
|
17
|
-
const isActive = appState === "active";
|
16
|
+
const isActive = useIsForeground();
|
18
17
|
const state = useSelector();
|
19
18
|
const dispatch = useDispatch();
|
20
19
|
const { hasPermission, requestPermission } = useCameraPermission();
|
@@ -133,10 +132,7 @@ const LifeCertificate = ({ UID }: Props) => {
|
|
133
132
|
exposure={state.exposure}
|
134
133
|
zoom={state.zoom}
|
135
134
|
focusable={true}
|
136
|
-
photo={true}
|
137
|
-
enableHighQualityPhotos={true}
|
138
135
|
fps={30}
|
139
|
-
pixelFormat="native"
|
140
136
|
/>
|
141
137
|
<View style={containerRecordStyled}>
|
142
138
|
<RecordButton
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { useState, useEffect } from "react";
|
2
|
+
import { AppState, AppStateStatus } from "react-native";
|
3
|
+
|
4
|
+
export const useIsForeground = () => {
|
5
|
+
const [isForeground, setIsForeground] = useState(true);
|
6
|
+
|
7
|
+
useEffect(() => {
|
8
|
+
const onChange = (state: AppStateStatus): void => {
|
9
|
+
setIsForeground(state === "active");
|
10
|
+
};
|
11
|
+
const listener = AppState.addEventListener("change", onChange);
|
12
|
+
return () => {
|
13
|
+
listener.remove();
|
14
|
+
};
|
15
|
+
}, [setIsForeground]);
|
16
|
+
|
17
|
+
return isForeground;
|
18
|
+
};
|
package/src/utils/index.ts
CHANGED
@@ -1,186 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.CadastroScreen = void 0;
|
7
|
-
var _react = _interopRequireWildcard(require("react"));
|
8
|
-
var _reactNative = require("react-native");
|
9
|
-
var _services = require("../../services");
|
10
|
-
var _reactNativeModal = _interopRequireDefault(require("react-native-modal"));
|
11
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
12
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
13
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
14
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* eslint-disable react-native/no-inline-styles */
|
15
|
-
const CadastroScreen = ({
|
16
|
-
isVisible = false,
|
17
|
-
onCloseModal,
|
18
|
-
onError,
|
19
|
-
onSuccess,
|
20
|
-
ModalParams
|
21
|
-
}) => {
|
22
|
-
const [cpf, setCpf] = (0, _react.useState)("");
|
23
|
-
const [nome, setNome] = (0, _react.useState)("");
|
24
|
-
const [senha, setSenha] = (0, _react.useState)("");
|
25
|
-
const [confirmarSenha, setConfirmarSenha] = (0, _react.useState)("");
|
26
|
-
const generateRandomElevenDigits = () => {
|
27
|
-
let cpf = "";
|
28
|
-
for (let i = 0; i < 11; i++) {
|
29
|
-
cpf += Math.floor(Math.random() * 9);
|
30
|
-
}
|
31
|
-
return cpf;
|
32
|
-
};
|
33
|
-
const generateRandomName = () => {
|
34
|
-
// uma strin aleatória de 10 caracteres a 14 caracteres
|
35
|
-
let name = "";
|
36
|
-
const length = Math.floor(Math.random() * 5) + 10;
|
37
|
-
for (let i = 0; i < length; i++) {
|
38
|
-
name += String.fromCharCode(Math.floor(Math.random() * 26) + 97);
|
39
|
-
}
|
40
|
-
return name;
|
41
|
-
};
|
42
|
-
(0, _react.useEffect)(() => {
|
43
|
-
generateRnadomUser();
|
44
|
-
}, []);
|
45
|
-
const generateRnadomUser = () => {
|
46
|
-
setCpf(generateRandomElevenDigits());
|
47
|
-
setNome(generateRandomName());
|
48
|
-
setSenha("123");
|
49
|
-
setConfirmarSenha("123");
|
50
|
-
};
|
51
|
-
const handleCadastro = async () => {
|
52
|
-
try {
|
53
|
-
if (senha === confirmarSenha) {
|
54
|
-
const response = await (0, _services.cadastro)(cpf, nome, senha);
|
55
|
-
console.log(response);
|
56
|
-
var jsonString = JSON.stringify(response);
|
57
|
-
onSuccess && onSuccess(response);
|
58
|
-
onCloseModalHandler();
|
59
|
-
if (jsonString.includes("person_id")) {
|
60
|
-
if (response.finger === false) {
|
61
|
-
// openModal({
|
62
|
-
// type: 'ajuda',
|
63
|
-
// screenProps: {
|
64
|
-
// id: response.person_id,
|
65
|
-
// },
|
66
|
-
// });
|
67
|
-
} else {
|
68
|
-
// openModal({
|
69
|
-
// type: 'login',
|
70
|
-
// });
|
71
|
-
}
|
72
|
-
} else if (jsonString.includes("User exists")) {
|
73
|
-
_reactNative.Alert.alert("Usuário já cadastrado!");
|
74
|
-
// openModal({
|
75
|
-
// type: 'login',
|
76
|
-
// });
|
77
|
-
} else if (jsonString.includes("erro")) {
|
78
|
-
_reactNative.Alert.alert("Usuário não cadastrado", "Por favor, cadastre-se!");
|
79
|
-
} else {
|
80
|
-
_reactNative.Alert.alert("Erro", "Ocorreu um erro ao fazer o Cadastro. Por favor, tente novamente mais tarde.");
|
81
|
-
}
|
82
|
-
} else {
|
83
|
-
_reactNative.Alert.alert("Erro", "As senhas não coincidem. Por favor, tente novamente.");
|
84
|
-
return;
|
85
|
-
}
|
86
|
-
} catch (error) {
|
87
|
-
onError && onError(error);
|
88
|
-
console.error(error);
|
89
|
-
}
|
90
|
-
};
|
91
|
-
const onCloseModalHandler = () => {
|
92
|
-
onCloseModal && onCloseModal();
|
93
|
-
generateRnadomUser();
|
94
|
-
};
|
95
|
-
return /*#__PURE__*/_react.default.createElement(_reactNativeModal.default, _extends({
|
96
|
-
style: {
|
97
|
-
margin: 0
|
98
|
-
},
|
99
|
-
isVisible: isVisible,
|
100
|
-
swipeDirection: "down",
|
101
|
-
propagateSwipe: true,
|
102
|
-
onSwipeComplete: onCloseModalHandler
|
103
|
-
}, ModalParams), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
104
|
-
style: styles.container
|
105
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
|
106
|
-
source: require("../../assets/logo.png"),
|
107
|
-
style: styles.logo
|
108
|
-
}), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
109
|
-
style: styles.title
|
110
|
-
}, "Cadastro de usu\xE1rio"), /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
|
111
|
-
style: styles.input,
|
112
|
-
placeholder: "CPF",
|
113
|
-
placeholderTextColor: "#000",
|
114
|
-
keyboardType: "numeric",
|
115
|
-
value: cpf,
|
116
|
-
onChangeText: setCpf
|
117
|
-
}), /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
|
118
|
-
style: styles.input,
|
119
|
-
placeholder: "Nome",
|
120
|
-
placeholderTextColor: "#000",
|
121
|
-
value: nome,
|
122
|
-
onChangeText: setNome
|
123
|
-
}), /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
|
124
|
-
style: styles.input,
|
125
|
-
placeholder: "Digite a senha",
|
126
|
-
placeholderTextColor: "#000",
|
127
|
-
secureTextEntry: true,
|
128
|
-
value: senha,
|
129
|
-
onChangeText: text => setSenha(text)
|
130
|
-
}), /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, {
|
131
|
-
style: styles.input,
|
132
|
-
placeholderTextColor: "#000",
|
133
|
-
placeholder: "Digite a senha novamente",
|
134
|
-
secureTextEntry: true,
|
135
|
-
value: confirmarSenha,
|
136
|
-
onChangeText: text => setConfirmarSenha(text)
|
137
|
-
}), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
138
|
-
style: styles.button,
|
139
|
-
onPress: handleCadastro
|
140
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
141
|
-
style: styles.buttonText
|
142
|
-
}, "Cadastrar"))));
|
143
|
-
};
|
144
|
-
exports.CadastroScreen = CadastroScreen;
|
145
|
-
const styles = _reactNative.StyleSheet.create({
|
146
|
-
container: {
|
147
|
-
flex: 1,
|
148
|
-
alignItems: "center",
|
149
|
-
justifyContent: "center",
|
150
|
-
backgroundColor: "#fff"
|
151
|
-
},
|
152
|
-
title: {
|
153
|
-
fontSize: 24,
|
154
|
-
marginBottom: 16,
|
155
|
-
color: "#00bfff"
|
156
|
-
},
|
157
|
-
input: {
|
158
|
-
width: "80%",
|
159
|
-
height: 50,
|
160
|
-
padding: 10,
|
161
|
-
borderWidth: 1,
|
162
|
-
borderColor: "#ccc",
|
163
|
-
borderRadius: 4,
|
164
|
-
marginBottom: 16,
|
165
|
-
fontSize: 16,
|
166
|
-
color: "#000"
|
167
|
-
},
|
168
|
-
button: {
|
169
|
-
width: "80%",
|
170
|
-
height: 50,
|
171
|
-
backgroundColor: "#00bfff",
|
172
|
-
borderRadius: 4,
|
173
|
-
alignItems: "center",
|
174
|
-
justifyContent: "center"
|
175
|
-
},
|
176
|
-
buttonText: {
|
177
|
-
fontSize: 16,
|
178
|
-
color: "#fff"
|
179
|
-
},
|
180
|
-
logo: {
|
181
|
-
width: 500,
|
182
|
-
height: 250,
|
183
|
-
resizeMode: "contain"
|
184
|
-
}
|
185
|
-
});
|
186
|
-
//# sourceMappingURL=CadastroScreen.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_services","_reactNativeModal","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","CadastroScreen","isVisible","onCloseModal","onError","onSuccess","ModalParams","cpf","setCpf","useState","nome","setNome","senha","setSenha","confirmarSenha","setConfirmarSenha","generateRandomElevenDigits","Math","floor","random","generateRandomName","name","String","fromCharCode","useEffect","generateRnadomUser","handleCadastro","response","cadastro","console","log","jsonString","JSON","stringify","onCloseModalHandler","includes","finger","Alert","alert","error","createElement","style","margin","swipeDirection","propagateSwipe","onSwipeComplete","View","styles","container","Image","logo","Text","title","TextInput","input","placeholder","placeholderTextColor","keyboardType","value","onChangeText","secureTextEntry","text","TouchableOpacity","button","onPress","buttonText","exports","StyleSheet","create","flex","alignItems","justifyContent","backgroundColor","fontSize","marginBottom","color","width","height","padding","borderWidth","borderColor","borderRadius","resizeMode"],"sourceRoot":"../../../../src","sources":["screens/CadastroScreen/CadastroScreen.tsx"],"mappings":"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"}
|