@trustchex/react-native-sdk 1.484.0 → 1.485.0
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/lib/module/Screens/Static/ResultScreen.js +13 -20
- package/lib/module/Shared/Components/EIDScanner.js +3 -0
- package/lib/module/Shared/Contexts/AppContext.js +2 -0
- package/lib/module/Trustchex.js +7 -3
- package/lib/module/version.js +1 -1
- package/lib/typescript/src/Screens/Static/ResultScreen.d.ts.map +1 -1
- package/lib/typescript/src/Shared/Components/EIDScanner.d.ts.map +1 -1
- package/lib/typescript/src/Shared/Contexts/AppContext.d.ts +2 -0
- package/lib/typescript/src/Shared/Contexts/AppContext.d.ts.map +1 -1
- package/lib/typescript/src/Trustchex.d.ts +4 -0
- package/lib/typescript/src/Trustchex.d.ts.map +1 -1
- package/lib/typescript/src/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/Screens/Static/ResultScreen.tsx +15 -26
- package/src/Shared/Components/EIDScanner.tsx +8 -0
- package/src/Shared/Contexts/AppContext.ts +4 -0
- package/src/Trustchex.tsx +10 -0
- package/src/version.ts +1 -1
|
@@ -442,10 +442,15 @@ const ResultScreen = () => {
|
|
|
442
442
|
}, [appContext.identificationInfo, appContext.isDemoSession, appContext.isTestVideoSession, submit]);
|
|
443
443
|
useEffect(() => {
|
|
444
444
|
if (progress === 100 && !appContext.isDemoSession && !appContext.isTestVideoSession) {
|
|
445
|
-
|
|
445
|
+
if (appContext.skipSuccessScreen) {
|
|
446
446
|
appContext.onCompleted?.();
|
|
447
447
|
navigationManagerRef.current?.reset();
|
|
448
|
-
}
|
|
448
|
+
} else {
|
|
449
|
+
setTimeout(() => {
|
|
450
|
+
appContext.onCompleted?.();
|
|
451
|
+
navigationManagerRef.current?.reset();
|
|
452
|
+
}, 3000);
|
|
453
|
+
}
|
|
449
454
|
}
|
|
450
455
|
}, [appContext, progress]);
|
|
451
456
|
return /*#__PURE__*/_jsx(SafeAreaView, {
|
|
@@ -534,30 +539,18 @@ const ResultScreen = () => {
|
|
|
534
539
|
children: [/*#__PURE__*/_jsxs(Text, {
|
|
535
540
|
style: styles.mrzInfoLabel,
|
|
536
541
|
children: [t('eidScannerScreen.name'), ":"]
|
|
537
|
-
}), /*#__PURE__*/
|
|
538
|
-
style: styles.
|
|
539
|
-
children:
|
|
540
|
-
style: styles.mrzInfoText,
|
|
541
|
-
children: appContext.lastDocumentRead?.name.source === 'dg11' ? appContext.lastDocumentRead.name.displayFirst : appContext.identificationInfo.scannedDocument.mrzFields?.firstName
|
|
542
|
-
}), appContext.lastDocumentRead?.name.source === 'dg11' && /*#__PURE__*/_jsx(Text, {
|
|
543
|
-
style: styles.mrzInfoSubText,
|
|
544
|
-
children: appContext.identificationInfo.scannedDocument.mrzFields?.firstName
|
|
545
|
-
})]
|
|
542
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
543
|
+
style: styles.mrzInfoText,
|
|
544
|
+
children: appContext.lastDocumentRead?.name.displayFirst ?? appContext.identificationInfo.scannedDocument.mrzFields?.firstName
|
|
546
545
|
})]
|
|
547
546
|
}), /*#__PURE__*/_jsxs(View, {
|
|
548
547
|
style: styles.mrzInfoItem,
|
|
549
548
|
children: [/*#__PURE__*/_jsxs(Text, {
|
|
550
549
|
style: styles.mrzInfoLabel,
|
|
551
550
|
children: [t('eidScannerScreen.surname'), ":"]
|
|
552
|
-
}), /*#__PURE__*/
|
|
553
|
-
style: styles.
|
|
554
|
-
children:
|
|
555
|
-
style: styles.mrzInfoText,
|
|
556
|
-
children: appContext.lastDocumentRead?.name.source === 'dg11' ? appContext.lastDocumentRead.name.displayLast : appContext.identificationInfo.scannedDocument.mrzFields?.lastName
|
|
557
|
-
}), appContext.lastDocumentRead?.name.source === 'dg11' && /*#__PURE__*/_jsx(Text, {
|
|
558
|
-
style: styles.mrzInfoSubText,
|
|
559
|
-
children: appContext.identificationInfo.scannedDocument.mrzFields?.lastName
|
|
560
|
-
})]
|
|
551
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
552
|
+
style: styles.mrzInfoText,
|
|
553
|
+
children: appContext.lastDocumentRead?.name.displayLast ?? appContext.identificationInfo.scannedDocument.mrzFields?.lastName
|
|
561
554
|
})]
|
|
562
555
|
}), /*#__PURE__*/_jsxs(View, {
|
|
563
556
|
style: styles.mrzInfoItem,
|
|
@@ -195,6 +195,9 @@ const EIDScanner = ({
|
|
|
195
195
|
};
|
|
196
196
|
appContext.setLastDocumentRead?.(documentReadResult);
|
|
197
197
|
appContext.onDocumentRead?.(documentReadResult);
|
|
198
|
+
if (appContext.skipNfcResultScreen && onScanSuccess) {
|
|
199
|
+
onScanSuccess(getFieldsFromMRZ(passportData.mrz), passportData.faceImage, passportData.mimeType);
|
|
200
|
+
}
|
|
198
201
|
}
|
|
199
202
|
await trackEIDScanComplete(docType, scanDuration, currentAttempt).catch(() => {});
|
|
200
203
|
}
|
package/lib/module/Trustchex.js
CHANGED
|
@@ -47,7 +47,9 @@ const Trustchex = ({
|
|
|
47
47
|
onDocumentRead,
|
|
48
48
|
enableAnalytics = true,
|
|
49
49
|
debug = false,
|
|
50
|
-
logLevel = 'trace'
|
|
50
|
+
logLevel = 'trace',
|
|
51
|
+
skipNfcResultScreen = false,
|
|
52
|
+
skipSuccessScreen = false
|
|
51
53
|
}) => {
|
|
52
54
|
const [baseUrl, setBaseUrl] = useState(null);
|
|
53
55
|
const [sessionId, setSessionId] = useState(null);
|
|
@@ -119,7 +121,9 @@ const Trustchex = ({
|
|
|
119
121
|
setLastDocumentRead,
|
|
120
122
|
setSessionId,
|
|
121
123
|
setBaseUrl,
|
|
122
|
-
setIsDemoSession: setIsDemoSessionAndPersist
|
|
124
|
+
setIsDemoSession: setIsDemoSessionAndPersist,
|
|
125
|
+
skipNfcResultScreen,
|
|
126
|
+
skipSuccessScreen
|
|
123
127
|
};
|
|
124
128
|
|
|
125
129
|
// Update state-derived identificationInfo fields without replacing
|
|
@@ -130,7 +134,7 @@ const Trustchex = ({
|
|
|
130
134
|
value.identificationInfo.locale = propLocale || i18n.language;
|
|
131
135
|
contextRef.current = value;
|
|
132
136
|
return value;
|
|
133
|
-
}, [baseUrl, locale, branding, sessionId, propLocale, onCompleted, onError, isDemoSession, lastDocumentRead, setIsDemoSessionAndPersist]);
|
|
137
|
+
}, [baseUrl, locale, branding, sessionId, propLocale, onCompleted, onError, isDemoSession, lastDocumentRead, setIsDemoSessionAndPersist, skipNfcResultScreen, skipSuccessScreen]);
|
|
134
138
|
|
|
135
139
|
// Initialize analytics when SDK mounts with valid session
|
|
136
140
|
useEffect(() => {
|
package/lib/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResultScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Static/ResultScreen.tsx"],"names":[],"mappings":"AA8EA,QAAA,MAAM,YAAY,+
|
|
1
|
+
{"version":3,"file":"ResultScreen.d.ts","sourceRoot":"","sources":["../../../../../src/Screens/Static/ResultScreen.tsx"],"names":[],"mappings":"AA8EA,QAAA,MAAM,YAAY,+CAyhCjB,CAAC;AA+IF,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EIDScanner.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/EIDScanner.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAgBpD,UAAU,eAAe;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,KACtB,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAED,QAAA,MAAM,UAAU,GAAI,6FAOjB,eAAe,
|
|
1
|
+
{"version":3,"file":"EIDScanner.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/EIDScanner.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAgBpD,UAAU,eAAe;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,SAAS,EAClB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,KACtB,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C;AAED,QAAA,MAAM,UAAU,GAAI,6FAOjB,eAAe,4CA0rBjB,CAAC;AA4NF,eAAe,UAAU,CAAC"}
|
|
@@ -21,6 +21,8 @@ export type AppContextType = {
|
|
|
21
21
|
onError?: (error: string) => void;
|
|
22
22
|
onDocumentRead?: (result: DocumentReadResult) => void;
|
|
23
23
|
setLastDocumentRead?: (result: DocumentReadResult) => void;
|
|
24
|
+
skipNfcResultScreen?: boolean;
|
|
25
|
+
skipSuccessScreen?: boolean;
|
|
24
26
|
setSessionId?: (id: string) => void;
|
|
25
27
|
setBaseUrl?: (url: string) => void;
|
|
26
28
|
setIsDemoSession?: (isDemoSession: boolean) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppContext.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Contexts/AppContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC3D,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD,CAAC;;AAEF,
|
|
1
|
+
{"version":3,"file":"AppContext.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Contexts/AppContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,YAAY,EACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC3D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gBAAgB,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD,CAAC;;AAEF,wBAgCG"}
|
|
@@ -25,6 +25,10 @@ interface TrustchexProps {
|
|
|
25
25
|
enableAnalytics?: boolean;
|
|
26
26
|
debug?: boolean;
|
|
27
27
|
logLevel?: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent';
|
|
28
|
+
/** Skip the NFC document review screen and proceed automatically after a successful NFC scan. */
|
|
29
|
+
skipNfcResultScreen?: boolean;
|
|
30
|
+
/** Skip the final success screen and call onCompleted immediately when the process finishes. */
|
|
31
|
+
skipSuccessScreen?: boolean;
|
|
28
32
|
}
|
|
29
33
|
declare const Trustchex: React.FC<TrustchexProps>;
|
|
30
34
|
export default Trustchex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Trustchex.d.ts","sourceRoot":"","sources":["../../../src/Trustchex.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAKf,OAAO,gCAAgC,CAAC;AAmBxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAc5E,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Trustchex.d.ts","sourceRoot":"","sources":["../../../src/Trustchex.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAKf,OAAO,gCAAgC,CAAC;AAmBxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAc5E,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACtD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpE,iGAAiG;IACjG,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gGAAgG;IAChG,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AASD,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAoQvC,CAAC;AAWF,eAAe,SAAS,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "1.
|
|
1
|
+
export declare const SDK_VERSION = "1.485.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/package.json
CHANGED
|
@@ -686,10 +686,15 @@ const ResultScreen = () => {
|
|
|
686
686
|
!appContext.isDemoSession &&
|
|
687
687
|
!appContext.isTestVideoSession
|
|
688
688
|
) {
|
|
689
|
-
|
|
689
|
+
if (appContext.skipSuccessScreen) {
|
|
690
690
|
appContext.onCompleted?.();
|
|
691
691
|
navigationManagerRef.current?.reset();
|
|
692
|
-
}
|
|
692
|
+
} else {
|
|
693
|
+
setTimeout(() => {
|
|
694
|
+
appContext.onCompleted?.();
|
|
695
|
+
navigationManagerRef.current?.reset();
|
|
696
|
+
}, 3000);
|
|
697
|
+
}
|
|
693
698
|
}
|
|
694
699
|
}, [appContext, progress]);
|
|
695
700
|
|
|
@@ -792,35 +797,19 @@ const ResultScreen = () => {
|
|
|
792
797
|
<Text style={styles.mrzInfoLabel}>
|
|
793
798
|
{t('eidScannerScreen.name')}:
|
|
794
799
|
</Text>
|
|
795
|
-
<
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
: appContext.identificationInfo.scannedDocument.mrzFields?.firstName}
|
|
800
|
-
</Text>
|
|
801
|
-
{appContext.lastDocumentRead?.name.source === 'dg11' && (
|
|
802
|
-
<Text style={styles.mrzInfoSubText}>
|
|
803
|
-
{appContext.identificationInfo.scannedDocument.mrzFields?.firstName}
|
|
804
|
-
</Text>
|
|
805
|
-
)}
|
|
806
|
-
</View>
|
|
800
|
+
<Text style={styles.mrzInfoText}>
|
|
801
|
+
{appContext.lastDocumentRead?.name.displayFirst
|
|
802
|
+
?? appContext.identificationInfo.scannedDocument.mrzFields?.firstName}
|
|
803
|
+
</Text>
|
|
807
804
|
</View>
|
|
808
805
|
<View style={styles.mrzInfoItem}>
|
|
809
806
|
<Text style={styles.mrzInfoLabel}>
|
|
810
807
|
{t('eidScannerScreen.surname')}:
|
|
811
808
|
</Text>
|
|
812
|
-
<
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
: appContext.identificationInfo.scannedDocument.mrzFields?.lastName}
|
|
817
|
-
</Text>
|
|
818
|
-
{appContext.lastDocumentRead?.name.source === 'dg11' && (
|
|
819
|
-
<Text style={styles.mrzInfoSubText}>
|
|
820
|
-
{appContext.identificationInfo.scannedDocument.mrzFields?.lastName}
|
|
821
|
-
</Text>
|
|
822
|
-
)}
|
|
823
|
-
</View>
|
|
809
|
+
<Text style={styles.mrzInfoText}>
|
|
810
|
+
{appContext.lastDocumentRead?.name.displayLast
|
|
811
|
+
?? appContext.identificationInfo.scannedDocument.mrzFields?.lastName}
|
|
812
|
+
</Text>
|
|
824
813
|
</View>
|
|
825
814
|
<View style={styles.mrzInfoItem}>
|
|
826
815
|
<Text style={styles.mrzInfoLabel}>
|
|
@@ -271,6 +271,14 @@ const EIDScanner = ({
|
|
|
271
271
|
};
|
|
272
272
|
appContext.setLastDocumentRead?.(documentReadResult);
|
|
273
273
|
appContext.onDocumentRead?.(documentReadResult);
|
|
274
|
+
|
|
275
|
+
if (appContext.skipNfcResultScreen && onScanSuccess) {
|
|
276
|
+
onScanSuccess(
|
|
277
|
+
getFieldsFromMRZ(passportData.mrz),
|
|
278
|
+
passportData.faceImage,
|
|
279
|
+
passportData.mimeType
|
|
280
|
+
);
|
|
281
|
+
}
|
|
274
282
|
}
|
|
275
283
|
await trackEIDScanComplete(
|
|
276
284
|
docType,
|
|
@@ -26,6 +26,8 @@ export type AppContextType = {
|
|
|
26
26
|
onError?: (error: string) => void;
|
|
27
27
|
onDocumentRead?: (result: DocumentReadResult) => void;
|
|
28
28
|
setLastDocumentRead?: (result: DocumentReadResult) => void;
|
|
29
|
+
skipNfcResultScreen?: boolean;
|
|
30
|
+
skipSuccessScreen?: boolean;
|
|
29
31
|
setSessionId?: (id: string) => void;
|
|
30
32
|
setBaseUrl?: (url: string) => void;
|
|
31
33
|
setIsDemoSession?: (isDemoSession: boolean) => void;
|
|
@@ -59,6 +61,8 @@ export default createContext<AppContextType>({
|
|
|
59
61
|
onError: undefined,
|
|
60
62
|
onDocumentRead: undefined,
|
|
61
63
|
setLastDocumentRead: undefined,
|
|
64
|
+
skipNfcResultScreen: false,
|
|
65
|
+
skipSuccessScreen: false,
|
|
62
66
|
setSessionId: undefined,
|
|
63
67
|
setBaseUrl: undefined,
|
|
64
68
|
});
|
package/src/Trustchex.tsx
CHANGED
|
@@ -67,6 +67,10 @@ interface TrustchexProps {
|
|
|
67
67
|
enableAnalytics?: boolean;
|
|
68
68
|
debug?: boolean;
|
|
69
69
|
logLevel?: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent';
|
|
70
|
+
/** Skip the NFC document review screen and proceed automatically after a successful NFC scan. */
|
|
71
|
+
skipNfcResultScreen?: boolean;
|
|
72
|
+
/** Skip the final success screen and call onCompleted immediately when the process finishes. */
|
|
73
|
+
skipSuccessScreen?: boolean;
|
|
70
74
|
}
|
|
71
75
|
|
|
72
76
|
const DEFAULT_BRANDING: TrustchexBranding = {
|
|
@@ -87,6 +91,8 @@ const Trustchex: React.FC<TrustchexProps> = ({
|
|
|
87
91
|
enableAnalytics = true,
|
|
88
92
|
debug = false,
|
|
89
93
|
logLevel = 'trace',
|
|
94
|
+
skipNfcResultScreen = false,
|
|
95
|
+
skipSuccessScreen = false,
|
|
90
96
|
}) => {
|
|
91
97
|
const [baseUrl, setBaseUrl] = useState<string | null>(null);
|
|
92
98
|
const [sessionId, setSessionId] = useState<string | null>(null);
|
|
@@ -168,6 +174,8 @@ const Trustchex: React.FC<TrustchexProps> = ({
|
|
|
168
174
|
setSessionId,
|
|
169
175
|
setBaseUrl,
|
|
170
176
|
setIsDemoSession: setIsDemoSessionAndPersist,
|
|
177
|
+
skipNfcResultScreen,
|
|
178
|
+
skipSuccessScreen,
|
|
171
179
|
};
|
|
172
180
|
|
|
173
181
|
// Update state-derived identificationInfo fields without replacing
|
|
@@ -191,6 +199,8 @@ const Trustchex: React.FC<TrustchexProps> = ({
|
|
|
191
199
|
isDemoSession,
|
|
192
200
|
lastDocumentRead,
|
|
193
201
|
setIsDemoSessionAndPersist,
|
|
202
|
+
skipNfcResultScreen,
|
|
203
|
+
skipSuccessScreen,
|
|
194
204
|
]);
|
|
195
205
|
|
|
196
206
|
// Initialize analytics when SDK mounts with valid session
|
package/src/version.ts
CHANGED