@trustchex/react-native-sdk 1.175.2 → 1.175.5

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.
@@ -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,29 @@ 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
+ // Show confirmation dialog for other navigation attempts
163
+ Alert.alert(t('general.warning'), t('navigationManager.preventBackWarning'), [{
164
+ text: t('general.cancel'),
165
+ style: 'cancel'
166
+ }, {
167
+ text: t('general.yes'),
168
+ onPress: () => {
169
+ // Allow the navigation by calling reset
170
+ reset();
171
+ }
172
+ }]);
173
+ });
158
174
  useImperativeHandle(ref, () => ({
159
175
  navigateToNextStep: goToNextRoute,
160
176
  reset: reset,
@@ -105,5 +105,6 @@ export default {
105
105
  'identityDocumentCamera.scanCompleted': 'Scan completed successfully.',
106
106
  'navigationManager.skipStepWarning': 'It is recommended to complete this step. Are you sure you want to skip it?',
107
107
  'navigationManager.skipStepLabel': 'Skip this step',
108
+ 'navigationManager.preventBackWarning': 'Are you sure you want to leave? Your progress may be lost.',
108
109
  'qrCodeScanningScreen.title': 'Scan QR Code'
109
110
  };
@@ -108,5 +108,6 @@ export default {
108
108
  'identityDocumentCamera.scanCompleted': 'Tarama başarıyla tamamlandı.',
109
109
  'navigationManager.skipStepWarning': 'Bu adımı tamamlamanız tavsiye edilir. Adımı atlamak istediğinize emin misiniz?',
110
110
  'navigationManager.skipStepLabel': 'Bu adımı atla',
111
+ 'navigationManager.preventBackWarning': 'Ayrılmak istediğinize emin misiniz? İlerlemeniz kaybolabilir.',
111
112
  'qrCodeScanningScreen.title': 'QR Kodu Tara'
112
113
  };
@@ -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;AAkBf,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,wFAuOtB,CAAC;AAWF,eAAe,iBAAiB,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,wFAmPtB,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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"}
@@ -103,6 +103,7 @@ declare const _default: {
103
103
  'identityDocumentCamera.scanCompleted': string;
104
104
  'navigationManager.skipStepWarning': string;
105
105
  'navigationManager.skipStepLabel': string;
106
+ 'navigationManager.preventBackWarning': string;
106
107
  'qrCodeScanningScreen.title': string;
107
108
  };
108
109
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../../src/Translation/Resources/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAsJE"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../../src/Translation/Resources/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAwJE"}
@@ -106,6 +106,7 @@ declare const _default: {
106
106
  'identityDocumentCamera.scanCompleted': string;
107
107
  'navigationManager.skipStepWarning': string;
108
108
  'navigationManager.skipStepLabel': string;
109
+ 'navigationManager.preventBackWarning': string;
109
110
  'qrCodeScanningScreen.title': string;
110
111
  };
111
112
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../../../src/Translation/Resources/tr.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAuJE"}
1
+ {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../../../src/Translation/Resources/tr.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAyJE"}
@@ -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,CA4HvC,CAAC;AAWF,eAAe,SAAS,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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trustchex/react-native-sdk",
3
- "version": "1.175.2",
3
+ "version": "1.175.5",
4
4
  "description": "Trustchex mobile app react native SDK for android or ios devices",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -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,34 @@ 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
+ // Show confirmation dialog for other navigation attempts
239
+ Alert.alert(
240
+ t('general.warning'),
241
+ t('navigationManager.preventBackWarning'),
242
+ [
243
+ {
244
+ text: t('general.cancel'),
245
+ style: 'cancel',
246
+ },
247
+ {
248
+ text: t('general.yes'),
249
+ onPress: () => {
250
+ // Allow the navigation by calling reset
251
+ reset();
252
+ },
253
+ },
254
+ ]
255
+ );
256
+ });
257
+
247
258
  useImperativeHandle(ref, () => ({
248
259
  navigateToNextStep: goToNextRoute,
249
260
  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 = EID_CONSTANTS.NORMAL_MAX_TRANSCEIVE_LENGTH;
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 = EID_CONSTANTS.EXTENDED_MAX_TRANSCEIVE_LENGTH;
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;
@@ -147,5 +147,7 @@ export default {
147
147
  'navigationManager.skipStepWarning':
148
148
  'It is recommended to complete this step. Are you sure you want to skip it?',
149
149
  'navigationManager.skipStepLabel': 'Skip this step',
150
+ 'navigationManager.preventBackWarning':
151
+ 'Are you sure you want to leave? Your progress may be lost.',
150
152
  'qrCodeScanningScreen.title': 'Scan QR Code',
151
153
  };
@@ -148,5 +148,7 @@ export default {
148
148
  'navigationManager.skipStepWarning':
149
149
  'Bu adımı tamamlamanız tavsiye edilir. Adımı atlamak istediğinize emin misiniz?',
150
150
  'navigationManager.skipStepLabel': 'Bu adımı atla',
151
+ 'navigationManager.preventBackWarning':
152
+ 'Ayrılmak istediğinize emin misiniz? İlerlemeniz kaybolabilir.',
151
153
  'qrCodeScanningScreen.title': 'QR Kodu Tara',
152
154
  };
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={{ headerShown: false }}
136
+ screenOptions={{
137
+ headerShown: false,
138
+ headerBackButtonMenuEnabled: false,
139
+ }}
137
140
  >
138
141
  <Stack.Screen
139
142
  name="VerificationSessionCheckScreen"