assentify-sdk-react-native 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/lib/commonjs/AssentifyProvider.js +49 -2
- package/lib/commonjs/AssentifyProvider.js.map +1 -1
- package/lib/commonjs/AssentifyWrapper.js +13 -30
- package/lib/commonjs/AssentifyWrapper.js.map +1 -1
- package/lib/commonjs/components/BackButton.js +33 -0
- package/lib/commonjs/components/BackButton.js.map +1 -0
- package/lib/commonjs/components/BaseButton.js +41 -0
- package/lib/commonjs/components/BaseButton.js.map +1 -0
- package/lib/commonjs/components/BaseIcon.js +83 -0
- package/lib/commonjs/components/BaseIcon.js.map +1 -0
- package/lib/commonjs/components/CloseButton.js +33 -0
- package/lib/commonjs/components/CloseButton.js.map +1 -0
- package/lib/commonjs/components/CustomHeader.js +54 -0
- package/lib/commonjs/components/CustomHeader.js.map +1 -0
- package/lib/commonjs/components/Each.js +16 -0
- package/lib/commonjs/components/Each.js.map +1 -0
- package/lib/commonjs/components/Page.js +45 -0
- package/lib/commonjs/components/Page.js.map +1 -0
- package/lib/commonjs/components/icons/arrow-left.js +28 -0
- package/lib/commonjs/components/icons/arrow-left.js.map +1 -0
- package/lib/commonjs/components/icons/big-warning.js +34 -0
- package/lib/commonjs/components/icons/big-warning.js.map +1 -0
- package/lib/commonjs/components/icons/check-success.js +28 -0
- package/lib/commonjs/components/icons/check-success.js.map +1 -0
- package/lib/commonjs/components/icons/chevron-down.js +28 -0
- package/lib/commonjs/components/icons/chevron-down.js.map +1 -0
- package/lib/commonjs/components/icons/chevron-left.js +28 -0
- package/lib/commonjs/components/icons/chevron-left.js.map +1 -0
- package/lib/commonjs/components/icons/chevron-right.js +28 -0
- package/lib/commonjs/components/icons/chevron-right.js.map +1 -0
- package/lib/commonjs/components/icons/chevron-up.js +27 -0
- package/lib/commonjs/components/icons/chevron-up.js.map +1 -0
- package/lib/commonjs/components/icons/close.js +28 -0
- package/lib/commonjs/components/icons/close.js.map +1 -0
- package/lib/commonjs/components/type.js +2 -0
- package/lib/commonjs/components/type.js.map +1 -0
- package/lib/commonjs/helpers/NavigationService.js +80 -0
- package/lib/commonjs/helpers/NavigationService.js.map +1 -0
- package/lib/commonjs/helpers/constants.js +16 -0
- package/lib/commonjs/helpers/constants.js.map +1 -0
- package/lib/commonjs/helpers/useBackHandler.js +16 -0
- package/lib/commonjs/helpers/useBackHandler.js.map +1 -0
- package/lib/commonjs/navigator/index.js +30 -0
- package/lib/commonjs/navigator/index.js.map +1 -0
- package/lib/commonjs/screens/SelectDocument.js +248 -0
- package/lib/commonjs/screens/SelectDocument.js.map +1 -0
- package/lib/commonjs/themes/index.js +22 -0
- package/lib/commonjs/themes/index.js.map +1 -0
- package/lib/commonjs/themes/styling.js +64 -0
- package/lib/commonjs/themes/styling.js.map +1 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useGlobalStore.js +52 -0
- package/lib/commonjs/useGlobalStore.js.map +1 -0
- package/lib/module/AssentifyProvider.js +50 -2
- package/lib/module/AssentifyProvider.js.map +1 -1
- package/lib/module/AssentifyWrapper.js +13 -31
- package/lib/module/AssentifyWrapper.js.map +1 -1
- package/lib/module/components/BackButton.js +26 -0
- package/lib/module/components/BackButton.js.map +1 -0
- package/lib/module/components/BaseButton.js +34 -0
- package/lib/module/components/BaseButton.js.map +1 -0
- package/lib/module/components/BaseIcon.js +76 -0
- package/lib/module/components/BaseIcon.js.map +1 -0
- package/lib/module/components/CloseButton.js +26 -0
- package/lib/module/components/CloseButton.js.map +1 -0
- package/lib/module/components/CustomHeader.js +47 -0
- package/lib/module/components/CustomHeader.js.map +1 -0
- package/lib/module/components/Each.js +9 -0
- package/lib/module/components/Each.js.map +1 -0
- package/lib/module/components/Page.js +38 -0
- package/lib/module/components/Page.js.map +1 -0
- package/lib/module/components/icons/arrow-left.js +19 -0
- package/lib/module/components/icons/arrow-left.js.map +1 -0
- package/lib/module/components/icons/big-warning.js +25 -0
- package/lib/module/components/icons/big-warning.js.map +1 -0
- package/lib/module/components/icons/check-success.js +19 -0
- package/lib/module/components/icons/check-success.js.map +1 -0
- package/lib/module/components/icons/chevron-down.js +19 -0
- package/lib/module/components/icons/chevron-down.js.map +1 -0
- package/lib/module/components/icons/chevron-left.js +19 -0
- package/lib/module/components/icons/chevron-left.js.map +1 -0
- package/lib/module/components/icons/chevron-right.js +19 -0
- package/lib/module/components/icons/chevron-right.js.map +1 -0
- package/lib/module/components/icons/chevron-up.js +19 -0
- package/lib/module/components/icons/chevron-up.js.map +1 -0
- package/lib/module/components/icons/close.js +19 -0
- package/lib/module/components/icons/close.js.map +1 -0
- package/lib/module/components/type.js +2 -0
- package/lib/module/components/type.js.map +1 -0
- package/lib/module/helpers/NavigationService.js +75 -0
- package/lib/module/helpers/NavigationService.js.map +1 -0
- package/lib/module/helpers/constants.js +10 -0
- package/lib/module/helpers/constants.js.map +1 -0
- package/lib/module/helpers/useBackHandler.js +10 -0
- package/lib/module/helpers/useBackHandler.js.map +1 -0
- package/lib/module/navigator/index.js +23 -0
- package/lib/module/navigator/index.js.map +1 -0
- package/lib/module/screens/SelectDocument.js +240 -0
- package/lib/module/screens/SelectDocument.js.map +1 -0
- package/lib/module/themes/index.js +16 -0
- package/lib/module/themes/index.js.map +1 -0
- package/lib/module/themes/styling.js +52 -0
- package/lib/module/themes/styling.js.map +1 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/useGlobalStore.js +46 -0
- package/lib/module/useGlobalStore.js.map +1 -0
- package/lib/typescript/example/src/Home.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/AssentifyProvider.d.ts +2 -0
- package/lib/typescript/lib/commonjs/AssentifyProvider.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/AssentifyWrapper.d.ts +1 -0
- package/lib/typescript/lib/commonjs/AssentifyWrapper.d.ts.map +1 -1
- package/lib/typescript/lib/commonjs/components/BackButton.d.ts +6 -0
- package/lib/typescript/lib/commonjs/components/BackButton.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/BaseButton.d.ts +7 -0
- package/lib/typescript/lib/commonjs/components/BaseButton.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/BaseIcon.d.ts +29 -0
- package/lib/typescript/lib/commonjs/components/BaseIcon.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/CloseButton.d.ts +6 -0
- package/lib/typescript/lib/commonjs/components/CloseButton.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/CustomHeader.d.ts +9 -0
- package/lib/typescript/lib/commonjs/components/CustomHeader.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/Each.d.ts +7 -0
- package/lib/typescript/lib/commonjs/components/Each.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/Page.d.ts +14 -0
- package/lib/typescript/lib/commonjs/components/Page.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/icons/arrow-left.d.ts +4 -0
- package/lib/typescript/lib/commonjs/components/icons/arrow-left.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/icons/big-warning.d.ts +4 -0
- package/lib/typescript/lib/commonjs/components/icons/big-warning.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/icons/check-success.d.ts +4 -0
- package/lib/typescript/lib/commonjs/components/icons/check-success.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/icons/chevron-down.d.ts +4 -0
- package/lib/typescript/lib/commonjs/components/icons/chevron-down.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/icons/chevron-left.d.ts +4 -0
- package/lib/typescript/lib/commonjs/components/icons/chevron-left.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/icons/chevron-right.d.ts +4 -0
- package/lib/typescript/lib/commonjs/components/icons/chevron-right.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/icons/chevron-up.d.ts +4 -0
- package/lib/typescript/lib/commonjs/components/icons/chevron-up.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/icons/close.d.ts +4 -0
- package/lib/typescript/lib/commonjs/components/icons/close.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/type.d.ts +1 -0
- package/lib/typescript/lib/commonjs/components/type.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/helpers/NavigationService.d.ts +29 -0
- package/lib/typescript/lib/commonjs/helpers/NavigationService.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/helpers/constants.d.ts +11 -0
- package/lib/typescript/lib/commonjs/helpers/constants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/helpers/useBackHandler.d.ts +3 -0
- package/lib/typescript/lib/commonjs/helpers/useBackHandler.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/navigator/index.d.ts +4 -0
- package/lib/typescript/lib/commonjs/navigator/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/screens/SelectDocument.d.ts +4 -0
- package/lib/typescript/lib/commonjs/screens/SelectDocument.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/themes/index.d.ts +17 -0
- package/lib/typescript/lib/commonjs/themes/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/themes/styling.d.ts +8 -0
- package/lib/typescript/lib/commonjs/themes/styling.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/useGlobalStore.d.ts +5 -0
- package/lib/typescript/lib/commonjs/useGlobalStore.d.ts.map +1 -0
- package/lib/typescript/lib/module/AssentifyProvider.d.ts +3 -1
- package/lib/typescript/lib/module/AssentifyProvider.d.ts.map +1 -1
- package/lib/typescript/lib/module/AssentifyWrapper.d.ts +1 -0
- package/lib/typescript/lib/module/AssentifyWrapper.d.ts.map +1 -1
- package/lib/typescript/lib/module/components/BackButton.d.ts +7 -0
- package/lib/typescript/lib/module/components/BackButton.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/BaseButton.d.ts +8 -0
- package/lib/typescript/lib/module/components/BaseButton.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/BaseIcon.d.ts +29 -0
- package/lib/typescript/lib/module/components/BaseIcon.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/CloseButton.d.ts +7 -0
- package/lib/typescript/lib/module/components/CloseButton.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/CustomHeader.d.ts +10 -0
- package/lib/typescript/lib/module/components/CustomHeader.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/Each.d.ts +7 -0
- package/lib/typescript/lib/module/components/Each.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/Page.d.ts +15 -0
- package/lib/typescript/lib/module/components/Page.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/icons/arrow-left.d.ts +5 -0
- package/lib/typescript/lib/module/components/icons/arrow-left.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/icons/big-warning.d.ts +5 -0
- package/lib/typescript/lib/module/components/icons/big-warning.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/icons/check-success.d.ts +5 -0
- package/lib/typescript/lib/module/components/icons/check-success.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/icons/chevron-down.d.ts +5 -0
- package/lib/typescript/lib/module/components/icons/chevron-down.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/icons/chevron-left.d.ts +5 -0
- package/lib/typescript/lib/module/components/icons/chevron-left.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/icons/chevron-right.d.ts +5 -0
- package/lib/typescript/lib/module/components/icons/chevron-right.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/icons/chevron-up.d.ts +5 -0
- package/lib/typescript/lib/module/components/icons/chevron-up.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/icons/close.d.ts +5 -0
- package/lib/typescript/lib/module/components/icons/close.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/type.d.ts +1 -0
- package/lib/typescript/lib/module/components/type.d.ts.map +1 -0
- package/lib/typescript/lib/module/helpers/NavigationService.d.ts +28 -0
- package/lib/typescript/lib/module/helpers/NavigationService.d.ts.map +1 -0
- package/lib/typescript/lib/module/helpers/constants.d.ts +10 -0
- package/lib/typescript/lib/module/helpers/constants.d.ts.map +1 -0
- package/lib/typescript/lib/module/helpers/useBackHandler.d.ts +2 -0
- package/lib/typescript/lib/module/helpers/useBackHandler.d.ts.map +1 -0
- package/lib/typescript/lib/module/index.d.ts +1 -0
- package/lib/typescript/lib/module/index.d.ts.map +1 -1
- package/lib/typescript/lib/module/navigator/index.d.ts +4 -0
- package/lib/typescript/lib/module/navigator/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/screens/SelectDocument.d.ts +4 -0
- package/lib/typescript/lib/module/screens/SelectDocument.d.ts.map +1 -0
- package/lib/typescript/lib/module/themes/index.d.ts +16 -0
- package/lib/typescript/lib/module/themes/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/themes/styling.d.ts +7 -0
- package/lib/typescript/lib/module/themes/styling.d.ts.map +1 -0
- package/lib/typescript/lib/module/useGlobalStore.d.ts +3 -0
- package/lib/typescript/lib/module/useGlobalStore.d.ts.map +1 -0
- package/lib/typescript/src/AssentifyProvider.d.ts +3 -0
- package/lib/typescript/src/AssentifyProvider.d.ts.map +1 -1
- package/lib/typescript/src/AssentifyWrapper.d.ts +1 -0
- package/lib/typescript/src/AssentifyWrapper.d.ts.map +1 -1
- package/lib/typescript/src/components/BackButton.d.ts +7 -0
- package/lib/typescript/src/components/BackButton.d.ts.map +1 -0
- package/lib/typescript/src/components/BaseButton.d.ts +8 -0
- package/lib/typescript/src/components/BaseButton.d.ts.map +1 -0
- package/lib/typescript/src/components/BaseIcon.d.ts +45 -0
- package/lib/typescript/src/components/BaseIcon.d.ts.map +1 -0
- package/lib/typescript/src/components/CloseButton.d.ts +7 -0
- package/lib/typescript/src/components/CloseButton.d.ts.map +1 -0
- package/lib/typescript/src/components/CustomHeader.d.ts +12 -0
- package/lib/typescript/src/components/CustomHeader.d.ts.map +1 -0
- package/lib/typescript/src/components/Each.d.ts +8 -0
- package/lib/typescript/src/components/Each.d.ts.map +1 -0
- package/lib/typescript/src/components/Page.d.ts +17 -0
- package/lib/typescript/src/components/Page.d.ts.map +1 -0
- package/lib/typescript/src/components/icons/arrow-left.d.ts +4 -0
- package/lib/typescript/src/components/icons/arrow-left.d.ts.map +1 -0
- package/lib/typescript/src/components/icons/big-warning.d.ts +4 -0
- package/lib/typescript/src/components/icons/big-warning.d.ts.map +1 -0
- package/lib/typescript/src/components/icons/check-success.d.ts +4 -0
- package/lib/typescript/src/components/icons/check-success.d.ts.map +1 -0
- package/lib/typescript/src/components/icons/chevron-down.d.ts +4 -0
- package/lib/typescript/src/components/icons/chevron-down.d.ts.map +1 -0
- package/lib/typescript/src/components/icons/chevron-left.d.ts +4 -0
- package/lib/typescript/src/components/icons/chevron-left.d.ts.map +1 -0
- package/lib/typescript/src/components/icons/chevron-right.d.ts +4 -0
- package/lib/typescript/src/components/icons/chevron-right.d.ts.map +1 -0
- package/lib/typescript/src/components/icons/chevron-up.d.ts +4 -0
- package/lib/typescript/src/components/icons/chevron-up.d.ts.map +1 -0
- package/lib/typescript/src/components/icons/close.d.ts +4 -0
- package/lib/typescript/src/components/icons/close.d.ts.map +1 -0
- package/lib/typescript/src/components/type.d.ts +3 -0
- package/lib/typescript/src/components/type.d.ts.map +1 -0
- package/lib/typescript/src/helpers/NavigationService.d.ts +29 -0
- package/lib/typescript/src/helpers/NavigationService.d.ts.map +1 -0
- package/lib/typescript/src/helpers/constants.d.ts +10 -0
- package/lib/typescript/src/helpers/constants.d.ts.map +1 -0
- package/lib/typescript/src/helpers/useBackHandler.d.ts +2 -0
- package/lib/typescript/src/helpers/useBackHandler.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/navigator/index.d.ts +4 -0
- package/lib/typescript/src/navigator/index.d.ts.map +1 -0
- package/lib/typescript/src/screens/SelectDocument.d.ts +5 -0
- package/lib/typescript/src/screens/SelectDocument.d.ts.map +1 -0
- package/lib/typescript/src/themes/index.d.ts +16 -0
- package/lib/typescript/src/themes/index.d.ts.map +1 -0
- package/lib/typescript/src/themes/styling.d.ts +7 -0
- package/lib/typescript/src/themes/styling.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +2 -0
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useGlobalStore.d.ts +25 -0
- package/lib/typescript/src/useGlobalStore.d.ts.map +1 -0
- package/package.json +1 -2
- package/src/AssentifyProvider.tsx +59 -5
- package/src/AssentifyWrapper.ts +29 -71
- package/src/components/BackButton.tsx +28 -0
- package/src/components/BaseButton.tsx +44 -0
- package/src/components/BaseIcon.tsx +96 -0
- package/src/components/CloseButton.tsx +28 -0
- package/src/components/CustomHeader.tsx +58 -0
- package/src/components/Each.tsx +12 -0
- package/src/components/Page.tsx +64 -0
- package/src/components/icons/arrow-left.tsx +22 -0
- package/src/components/icons/big-warning.tsx +29 -0
- package/src/components/icons/check-success.tsx +22 -0
- package/src/components/icons/chevron-down.tsx +22 -0
- package/src/components/icons/chevron-left.tsx +22 -0
- package/src/components/icons/chevron-right.tsx +22 -0
- package/src/components/icons/chevron-up.tsx +22 -0
- package/src/components/icons/close.tsx +22 -0
- package/src/components/type.ts +11 -0
- package/src/helpers/NavigationService.ts +89 -0
- package/src/helpers/constants.ts +13 -0
- package/src/helpers/useBackHandler.ts +14 -0
- package/src/navigator/index.tsx +34 -0
- package/src/screens/SelectDocument.tsx +250 -0
- package/src/themes/index.ts +16 -0
- package/src/themes/styling.ts +53 -0
- package/src/types.ts +3 -0
- package/src/useGlobalStore.ts +65 -0
|
@@ -25,15 +25,38 @@ import JsonParserPassport from './helpers/parsers/PassportParser';
|
|
|
25
25
|
import JsonParserFaceMatch from './helpers/parsers/FaceMatchParser';
|
|
26
26
|
import JsonParserIdCard from './helpers/parsers/IDCardParser';
|
|
27
27
|
import JsonParserOtherID from './helpers/parsers/OtherIDParser';
|
|
28
|
-
|
|
28
|
+
import './navigator';
|
|
29
|
+
import NavigationContainer from './navigator';
|
|
30
|
+
import {
|
|
31
|
+
BottomSheetModal,
|
|
32
|
+
BottomSheetModalProvider,
|
|
33
|
+
} from '@gorhom/bottom-sheet';
|
|
34
|
+
import useGlobalStore from './useGlobalStore';
|
|
29
35
|
const { NativeAssentifySdk } = NativeModules;
|
|
36
|
+
const AssentifySdk = NativeModules.NativeAssentifySdk
|
|
30
37
|
|
|
31
|
-
const AssentifyContext = createContext<undefined>(undefined);
|
|
32
38
|
|
|
39
|
+
export const bottomSheetModalRef = useRef<BottomSheetModal>(null);
|
|
40
|
+
export const kycDocumentDetailsSize = useRef<number | null>(null);
|
|
41
|
+
const AssentifyContext = createContext<undefined>(undefined);
|
|
42
|
+
const { setSupportedCountries } = useGlobalStore();
|
|
33
43
|
LogBox.ignoreAllLogs();
|
|
44
|
+
|
|
45
|
+
let imageUrl = '';
|
|
46
|
+
let isFlow = false;
|
|
47
|
+
let order = 0;
|
|
48
|
+
|
|
34
49
|
const AssentifyProvider = () => {
|
|
50
|
+
const snapPoints = useMemo(() => ['100%'], []);
|
|
35
51
|
|
|
36
52
|
|
|
53
|
+
const handleSheetChanges = (index: number) => {
|
|
54
|
+
if (index === -1) {
|
|
55
|
+
isFlow = false;
|
|
56
|
+
} else {
|
|
57
|
+
isFlow = true;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
37
60
|
|
|
38
61
|
useEffect(() => {
|
|
39
62
|
const emitter = new NativeEventEmitter(NativeAssentifySdk);
|
|
@@ -43,6 +66,7 @@ const AssentifyProvider = () => {
|
|
|
43
66
|
if(result?.assentifySdkInitSuccess!=null){
|
|
44
67
|
if (result?.assentifySdkInitSuccess) {
|
|
45
68
|
const templates = JSON.parse(result?.AssentifySdkHasTemplates ) as TemplatesByCountry[];
|
|
69
|
+
setSupportedCountries(templates as TemplatesByCountry[]);
|
|
46
70
|
DeviceEventEmitter.emit('assentifySdkInit',{"status":true,"templates":templates});
|
|
47
71
|
}else{
|
|
48
72
|
DeviceEventEmitter.emit('assentifySdkInit',{"status":false});
|
|
@@ -55,12 +79,28 @@ const AssentifyProvider = () => {
|
|
|
55
79
|
if (result?.PassportDataModel) {
|
|
56
80
|
const response = JsonParserPassport(result?.PassportDataModel);
|
|
57
81
|
DeviceEventEmitter.emit('onCompletePassport',{"passportExtractedModel":response});
|
|
82
|
+
if(isFlow === true){
|
|
83
|
+
AssentifySdk.startFaceMatch(response.imageUrl,true);
|
|
84
|
+
}
|
|
58
85
|
} else if (result?.FaceMatchDataModel) {
|
|
59
86
|
const response = JsonParserFaceMatch(result?.FaceMatchDataModel);
|
|
60
|
-
|
|
87
|
+
DeviceEventEmitter.emit('onCompleteFaceMatch',{"faceExtractedModel":response});
|
|
88
|
+
if(isFlow === true){
|
|
89
|
+
DeviceEventEmitter.emit('onFlowComplete',{});
|
|
90
|
+
bottomSheetModalRef.current?.dismiss();
|
|
91
|
+
}
|
|
61
92
|
} else if (result?.IdDataModel) {
|
|
62
93
|
const response = JsonParserIdCard(result?.IdDataModel);
|
|
63
|
-
|
|
94
|
+
DeviceEventEmitter.emit('onCompleteIDCard',{"iDExtractedModel":response});
|
|
95
|
+
order = order + 1;
|
|
96
|
+
if(isFlow === true){
|
|
97
|
+
if (order === 1) {
|
|
98
|
+
imageUrl = response.imageUrl ?? '';
|
|
99
|
+
}
|
|
100
|
+
if(kycDocumentDetailsSize.current === order){
|
|
101
|
+
AssentifySdk.startFaceMatch(imageUrl,true);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
64
104
|
} else if (result?.OtherDataModel) {
|
|
65
105
|
const response = JsonParserOtherID(result?.OtherDataModel);
|
|
66
106
|
DeviceEventEmitter.emit('onCompleteOther',{"otherExtractedModel":response});
|
|
@@ -180,7 +220,21 @@ const AssentifyProvider = () => {
|
|
|
180
220
|
]);
|
|
181
221
|
|
|
182
222
|
return (
|
|
183
|
-
|
|
223
|
+
<AssentifyContext.Provider value={undefined}>
|
|
224
|
+
<BottomSheetModalProvider>
|
|
225
|
+
<BottomSheetModal
|
|
226
|
+
handleComponent={null}
|
|
227
|
+
enablePanDownToClose={false}
|
|
228
|
+
enableHandlePanningGesture={true}
|
|
229
|
+
enableContentPanningGesture={false}
|
|
230
|
+
ref={bottomSheetModalRef}
|
|
231
|
+
index={0}
|
|
232
|
+
onChange={handleSheetChanges}
|
|
233
|
+
snapPoints={snapPoints}
|
|
234
|
+
>
|
|
235
|
+
<NavigationContainer />
|
|
236
|
+
</BottomSheetModal>
|
|
237
|
+
</BottomSheetModalProvider>
|
|
184
238
|
</AssentifyContext.Provider>
|
|
185
239
|
);
|
|
186
240
|
};
|
package/src/AssentifyWrapper.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { NativeModules, Platform, Alert, Linking } from 'react-native';
|
|
2
|
-
import { request, PERMISSIONS, RESULTS } from 'react-native-permissions';
|
|
3
2
|
import { type LanguageCode } from './Language';
|
|
4
3
|
import { type KycDocumentDetails } from './types';
|
|
5
|
-
|
|
4
|
+
import NavigationService from './helpers/NavigationService';
|
|
5
|
+
import { PAGES } from './helpers/constants';
|
|
6
|
+
import { bottomSheetModalRef } from './AssentifyProvider';
|
|
7
|
+
import React, { useContext } from 'react';
|
|
8
|
+
import useGlobalStore from './useGlobalStore';
|
|
6
9
|
const LINKING_ERROR =
|
|
7
10
|
`The package 'assentify-sdk-react-native-react-native' doesn't seem to be linked. Make sure: \n\n` +
|
|
8
11
|
Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) +
|
|
@@ -10,7 +13,7 @@ const LINKING_ERROR =
|
|
|
10
13
|
'- You are not using Expo Go\n';
|
|
11
14
|
|
|
12
15
|
const { NativeAssentifySdk } = NativeModules;
|
|
13
|
-
|
|
16
|
+
const { setFlowLanguage } = useGlobalStore();
|
|
14
17
|
const AssentifySdk = NativeModules.NativeAssentifySdk
|
|
15
18
|
? NativeModules.NativeAssentifySdk
|
|
16
19
|
: new Proxy(
|
|
@@ -22,6 +25,8 @@ const AssentifySdk = NativeModules.NativeAssentifySdk
|
|
|
22
25
|
}
|
|
23
26
|
);
|
|
24
27
|
|
|
28
|
+
|
|
29
|
+
|
|
25
30
|
const AssentifyWrapper = {
|
|
26
31
|
/// Initialize
|
|
27
32
|
initialize: function (
|
|
@@ -39,72 +44,21 @@ const AssentifyWrapper = {
|
|
|
39
44
|
enableDetect?: boolean,
|
|
40
45
|
enableGuide?: boolean
|
|
41
46
|
) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
performLivenessDocument ?? false,
|
|
58
|
-
performLivenessFace ?? false,
|
|
59
|
-
storeImageStream ?? true,
|
|
60
|
-
saveCapturedVideoID ?? true,
|
|
61
|
-
saveCapturedVideoFace ?? true,
|
|
62
|
-
ENV_CustomColor ?? '#f5a103',
|
|
63
|
-
enableDetect ?? true,
|
|
64
|
-
enableGuide ?? true
|
|
65
|
-
);
|
|
66
|
-
} else if (
|
|
67
|
-
result === RESULTS.UNAVAILABLE ||
|
|
68
|
-
result === RESULTS.DENIED ||
|
|
69
|
-
result === RESULTS.BLOCKED
|
|
70
|
-
) {
|
|
71
|
-
Alert.alert(
|
|
72
|
-
'Warning!',
|
|
73
|
-
'Please allow your camera permission in order to proceed further',
|
|
74
|
-
[
|
|
75
|
-
{
|
|
76
|
-
text: 'Open Settings',
|
|
77
|
-
onPress: () => {
|
|
78
|
-
Linking.openSettings();
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
text: 'Cancel',
|
|
83
|
-
onPress: () => {},
|
|
84
|
-
},
|
|
85
|
-
]
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
() => {
|
|
90
|
-
Alert.alert(
|
|
91
|
-
'Warning!',
|
|
92
|
-
'Please allow your camera permission in order to proceed further',
|
|
93
|
-
[
|
|
94
|
-
{
|
|
95
|
-
text: 'Open Settings',
|
|
96
|
-
onPress: () => {
|
|
97
|
-
Linking.openSettings();
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
text: 'Cancel',
|
|
102
|
-
onPress: () => {},
|
|
103
|
-
},
|
|
104
|
-
]
|
|
105
|
-
);
|
|
106
|
-
}
|
|
107
|
-
);
|
|
47
|
+
AssentifySdk.initialize(
|
|
48
|
+
apiKey,
|
|
49
|
+
tenantIdentifier,
|
|
50
|
+
instanceHash,
|
|
51
|
+
processMrz ?? true,
|
|
52
|
+
storeCapturedDocument ?? true,
|
|
53
|
+
performLivenessDocument ?? false,
|
|
54
|
+
performLivenessFace ?? false,
|
|
55
|
+
storeImageStream ?? true,
|
|
56
|
+
saveCapturedVideoID ?? true,
|
|
57
|
+
saveCapturedVideoFace ?? true,
|
|
58
|
+
ENV_CustomColor ?? '#f5a103',
|
|
59
|
+
enableDetect ?? true,
|
|
60
|
+
enableGuide ?? true
|
|
61
|
+
);
|
|
108
62
|
},
|
|
109
63
|
|
|
110
64
|
/// Passport
|
|
@@ -131,9 +85,13 @@ const AssentifyWrapper = {
|
|
|
131
85
|
/// Submit Data
|
|
132
86
|
submitData: function (dataMap:Record<string, string> ){
|
|
133
87
|
AssentifySdk.submitData(dataMap);
|
|
134
|
-
}
|
|
135
|
-
|
|
88
|
+
},
|
|
136
89
|
|
|
90
|
+
/// Start Flow
|
|
91
|
+
startFlow: function (language: LanguageCode,){
|
|
92
|
+
bottomSheetModalRef.current?.present();
|
|
93
|
+
setFlowLanguage(language)
|
|
94
|
+
}
|
|
137
95
|
|
|
138
96
|
|
|
139
97
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { StyleSheet, TouchableOpacity } from 'react-native';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { pixelSizeHorizontal } from '../themes/styling';
|
|
4
|
+
import { COLORS } from '../themes';
|
|
5
|
+
import BaseIcon from './BaseIcon';
|
|
6
|
+
|
|
7
|
+
type Props = {
|
|
8
|
+
onPress?: () => void;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const BackButton: React.FC<Props> = ({ onPress }) => {
|
|
12
|
+
return (
|
|
13
|
+
<TouchableOpacity style={styles.BackButtons} onPress={onPress}>
|
|
14
|
+
<BaseIcon name="arrow_left" color={COLORS.secondaryBase1} />
|
|
15
|
+
</TouchableOpacity>
|
|
16
|
+
);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default BackButton;
|
|
20
|
+
|
|
21
|
+
const styles = StyleSheet.create({
|
|
22
|
+
BackButtons: {
|
|
23
|
+
padding: 6,
|
|
24
|
+
justifyContent: 'center',
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
marginLeft: pixelSizeHorizontal(16),
|
|
27
|
+
},
|
|
28
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { StyleSheet, Text, TouchableOpacity } from 'react-native';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { COLORS } from '../themes';
|
|
4
|
+
import {
|
|
5
|
+
fontPixel,
|
|
6
|
+
pixelSizeHorizontal,
|
|
7
|
+
pixelSizeVertical,
|
|
8
|
+
} from '../themes/styling';
|
|
9
|
+
|
|
10
|
+
type Props = {
|
|
11
|
+
label: string;
|
|
12
|
+
onPress?: () => void;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const BaseButton: React.FC<Props> = ({ label, onPress }) => {
|
|
16
|
+
return (
|
|
17
|
+
<TouchableOpacity
|
|
18
|
+
activeOpacity={0.7}
|
|
19
|
+
style={styles.BaseButton}
|
|
20
|
+
onPress={onPress}
|
|
21
|
+
>
|
|
22
|
+
<Text style={styles.labelStyle}>{label}</Text>
|
|
23
|
+
</TouchableOpacity>
|
|
24
|
+
);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export default BaseButton;
|
|
28
|
+
|
|
29
|
+
const styles = StyleSheet.create({
|
|
30
|
+
BaseButton: {
|
|
31
|
+
backgroundColor: "#f5a103",
|
|
32
|
+
paddingVertical: pixelSizeVertical(12),
|
|
33
|
+
paddingHorizontal: pixelSizeHorizontal(16),
|
|
34
|
+
justifyContent: 'center',
|
|
35
|
+
alignItems: 'center',
|
|
36
|
+
borderRadius: 48,
|
|
37
|
+
},
|
|
38
|
+
labelStyle: {
|
|
39
|
+
fontSize: fontPixel(16),
|
|
40
|
+
fontWeight: '500',
|
|
41
|
+
lineHeight: 22,
|
|
42
|
+
color: COLORS.white,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { ThemeIcon } from './type';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
4
|
+
import ArrowLeftIcon from './icons/arrow-left';
|
|
5
|
+
import ChevronDownIcon from './icons/chevron-down';
|
|
6
|
+
import ChevronLeftIcon from './icons/chevron-left';
|
|
7
|
+
import ChevronRightIcon from './icons/chevron-right';
|
|
8
|
+
import ChevronUpIcon from './icons/chevron-up';
|
|
9
|
+
import CloseIcon from './icons/close';
|
|
10
|
+
import BigWarningIcon from './icons/big-warning';
|
|
11
|
+
import CheckSuccessIcon from './icons/check-success';
|
|
12
|
+
|
|
13
|
+
export type Props = {
|
|
14
|
+
/**
|
|
15
|
+
* Name of the icon
|
|
16
|
+
*/
|
|
17
|
+
name: ThemeIcon;
|
|
18
|
+
/**
|
|
19
|
+
* Size of the icon.
|
|
20
|
+
*/
|
|
21
|
+
size?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Custom icon's text color.
|
|
24
|
+
*/
|
|
25
|
+
color?: string;
|
|
26
|
+
/**
|
|
27
|
+
* @optional
|
|
28
|
+
* Style for icon
|
|
29
|
+
*/
|
|
30
|
+
style?: StyleProp<ViewStyle>;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* <div class="screenshots">
|
|
35
|
+
* <figure>
|
|
36
|
+
* <img class="small" src="screenshots/icon-1.png" />
|
|
37
|
+
* <figcaption>Default icon</figcaption>
|
|
38
|
+
* </figure>
|
|
39
|
+
* <figure>
|
|
40
|
+
* <img class="small" src="screenshots/icon-2.png" />
|
|
41
|
+
* <figcaption>Custom icon colors</figcaption>
|
|
42
|
+
* </figure>
|
|
43
|
+
* <figure>
|
|
44
|
+
* <img class="small" src="screenshots/icon-3.png" />
|
|
45
|
+
* <figcaption>Custom icon sizes</figcaption>
|
|
46
|
+
* </figure>
|
|
47
|
+
* </div>
|
|
48
|
+
*
|
|
49
|
+
* ## Usage
|
|
50
|
+
* ```js
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
const BaseIcon = ({ name, color, size, ...rest }: Props) => {
|
|
54
|
+
const DEFAULT_SIZE = 24;
|
|
55
|
+
|
|
56
|
+
const iconHeight = size || DEFAULT_SIZE;
|
|
57
|
+
const iconWidth = size || DEFAULT_SIZE;
|
|
58
|
+
|
|
59
|
+
const getProps = () => ({
|
|
60
|
+
color: color,
|
|
61
|
+
width: iconWidth,
|
|
62
|
+
height: iconHeight,
|
|
63
|
+
...rest,
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
switch (name) {
|
|
67
|
+
case 'chevron_down':
|
|
68
|
+
//@ts-ignore
|
|
69
|
+
return <ChevronDownIcon {...getProps()} />;
|
|
70
|
+
case 'chevron_left':
|
|
71
|
+
//@ts-ignore
|
|
72
|
+
return <ChevronLeftIcon {...getProps()} />;
|
|
73
|
+
case 'chevron_right':
|
|
74
|
+
//@ts-ignore
|
|
75
|
+
return <ChevronRightIcon {...getProps()} />;
|
|
76
|
+
case 'chevron_up':
|
|
77
|
+
//@ts-ignore
|
|
78
|
+
return <ChevronUpIcon {...getProps()} />;
|
|
79
|
+
case 'close':
|
|
80
|
+
//@ts-ignore
|
|
81
|
+
return <CloseIcon {...getProps()} />;
|
|
82
|
+
case 'arrow_left':
|
|
83
|
+
//@ts-ignore
|
|
84
|
+
return <ArrowLeftIcon {...getProps()} />;
|
|
85
|
+
case 'big_warning':
|
|
86
|
+
//@ts-ignore
|
|
87
|
+
return <BigWarningIcon {...getProps()} />;
|
|
88
|
+
case 'check_success':
|
|
89
|
+
//@ts-ignore
|
|
90
|
+
return <CheckSuccessIcon {...getProps()} />;
|
|
91
|
+
default:
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
export default BaseIcon;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { StyleSheet, TouchableOpacity } from 'react-native';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { pixelSizeHorizontal } from '../themes/styling';
|
|
4
|
+
import { COLORS } from '../themes';
|
|
5
|
+
import BaseIcon from './BaseIcon';
|
|
6
|
+
|
|
7
|
+
type Props = {
|
|
8
|
+
onPress?: () => void;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const CloseButton: React.FC<Props> = ({ onPress }) => {
|
|
12
|
+
return (
|
|
13
|
+
<TouchableOpacity style={styles.BackButtons} onPress={onPress}>
|
|
14
|
+
<BaseIcon name="close" color={COLORS.secondaryBase1} />
|
|
15
|
+
</TouchableOpacity>
|
|
16
|
+
);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default CloseButton;
|
|
20
|
+
|
|
21
|
+
const styles = StyleSheet.create({
|
|
22
|
+
BackButtons: {
|
|
23
|
+
padding: 6,
|
|
24
|
+
justifyContent: 'center',
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
marginLeft: pixelSizeHorizontal(16),
|
|
27
|
+
},
|
|
28
|
+
});
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { pixelSizeVertical } from '../themes/styling';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { View, StyleSheet, SafeAreaView } from 'react-native';
|
|
4
|
+
import type { ViewStyle, StyleProp } from 'react-native';
|
|
5
|
+
|
|
6
|
+
type HeaderSubComponent = React.ReactElement<{}> | React.ReactNode;
|
|
7
|
+
|
|
8
|
+
type CustomHeaderProps = {
|
|
9
|
+
headerLeft?: HeaderSubComponent;
|
|
10
|
+
headerRight?: HeaderSubComponent;
|
|
11
|
+
headerTitle?: HeaderSubComponent;
|
|
12
|
+
containerStyle?: StyleProp<ViewStyle>;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const CustomHeader: React.FC<CustomHeaderProps> = ({
|
|
16
|
+
headerLeft,
|
|
17
|
+
headerRight,
|
|
18
|
+
headerTitle,
|
|
19
|
+
containerStyle,
|
|
20
|
+
}) => {
|
|
21
|
+
return (
|
|
22
|
+
<SafeAreaView style={[styles.ViewHeader, containerStyle]}>
|
|
23
|
+
<View style={styles.headerLeft}>{headerLeft}</View>
|
|
24
|
+
<View style={styles.headerTitle}>{headerTitle}</View>
|
|
25
|
+
<View style={styles.headerRight}>{headerRight}</View>
|
|
26
|
+
</SafeAreaView>
|
|
27
|
+
);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export default CustomHeader;
|
|
31
|
+
|
|
32
|
+
const styles = StyleSheet.create({
|
|
33
|
+
ViewHeader: {
|
|
34
|
+
flexDirection: 'row',
|
|
35
|
+
alignItems: 'center',
|
|
36
|
+
|
|
37
|
+
marginTop: pixelSizeVertical(15),
|
|
38
|
+
width: '100%',
|
|
39
|
+
},
|
|
40
|
+
headerLeft: {
|
|
41
|
+
// flex: 1,
|
|
42
|
+
minWidth: 50,
|
|
43
|
+
justifyContent: 'center',
|
|
44
|
+
alignItems: 'flex-start',
|
|
45
|
+
},
|
|
46
|
+
headerRight: {
|
|
47
|
+
// flex: 1,
|
|
48
|
+
minWidth: 50,
|
|
49
|
+
justifyContent: 'center',
|
|
50
|
+
alignItems: 'flex-end',
|
|
51
|
+
},
|
|
52
|
+
headerTitle: {
|
|
53
|
+
flex: 1,
|
|
54
|
+
justifyContent: 'center',
|
|
55
|
+
alignItems: 'center',
|
|
56
|
+
width: 'auto',
|
|
57
|
+
},
|
|
58
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
interface EachProps {
|
|
4
|
+
render: (item: any, index: number) => React.ReactNode;
|
|
5
|
+
of?: any[];
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const Each: React.FC<EachProps> = ({ render, of }) => {
|
|
9
|
+
return React.Children.toArray(of?.map((item, index) => render(item, index)));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default Each;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ScrollView, StyleSheet, SafeAreaView } from 'react-native';
|
|
2
|
+
import type { ViewStyle, StyleProp } from 'react-native';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import CustomHeader from './CustomHeader';
|
|
5
|
+
import { COLORS } from '../themes';
|
|
6
|
+
|
|
7
|
+
type HeaderSubComponent = React.ReactElement<{}> | React.ReactNode;
|
|
8
|
+
|
|
9
|
+
type PageProps = {
|
|
10
|
+
containerStyle?: StyleProp<ViewStyle>;
|
|
11
|
+
scrollViewStyle?: StyleProp<ViewStyle>;
|
|
12
|
+
scrollViewContentContainerStyle?: StyleProp<ViewStyle>;
|
|
13
|
+
headerContainerStyle?: StyleProp<ViewStyle>;
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
footerComponent?: React.ReactNode;
|
|
16
|
+
headerLeft?: HeaderSubComponent;
|
|
17
|
+
headerRight?: HeaderSubComponent;
|
|
18
|
+
headerTitle?: HeaderSubComponent;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const Page: React.FC<PageProps> = ({
|
|
22
|
+
containerStyle,
|
|
23
|
+
scrollViewStyle,
|
|
24
|
+
scrollViewContentContainerStyle,
|
|
25
|
+
children,
|
|
26
|
+
footerComponent,
|
|
27
|
+
headerContainerStyle,
|
|
28
|
+
headerLeft,
|
|
29
|
+
headerRight,
|
|
30
|
+
headerTitle,
|
|
31
|
+
}) => {
|
|
32
|
+
return (
|
|
33
|
+
<SafeAreaView style={[styles.container, containerStyle]}>
|
|
34
|
+
<CustomHeader
|
|
35
|
+
headerLeft={headerLeft}
|
|
36
|
+
headerRight={headerRight}
|
|
37
|
+
headerTitle={headerTitle}
|
|
38
|
+
containerStyle={headerContainerStyle}
|
|
39
|
+
/>
|
|
40
|
+
<ScrollView
|
|
41
|
+
style={scrollViewStyle}
|
|
42
|
+
contentContainerStyle={[
|
|
43
|
+
styles.ScrollViewContainer,
|
|
44
|
+
scrollViewContentContainerStyle,
|
|
45
|
+
]}
|
|
46
|
+
>
|
|
47
|
+
{children}
|
|
48
|
+
</ScrollView>
|
|
49
|
+
{footerComponent}
|
|
50
|
+
</SafeAreaView>
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export default Page;
|
|
55
|
+
|
|
56
|
+
const styles = StyleSheet.create({
|
|
57
|
+
container: {
|
|
58
|
+
flex: 1,
|
|
59
|
+
backgroundColor: COLORS.white,
|
|
60
|
+
},
|
|
61
|
+
ScrollViewContainer: {
|
|
62
|
+
flexGrow: 1,
|
|
63
|
+
},
|
|
64
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Svg, { Path, type SvgProps } from 'react-native-svg';
|
|
3
|
+
|
|
4
|
+
const ArrowLeftIcon: React.FC = (props: SvgProps) => (
|
|
5
|
+
<Svg
|
|
6
|
+
width={24}
|
|
7
|
+
height={24}
|
|
8
|
+
viewBox="0 0 24 24"
|
|
9
|
+
fill="none"
|
|
10
|
+
// @ts-ignore
|
|
11
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
12
|
+
{...props}
|
|
13
|
+
>
|
|
14
|
+
<Path
|
|
15
|
+
fillRule="evenodd"
|
|
16
|
+
clipRule="evenodd"
|
|
17
|
+
d="M12.5303 5.46967C12.8232 5.76256 12.8232 6.23744 12.5303 6.53033L7.81066 11.25H18.5C18.9142 11.25 19.25 11.5858 19.25 12C19.25 12.4142 18.9142 12.75 18.5 12.75H7.81066L12.5303 17.4697C12.8232 17.7626 12.8232 18.2374 12.5303 18.5303C12.2374 18.8232 11.7626 18.8232 11.4697 18.5303L5.46967 12.5303C5.17678 12.2374 5.17678 11.7626 5.46967 11.4697L11.4697 5.46967C11.7626 5.17678 12.2374 5.17678 12.5303 5.46967Z"
|
|
18
|
+
fill={props.color}
|
|
19
|
+
/>
|
|
20
|
+
</Svg>
|
|
21
|
+
);
|
|
22
|
+
export default ArrowLeftIcon;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Svg, { Path, type SvgProps } from 'react-native-svg';
|
|
3
|
+
|
|
4
|
+
const BigWarningIcon: React.FC = (props: SvgProps) => (
|
|
5
|
+
<Svg
|
|
6
|
+
width={81}
|
|
7
|
+
height={80}
|
|
8
|
+
viewBox="0 0 81 80"
|
|
9
|
+
fill="none"
|
|
10
|
+
// @ts-ignore
|
|
11
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
12
|
+
{...props}
|
|
13
|
+
>
|
|
14
|
+
<Path
|
|
15
|
+
d="M40.5 29.9999V43.3333M67.31 69.9999H13.69C8.5633 69.9999 5.35663 64.4533 7.90996 60.0099L34.72 13.3833C37.2866 8.9266 43.7166 8.9266 46.28 13.3833L73.09 60.0099C75.6433 64.4533 72.4333 69.9999 67.31 69.9999Z"
|
|
16
|
+
stroke="#DB7742"
|
|
17
|
+
strokeWidth={3}
|
|
18
|
+
strokeLinecap="round"
|
|
19
|
+
/>
|
|
20
|
+
<Path
|
|
21
|
+
d="M40.5 56.7L40.5333 56.6633"
|
|
22
|
+
stroke="#DB7742"
|
|
23
|
+
strokeWidth={3}
|
|
24
|
+
strokeLinecap="round"
|
|
25
|
+
strokeLinejoin="round"
|
|
26
|
+
/>
|
|
27
|
+
</Svg>
|
|
28
|
+
);
|
|
29
|
+
export default BigWarningIcon;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Svg, { Path, type SvgProps } from 'react-native-svg';
|
|
3
|
+
|
|
4
|
+
const CheckSuccessIcon: React.FC = (props: SvgProps) => (
|
|
5
|
+
<Svg
|
|
6
|
+
width={25}
|
|
7
|
+
height={24}
|
|
8
|
+
viewBox="0 0 25 24"
|
|
9
|
+
fill="none"
|
|
10
|
+
// @ts-ignore
|
|
11
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
12
|
+
{...props}
|
|
13
|
+
>
|
|
14
|
+
<Path
|
|
15
|
+
fillRule="evenodd"
|
|
16
|
+
clipRule="evenodd"
|
|
17
|
+
d="M1.75 12C1.75 6.06279 6.56279 1.25 12.5 1.25C18.4372 1.25 23.25 6.06279 23.25 12C23.25 17.9372 18.4372 22.75 12.5 22.75C6.56279 22.75 1.75 17.9372 1.75 12ZM12.5 2.75C7.39121 2.75 3.25 6.89121 3.25 12C3.25 17.1088 7.39121 21.25 12.5 21.25C17.6088 21.25 21.75 17.1088 21.75 12C21.75 6.89121 17.6088 2.75 12.5 2.75ZM18.0303 7.96967C18.3232 8.26256 18.3232 8.73744 18.0303 9.03033L11.0303 16.0303C10.7374 16.3232 10.2626 16.3232 9.96967 16.0303L6.96967 13.0303C6.67678 12.7374 6.67678 12.2626 6.96967 11.9697C7.26256 11.6768 7.73744 11.6768 8.03033 11.9697L10.5 14.4393L16.9697 7.96967C17.2626 7.67678 17.7374 7.67678 18.0303 7.96967Z"
|
|
18
|
+
fill="#6BA784"
|
|
19
|
+
/>
|
|
20
|
+
</Svg>
|
|
21
|
+
);
|
|
22
|
+
export default CheckSuccessIcon;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Svg, { Path, type SvgProps } from 'react-native-svg';
|
|
3
|
+
|
|
4
|
+
const ChevronDownIcon: React.FC = (props: SvgProps) => (
|
|
5
|
+
<Svg
|
|
6
|
+
width={24}
|
|
7
|
+
height={24}
|
|
8
|
+
viewBox="0 0 24 24"
|
|
9
|
+
fill="none"
|
|
10
|
+
// @ts-ignore
|
|
11
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
12
|
+
{...props}
|
|
13
|
+
>
|
|
14
|
+
<Path
|
|
15
|
+
fillRule="evenodd"
|
|
16
|
+
clipRule="evenodd"
|
|
17
|
+
d="M5.46967 8.46967C5.76256 8.17678 6.23744 8.17678 6.53033 8.46967L12 13.9393L17.4697 8.46967C17.7626 8.17678 18.2374 8.17678 18.5303 8.46967C18.8232 8.76256 18.8232 9.23744 18.5303 9.53033L12.5303 15.5303C12.2374 15.8232 11.7626 15.8232 11.4697 15.5303L5.46967 9.53033C5.17678 9.23744 5.17678 8.76256 5.46967 8.46967Z"
|
|
18
|
+
fill={props.color}
|
|
19
|
+
/>
|
|
20
|
+
</Svg>
|
|
21
|
+
);
|
|
22
|
+
export default ChevronDownIcon;
|