@trustchex/react-native-sdk 1.175.2 → 1.175.6
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/Shared/Components/NavigationManager.js +15 -8
- package/lib/module/Trustchex.js +2 -1
- package/lib/typescript/src/Shared/Components/NavigationManager.d.ts.map +1 -1
- package/lib/typescript/src/Shared/EIDReader/eidService.d.ts.map +1 -1
- package/lib/typescript/src/Trustchex.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Shared/Components/NavigationManager.tsx +13 -18
- package/src/Shared/EIDReader/data/country.ts +1 -1
- package/src/Shared/EIDReader/eidService.ts +4 -2
- package/src/Trustchex.tsx +4 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { forwardRef, useCallback, useContext, useImperativeHandle } from 'react';
|
|
4
4
|
import AppContext from "../Contexts/AppContext.js";
|
|
5
|
-
import { CommonActions, useNavigation } from '@react-navigation/native';
|
|
5
|
+
import { CommonActions, useNavigation, usePreventRemove } from '@react-navigation/native';
|
|
6
6
|
import { View, StyleSheet, Alert } from 'react-native';
|
|
7
7
|
import { useTranslation } from 'react-i18next';
|
|
8
8
|
import i18n from "../../Translation/index.js";
|
|
@@ -31,19 +31,12 @@ const NavigationManager = /*#__PURE__*/forwardRef(({
|
|
|
31
31
|
RESULT: 'ResultScreen'
|
|
32
32
|
};
|
|
33
33
|
React.useEffect(() => {
|
|
34
|
-
const handleRemove = event => {
|
|
35
|
-
if (event.data.action.type !== 'RESET') {
|
|
36
|
-
event.preventDefault();
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
34
|
const handleFocus = () => {
|
|
40
35
|
// Reset navigation state when screen comes into focus
|
|
41
36
|
isNavigating = false;
|
|
42
37
|
};
|
|
43
|
-
navigation.addListener('beforeRemove', handleRemove);
|
|
44
38
|
navigation.addListener('focus', handleFocus);
|
|
45
39
|
return () => {
|
|
46
|
-
navigation.removeListener('beforeRemove', handleRemove);
|
|
47
40
|
navigation.removeListener('focus', handleFocus);
|
|
48
41
|
// Reset state on cleanup
|
|
49
42
|
isNavigating = false;
|
|
@@ -155,6 +148,20 @@ const NavigationManager = /*#__PURE__*/forwardRef(({
|
|
|
155
148
|
isNavigating = false;
|
|
156
149
|
}, 1000);
|
|
157
150
|
}, [appContext, navigation, routes.VERIFICATION_SESSION_CHECK]);
|
|
151
|
+
|
|
152
|
+
// Use usePreventRemove instead of beforeRemove listener to prevent the warning
|
|
153
|
+
// This prevents users from natively going back multiple screens
|
|
154
|
+
usePreventRemove(true, ({
|
|
155
|
+
data
|
|
156
|
+
}) => {
|
|
157
|
+
// Only allow RESET actions to proceed
|
|
158
|
+
if (data.action.type === 'RESET') {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// Silently prevent all other navigation attempts
|
|
163
|
+
// No dialog shown to user - navigation is simply blocked
|
|
164
|
+
});
|
|
158
165
|
useImperativeHandle(ref, () => ({
|
|
159
166
|
navigateToNextStep: goToNextRoute,
|
|
160
167
|
reset: reset,
|
package/lib/module/Trustchex.js
CHANGED
|
@@ -102,7 +102,8 @@ const Trustchex = ({
|
|
|
102
102
|
id: undefined,
|
|
103
103
|
initialRouteName: "VerificationSessionCheckScreen",
|
|
104
104
|
screenOptions: {
|
|
105
|
-
headerShown: false
|
|
105
|
+
headerShown: false,
|
|
106
|
+
headerBackButtonMenuEnabled: false
|
|
106
107
|
},
|
|
107
108
|
children: [/*#__PURE__*/_jsx(Stack.Screen, {
|
|
108
109
|
name: "VerificationSessionCheckScreen",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationManager.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/NavigationManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAKN,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"NavigationManager.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/Components/NavigationManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAKN,MAAM,OAAO,CAAC;AAiBf,MAAM,MAAM,oBAAoB,GAAG;IACjC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,QAAA,MAAM,iBAAiB,wFAmOtB,CAAC;AAWF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eidService.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/EIDReader/eidService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"eidService.d.ts","sourceRoot":"","sources":["../../../../../src/Shared/EIDReader/eidService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Trustchex.d.ts","sourceRoot":"","sources":["../../../src/Trustchex.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,gCAAgC,CAAC;AAexC,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;CACnC;AASD,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"Trustchex.d.ts","sourceRoot":"","sources":["../../../src/Trustchex.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,gCAAgC,CAAC;AAexC,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;CACnC;AASD,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA+HvC,CAAC;AAWF,eAAe,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -8,9 +8,8 @@ import AppContext from '../Contexts/AppContext';
|
|
|
8
8
|
import type { WorkflowStep } from '../Types/identificationInfo';
|
|
9
9
|
import {
|
|
10
10
|
CommonActions,
|
|
11
|
-
type EventArg,
|
|
12
|
-
type NavigationAction,
|
|
13
11
|
useNavigation,
|
|
12
|
+
usePreventRemove,
|
|
14
13
|
} from '@react-navigation/native';
|
|
15
14
|
import { View, StyleSheet, Alert } from 'react-native';
|
|
16
15
|
import { useTranslation } from 'react-i18next';
|
|
@@ -48,30 +47,14 @@ const NavigationManager = forwardRef(
|
|
|
48
47
|
};
|
|
49
48
|
|
|
50
49
|
React.useEffect(() => {
|
|
51
|
-
const handleRemove = (
|
|
52
|
-
event: EventArg<
|
|
53
|
-
'beforeRemove',
|
|
54
|
-
true,
|
|
55
|
-
{
|
|
56
|
-
action: NavigationAction;
|
|
57
|
-
}
|
|
58
|
-
>
|
|
59
|
-
) => {
|
|
60
|
-
if (event.data.action.type !== 'RESET') {
|
|
61
|
-
event.preventDefault();
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
|
|
65
50
|
const handleFocus = () => {
|
|
66
51
|
// Reset navigation state when screen comes into focus
|
|
67
52
|
isNavigating = false;
|
|
68
53
|
};
|
|
69
54
|
|
|
70
|
-
navigation.addListener('beforeRemove', handleRemove);
|
|
71
55
|
navigation.addListener('focus', handleFocus);
|
|
72
56
|
|
|
73
57
|
return () => {
|
|
74
|
-
navigation.removeListener('beforeRemove', handleRemove);
|
|
75
58
|
navigation.removeListener('focus', handleFocus);
|
|
76
59
|
// Reset state on cleanup
|
|
77
60
|
isNavigating = false;
|
|
@@ -244,6 +227,18 @@ const NavigationManager = forwardRef(
|
|
|
244
227
|
}, 1000);
|
|
245
228
|
}, [appContext, navigation, routes.VERIFICATION_SESSION_CHECK]);
|
|
246
229
|
|
|
230
|
+
// Use usePreventRemove instead of beforeRemove listener to prevent the warning
|
|
231
|
+
// This prevents users from natively going back multiple screens
|
|
232
|
+
usePreventRemove(true, ({ data }) => {
|
|
233
|
+
// Only allow RESET actions to proceed
|
|
234
|
+
if (data.action.type === 'RESET') {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
// Silently prevent all other navigation attempts
|
|
239
|
+
// No dialog shown to user - navigation is simply blocked
|
|
240
|
+
});
|
|
241
|
+
|
|
247
242
|
useImperativeHandle(ref, () => ({
|
|
248
243
|
navigateToNextStep: goToNextRoute,
|
|
249
244
|
reset: reset,
|
|
@@ -10,7 +10,7 @@ export abstract class Country implements ICountry {
|
|
|
10
10
|
public static getInstance(code: number | string): Country {
|
|
11
11
|
// Note: This will be dynamically resolved at runtime
|
|
12
12
|
const { CountryRegistry } = require('./countryRegistry');
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
if (typeof code === 'number') {
|
|
15
15
|
return CountryRegistry.fromNumericCode(code);
|
|
16
16
|
} else if (typeof code === 'string') {
|
|
@@ -170,10 +170,12 @@ export class EIDService extends AbstractMRTDCardService {
|
|
|
170
170
|
EID_CONSTANTS.DEFAULT_MAX_BLOCKSIZE;
|
|
171
171
|
|
|
172
172
|
/** The normal maximal transceive length of APDUs. */
|
|
173
|
-
public static NORMAL_MAX_TRANSCEIVE_LENGTH: number =
|
|
173
|
+
public static NORMAL_MAX_TRANSCEIVE_LENGTH: number =
|
|
174
|
+
EID_CONSTANTS.NORMAL_MAX_TRANSCEIVE_LENGTH;
|
|
174
175
|
|
|
175
176
|
/** The extended maximal transceive length of APDUs. */
|
|
176
|
-
public static EXTENDED_MAX_TRANSCEIVE_LENGTH: number =
|
|
177
|
+
public static EXTENDED_MAX_TRANSCEIVE_LENGTH: number =
|
|
178
|
+
EID_CONSTANTS.EXTENDED_MAX_TRANSCEIVE_LENGTH;
|
|
177
179
|
|
|
178
180
|
/** The applet we select when we start a session. */
|
|
179
181
|
public static APPLET_AID: Uint8Array = EID_CONSTANTS.APPLET_AID;
|
package/src/Trustchex.tsx
CHANGED
|
@@ -133,7 +133,10 @@ const Trustchex: React.FC<TrustchexProps> = ({
|
|
|
133
133
|
<Stack.Navigator
|
|
134
134
|
id={undefined}
|
|
135
135
|
initialRouteName="VerificationSessionCheckScreen"
|
|
136
|
-
screenOptions={{
|
|
136
|
+
screenOptions={{
|
|
137
|
+
headerShown: false,
|
|
138
|
+
headerBackButtonMenuEnabled: false,
|
|
139
|
+
}}
|
|
137
140
|
>
|
|
138
141
|
<Stack.Screen
|
|
139
142
|
name="VerificationSessionCheckScreen"
|