@tap-payments/auth-jsconnect 2.11.16-development → 2.11.18-development

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.
Files changed (32) hide show
  1. package/build/api/auth.d.ts +1 -1
  2. package/build/api/auth.js +7 -3
  3. package/build/api/index.d.ts +1 -1
  4. package/build/assets/locales/ar.json +1 -0
  5. package/build/assets/locales/en.json +3 -2
  6. package/build/constants/app.js +104 -18
  7. package/build/constants/flows.d.ts +1 -0
  8. package/build/constants/flows.js +2 -1
  9. package/build/features/app/auth/authStore.js +50 -40
  10. package/build/features/app/bank/bankStore.js +24 -20
  11. package/build/features/app/board/boardStore.js +11 -7
  12. package/build/features/app/brand/brandStore.js +22 -18
  13. package/build/features/app/business/businessStore.js +30 -26
  14. package/build/features/app/connect/connectStore.js +26 -22
  15. package/build/features/app/connectExpress/connectExpressStore.js +19 -7
  16. package/build/features/app/entity/entityStore.js +21 -17
  17. package/build/features/app/individual/individualStore.js +29 -25
  18. package/build/features/app/password/passwordStore.js +44 -46
  19. package/build/features/app/signIn/signInStore.js +12 -16
  20. package/build/features/app/tax/taxStore.js +20 -16
  21. package/build/features/app/terminal/terminalStore.js +5 -3
  22. package/build/features/featuresScreens.js +60 -0
  23. package/build/features/shared/OTPVerifySecurityError/OTPVerifySecurityError.d.ts +3 -0
  24. package/build/features/shared/OTPVerifySecurityError/OTPVerifySecurityError.js +9 -0
  25. package/build/features/shared/OTPVerifySecurityError/index.d.ts +2 -0
  26. package/build/features/shared/OTPVerifySecurityError/index.js +2 -0
  27. package/build/features/terminal/screens/NoTerminalDeviceLinked/NoTerminalDeviceLinked.js +59 -14
  28. package/build/features/terminal/screens/POSDeviceListPage/POSDeviceListPage.js +5 -2
  29. package/build/features/terminal/screens/Verify/Verify.js +6 -2
  30. package/build/utils/error.d.ts +1 -0
  31. package/build/utils/error.js +3 -0
  32. package/package.json +1 -1
@@ -13,6 +13,7 @@ import ConnectOTPScreen from './connect/screens/OTP';
13
13
  import ThankYouScreen from './connect/screens/ThankYou';
14
14
  import OperatorError from './connect/screens/OperatorError';
15
15
  import CollectMobileOwnership from './connect/screens/MobileOwnership';
16
+ import OTPVerifySecurityError from './shared/OTPVerifySecurityError';
16
17
  import ConnectExpressBusinessCountry from './connectExpress/screens/BusinessCountry/BusinessCountry';
17
18
  import ConnectExpressMobileScreen from './connectExpress/screens/Mobile';
18
19
  import ConnectExpressNIDScreen from './connectExpress/screens/NID';
@@ -37,6 +38,7 @@ import ConnectExpressAuthMerchantScreen from './connectExpress/screens/AuthMerch
37
38
  import ConnectExpressAuthAccountCreatedLoaderScreen from './connectExpress/screens/AccountCreatedLoader';
38
39
  import ConnectExpressOperatorError from './connectExpress/screens/OperatorError';
39
40
  import ConnectExpressCollectMobileOwnership from './connectExpress/screens/MobileOwnership';
41
+ import ConnectExpressOTPVerifySecurityError from './shared/OTPVerifySecurityError';
40
42
  import AuthBusinessCountry from './auth/screens/BusinessCountry/BusinessCountry';
41
43
  import AuthSwitchScreen from './auth/screens/AuthSwitch';
42
44
  import AuthMobileScreen from './auth/screens/Mobile';
@@ -58,6 +60,7 @@ import AuthEmailSentScreen from './auth/screens/EmailSent';
58
60
  import AuthMigratingDataScreen from './auth/screens/MigratingData';
59
61
  import AuthOperatorError from './auth/screens/OperatorError';
60
62
  import AuthPasscodeScreen from './auth/screens/Passcode';
63
+ import AuthOTPVerifySecurityError from './shared/OTPVerifySecurityError';
61
64
  import CustomersPage from './business/screens/Customers';
62
65
  import IDBODPage from './business/screens/IDBOD';
63
66
  import BusinessVerifyPage from './business/screens/Verify';
@@ -73,6 +76,7 @@ import BusVerifyPACIScreen from './business/screens/VerifyPACI';
73
76
  import BrandVerifyScreen from './business/screens/BrandDetails';
74
77
  import BusinessOperatorError from './business/screens/OperatorError';
75
78
  import BusinessCollectMobileOwnership from './business/screens/MobileOwnership';
79
+ import BusinessOTPVerifySecurityError from './shared/OTPVerifySecurityError';
76
80
  import PasswordVerifyPage from './password/screens/Verify';
77
81
  import CreatePasswordPage from './password/screens/CreatePassword';
78
82
  import PasswordDataLoadingPage from './password/screens/PrepareDataLoading';
@@ -81,6 +85,7 @@ import SuccessPasswordPage from './password/screens/Success';
81
85
  import PasswordSuccessWithFlowPage from './password/screens/SuccessWithFlowButtons';
82
86
  import PasswordResetPasswordSuccessPage from './password/screens/ResetPasswordSuccess';
83
87
  import PasswordOperatorError from './password/screens/OperatorError';
88
+ import PasswordOTPVerifySecurityError from './shared/OTPVerifySecurityError';
84
89
  import IndividualVerifyPage from './individual/screens/Verify';
85
90
  import IndividualPhoneInfoPage from './individual/screens/IndividualPhoneInfo';
86
91
  import IndividualListPage from './individual/screens/IndividualList';
@@ -91,6 +96,7 @@ import IndividualSuccessWithFlowPage from './individual/screens/SuccessWithFlowB
91
96
  import IndividualResetPasswordSuccessPage from './individual/screens/ResetPasswordSuccess';
92
97
  import IndividualDataLoadingPage from './individual/screens/PrepareDataLoading';
93
98
  import IndividualOperatorError from './individual/screens/OperatorError';
99
+ import IndividualOTPVerifySecurityError from './shared/OTPVerifySecurityError';
94
100
  import BankVerifyPage from './bank/screens/Verify';
95
101
  import BankDetailsPage from './bank/screens/BankDetails';
96
102
  import BankSuccessPage from './bank/screens/Success';
@@ -98,6 +104,7 @@ import BankSuccessWithFlowPage from './bank/screens/SuccessWithFlowButtons';
98
104
  import BankResetPasswordSuccessPage from './bank/screens/ResetPasswordSuccess';
99
105
  import BankDataLoadingPage from './bank/screens/PrepareDataLoading';
100
106
  import BankOperatorError from './bank/screens/OperatorError';
107
+ import BankOTPVerifySecurityError from './shared/OTPVerifySecurityError';
101
108
  import TaxVerifyPage from './tax/screens/Verify';
102
109
  import TaxDetailsPage from './tax/screens/TaxDetails';
103
110
  import TaxSuccessPage from './tax/screens/Success';
@@ -105,6 +112,7 @@ import TaxSuccessWithFlowPage from './tax/screens/SuccessWithFlowButtons';
105
112
  import TaxResetPasswordSuccessPage from './tax/screens/ResetPasswordSuccess';
106
113
  import TaxDataLoadingPage from './tax/screens/PrepareDataLoading';
107
114
  import TaxOperatorError from './tax/screens/OperatorError';
115
+ import TaxOTPVerifySecurityError from './shared/OTPVerifySecurityError';
108
116
  import SignInMobilePage from './signIn/screens/Mobile';
109
117
  import SignInEmailPage from './signIn/screens/Email';
110
118
  import SignInOTPPage from './signIn/screens/OTP';
@@ -118,6 +126,7 @@ import EntitySuccessWithFlowPage from './entity/screens/SuccessWithFlowButtons';
118
126
  import EntityResetPasswordSuccessPage from './entity/screens/ResetPasswordSuccess';
119
127
  import EntityDataLoadingPage from './entity/screens/PrepareDataLoading';
120
128
  import EntityOperatorError from './entity/screens/OperatorError';
129
+ import EntityOTPVerifySecurityError from './shared/OTPVerifySecurityError';
121
130
  import BrandVerifyPage from './brand/screens/Verify';
122
131
  import BrandInfoPage from './brand/screens/BrandInfo';
123
132
  import BrandSegmentPage from './brand/screens/BrandSegmentInfo';
@@ -127,11 +136,13 @@ import BrandSuccessWithFlowPage from './brand/screens/SuccessWithFlowButtons';
127
136
  import BrandResetPasswordSuccessPage from './brand/screens/ResetPasswordSuccess';
128
137
  import BrandDataLoadingPage from './brand/screens/PrepareDataLoading';
129
138
  import BrandOperatorError from './brand/screens/OperatorError';
139
+ import BrandOTPVerifySecurityError from './shared/OTPVerifySecurityError';
130
140
  import BoardVerifyPage from './board/screens/Verify';
131
141
  import BoardSuccessWithFlowPage from './board/screens/SuccessWithFlowButtons';
132
142
  import BoardResetPasswordSuccessPage from './board/screens/ResetPasswordSuccess';
133
143
  import BoardDataLoadingPage from './board/screens/PrepareDataLoading';
134
144
  import BoardOperatorError from './board/screens/OperatorError';
145
+ import BoardOTPVerifySecurityError from './shared/OTPVerifySecurityError';
135
146
  import KycLoadingPage from './kyc/screens/Loading';
136
147
  import KycTokenErrorPage from './kyc/screens/TokenError';
137
148
  import KycAlreadySubmittedPage from './kyc/screens/AlreadySubmitted';
@@ -154,6 +165,7 @@ import LinkedSuccessPage from './terminal/screens/LinkedSuccess';
154
165
  import UnlinkedSuccessPage from './terminal/screens/UnlinkedSuccess';
155
166
  import TerminalBoardPage from './terminal/screens/SuccessWithFlowButtons';
156
167
  import TerminalResetPasswordSuccessPage from './terminal/screens/ResetPasswordSuccess';
168
+ import TerminalOTPVerifySecurityError from './shared/OTPVerifySecurityError';
157
169
  export var connectFeatureScreens = [
158
170
  {
159
171
  name: 'CONNECT_BUSINESS_COUNTRY_STEP',
@@ -210,6 +222,10 @@ export var connectFeatureScreens = [
210
222
  {
211
223
  name: 'CONNECT_MOBILE_OWNERSHIP',
212
224
  element: CollectMobileOwnership
225
+ },
226
+ {
227
+ name: 'CONNECT_OTP_VERIFY_SECURITY_ERROR_STEP',
228
+ element: OTPVerifySecurityError
213
229
  }
214
230
  ];
215
231
  export var connectExpressFeatureScreens = [
@@ -308,6 +324,10 @@ export var connectExpressFeatureScreens = [
308
324
  {
309
325
  name: 'COLLECT_MOBILE_OWNERSHIP',
310
326
  element: ConnectExpressCollectMobileOwnership
327
+ },
328
+ {
329
+ name: 'CONNECT_EXPRESS_OTP_VERIFY_SECURITY_ERROR_STEP',
330
+ element: ConnectExpressOTPVerifySecurityError
311
331
  }
312
332
  ];
313
333
  export var authFeatureScreens = [
@@ -394,6 +414,10 @@ export var authFeatureScreens = [
394
414
  {
395
415
  name: 'AUTH_OPERATOR_ERROR_STEP',
396
416
  element: AuthOperatorError
417
+ },
418
+ {
419
+ name: 'AUTH_OTP_VERIFY_SECURITY_ERROR_STEP',
420
+ element: AuthOTPVerifySecurityError
397
421
  }
398
422
  ];
399
423
  export var businessFeatureScreens = [
@@ -444,6 +468,10 @@ export var businessFeatureScreens = [
444
468
  {
445
469
  name: 'BUSINESS_MOBILE_OWNERSHIP',
446
470
  element: BusinessCollectMobileOwnership
471
+ },
472
+ {
473
+ name: 'BUSINESS_OTP_VERIFY_SECURITY_ERROR_STEP',
474
+ element: BusinessOTPVerifySecurityError
447
475
  }
448
476
  ];
449
477
  export var passwordFeatureScreens = [
@@ -475,6 +503,10 @@ export var passwordFeatureScreens = [
475
503
  {
476
504
  name: 'PASSWORD_OPERATOR_ERROR_STEP',
477
505
  element: PasswordOperatorError
506
+ },
507
+ {
508
+ name: 'PASSWORD_OTP_VERIFY_SECURITY_ERROR_STEP',
509
+ element: PasswordOTPVerifySecurityError
478
510
  }
479
511
  ];
480
512
  export var individualFeatureScreens = [
@@ -514,6 +546,10 @@ export var individualFeatureScreens = [
514
546
  {
515
547
  name: 'INDIVIDUAL_OPERATOR_ERROR_STEP',
516
548
  element: IndividualOperatorError
549
+ },
550
+ {
551
+ name: 'INDIVIDUAL_OTP_VERIFY_SECURITY_ERROR_STEP',
552
+ element: IndividualOTPVerifySecurityError
517
553
  }
518
554
  ];
519
555
  export var bankFeatureScreens = [
@@ -541,6 +577,10 @@ export var bankFeatureScreens = [
541
577
  {
542
578
  name: 'BANK_OPERATOR_ERROR_STEP',
543
579
  element: BankOperatorError
580
+ },
581
+ {
582
+ name: 'BANK_OTP_VERIFY_SECURITY_ERROR_STEP',
583
+ element: BankOTPVerifySecurityError
544
584
  }
545
585
  ];
546
586
  export var taxFeatureScreens = [
@@ -568,6 +608,10 @@ export var taxFeatureScreens = [
568
608
  {
569
609
  name: 'TAX_OPERATOR_ERROR_STEP',
570
610
  element: TaxOperatorError
611
+ },
612
+ {
613
+ name: 'TAX_OTP_VERIFY_SECURITY_ERROR_STEP',
614
+ element: TaxOTPVerifySecurityError
571
615
  }
572
616
  ];
573
617
  export var signInFeatureScreens = [
@@ -621,6 +665,10 @@ export var entityFeatureScreens = [
621
665
  {
622
666
  name: 'ENTITY_OPERATOR_ERROR_STEP',
623
667
  element: EntityOperatorError
668
+ },
669
+ {
670
+ name: 'ENTITY_OTP_VERIFY_SECURITY_ERROR_STEP',
671
+ element: EntityOTPVerifySecurityError
624
672
  }
625
673
  ];
626
674
  export var brandFeatureScreens = [
@@ -656,6 +704,10 @@ export var brandFeatureScreens = [
656
704
  {
657
705
  name: 'BRAND_OPERATOR_ERROR_STEP',
658
706
  element: BrandOperatorError
707
+ },
708
+ {
709
+ name: 'BRAND_OTP_VERIFY_SECURITY_ERROR_STEP',
710
+ element: BrandOTPVerifySecurityError
659
711
  }
660
712
  ];
661
713
  export var boardFeatureScreens = [
@@ -678,6 +730,10 @@ export var boardFeatureScreens = [
678
730
  {
679
731
  name: 'BOARD_OPERATOR_ERROR_STEP',
680
732
  element: BoardOperatorError
733
+ },
734
+ {
735
+ name: 'BOARD_OTP_VERIFY_SECURITY_ERROR_STEP',
736
+ element: BoardOTPVerifySecurityError
681
737
  }
682
738
  ];
683
739
  export var kycFeatureScreens = [
@@ -770,5 +826,9 @@ export var terminalFeatureScreens = [
770
826
  {
771
827
  name: CONNECT_FLOWS.terminal.resetPassword,
772
828
  element: TerminalResetPasswordSuccessPage
829
+ },
830
+ {
831
+ name: CONNECT_FLOWS.terminal.otpVerifySecurityError,
832
+ element: TerminalOTPVerifySecurityError
773
833
  }
774
834
  ];
@@ -0,0 +1,3 @@
1
+ import * as React from 'react';
2
+ declare const _default: React.MemoExoticComponent<() => JSX.Element>;
3
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { useTranslation } from 'react-i18next';
4
+ import GenericError from '../../shared/GenericError';
5
+ var OTPVerifySecurityError = function () {
6
+ var t = useTranslation().t;
7
+ return _jsx(GenericError, { error: t('something_went_wrong'), errorTitle: t('oops') });
8
+ };
9
+ export default React.memo(OTPVerifySecurityError);
@@ -0,0 +1,2 @@
1
+ import OTPVerifySecurityError from './OTPVerifySecurityError';
2
+ export default OTPVerifySecurityError;
@@ -0,0 +1,2 @@
1
+ import OTPVerifySecurityError from './OTPVerifySecurityError';
2
+ export default OTPVerifySecurityError;
@@ -9,32 +9,77 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
12
48
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
49
  import * as React from 'react';
14
50
  import { useTranslation } from 'react-i18next';
15
51
  import { useAppDispatch, useAppSelector, useLanguage } from '../../../../hooks';
16
52
  import { handleNextScreenStep, handlePrevScreenStep } from '../../../../app/settings';
17
- import Button from '../../../../components/Button';
18
- import Loader from '../../../../components/Loader';
19
53
  import { ICONS_NAMES } from '../../../../constants';
20
54
  import { ScreenContainer } from '../../../shared/Containers';
21
- import { linkNewTerminal, retrieveBoardDetails, retrieveBoardStatus, terminalSelector } from '../../../app/terminal/terminalStore';
55
+ import { retrieveBoardDetails, retrieveBoardStatus, retrievePOSDevices, terminalSelector } from '../../../app/terminal/terminalStore';
22
56
  import { DescriptionTypography, DeviceImage, NoTerminalDeviceLinkedContainer, TitleTypography } from './styles';
57
+ import Button from '../../../../features/shared/Button';
23
58
  var NoTerminalDeviceLinked = function () {
24
59
  var t = useTranslation().t;
25
60
  var isAr = useLanguage().isAr;
26
61
  var dispatch = useAppDispatch();
27
- var _a = useAppSelector(terminalSelector), loading = _a.loading, data = _a.data;
62
+ var _a = useAppSelector(terminalSelector), posDevicesLoading = _a.posDevicesLoading, data = _a.data;
28
63
  var _b = data.responseData || {}, boardFlows = _b.boardFlows, authData = _b.authData, boardData = _b.boardData;
29
- var handleOnClickNewTerminalLink = function () {
30
- dispatch(linkNewTerminal())
31
- .unwrap()
32
- .then(function (_a) {
33
- var nextScreen = _a.nextScreen;
34
- dispatch(handleNextScreenStep(nextScreen));
35
- })
36
- .catch(function () { });
37
- };
64
+ var handleOnClickNewTerminalLink = function () { return __awaiter(void 0, void 0, void 0, function () {
65
+ var err_1;
66
+ return __generator(this, function (_a) {
67
+ switch (_a.label) {
68
+ case 0:
69
+ _a.trys.push([0, 2, , 3]);
70
+ return [4, dispatch(retrievePOSDevices()).unwrap()];
71
+ case 1:
72
+ _a.sent();
73
+ dispatch(handleNextScreenStep());
74
+ return [3, 3];
75
+ case 2:
76
+ err_1 = _a.sent();
77
+ console.log('Error while retrieving pos devices list error', err_1);
78
+ return [3, 3];
79
+ case 3: return [2];
80
+ }
81
+ });
82
+ }); };
38
83
  var handleOnBack = function () {
39
84
  if ((boardFlows === null || boardFlows === void 0 ? void 0 : boardFlows.length) > 0) {
40
85
  dispatch(handlePrevScreenStep());
@@ -53,6 +98,6 @@ var NoTerminalDeviceLinked = function () {
53
98
  })
54
99
  .catch(function () { });
55
100
  };
56
- return (_jsxs(ScreenContainer, __assign({ sx: { ml: 2.5, mr: 2.5 }, minHeight: 280, justifyContent: 'space-between' }, { children: [_jsxs(NoTerminalDeviceLinkedContainer, { children: [_jsx(DeviceImage, { src: ICONS_NAMES.terminal_device }), _jsx(TitleTypography, { children: t('terminal_no_terminal_linked') }), _jsx(DescriptionTypography, { children: t('terminal_no_terminal_linked_description') })] }), _jsx(Button, __assign({ sx: { mb: 1.5, mt: 1.5 }, onClick: function () { return handleOnBack(); }, variant: 'text' }, { children: loading ? _jsx(Loader, { innerColor: 'black', outerColor: 'black', size: 15, toggleAnimation: !!loading }) : t('back') }))] })));
101
+ return (_jsxs(ScreenContainer, __assign({ sx: { ml: 2.5, mr: 2.5 }, minHeight: 280, justifyContent: 'space-between' }, { children: [_jsxs(NoTerminalDeviceLinkedContainer, { children: [_jsx(DeviceImage, { src: ICONS_NAMES.terminal_device }), _jsx(TitleTypography, { children: t('terminal_no_terminal_linked') }), _jsx(DescriptionTypography, { children: t('terminal_no_terminal_linked_description') })] }), _jsx(Button, __assign({ sx: { mt: 0, ml: 0, mr: 0 }, loading: posDevicesLoading, onBackClicked: handleOnBack, onClick: handleOnClickNewTerminalLink, isAr: isAr }, { children: t('terminal_link_terminal') }))] })));
57
102
  };
58
103
  export default React.memo(NoTerminalDeviceLinked);
@@ -18,13 +18,14 @@ import { handleNextScreenStep, handlePrevScreenStep } from '../../../../app/sett
18
18
  import { useAppDispatch, useAppSelector } from '../../../../hooks';
19
19
  import Button from '../../../../components/Button';
20
20
  import Warning from '../../../../components/Warning';
21
+ import { CONNECT_FLOWS } from '../../../../constants';
21
22
  import { clearError, linkNewTerminal, storeSelectedPOS, terminalSelector } from '../../../app/terminal/terminalStore';
22
23
  import { Header, Container, POSDeviceList } from '../shared';
23
24
  var POSDeviceListPage = function () {
24
25
  var t = useTranslation().t;
25
26
  var dispatch = useAppDispatch();
26
27
  var _a = useAppSelector(terminalSelector), _b = _a.data, selectedPOS = _b.terminalInfo.selectedPOS, responseData = _b.responseData, loading = _a.loading, error = _a.error;
27
- var posDevices = (responseData || {}).posDevices;
28
+ var _c = responseData || {}, posDevices = _c.posDevices, terminalData = _c.terminalData;
28
29
  React.useEffect(function () {
29
30
  if (error)
30
31
  dispatch(clearError());
@@ -40,7 +41,9 @@ var POSDeviceListPage = function () {
40
41
  .catch(function () { });
41
42
  };
42
43
  var handleOnBack = function () {
43
- dispatch(handlePrevScreenStep());
44
+ var _a;
45
+ var screen = ((_a = terminalData === null || terminalData === void 0 ? void 0 : terminalData.list) === null || _a === void 0 ? void 0 : _a.length) ? CONNECT_FLOWS.terminal.terminalDeviceList : CONNECT_FLOWS.terminal.noTerminalLinked;
46
+ dispatch(handlePrevScreenStep(screen));
44
47
  };
45
48
  return (_jsxs(ScreenContainer, __assign({ minHeight: 200, justifyContent: 'space-between' }, { children: [_jsxs(Container, __assign({ sx: { pl: 2.5, pr: 2.5 } }, { children: [_jsx(Header, { title: 'terminal_select_device', sx: { pb: 0 } }), _jsx(POSDeviceList, { select: false, loading: loading, selectedPOS: selectedPOS, posDevices: posDevices, onClick: handleOnSelectPOS })] })), error && _jsx(Warning, __assign({ sx: { mt: 2 } }, { children: t(error) })), _jsx(Box, __assign({ sx: { pl: 2.5, pr: 2.5 } }, { children: _jsx(Button, __assign({ sx: { mb: 1.5, mt: 1.5 }, onClick: function () { return handleOnBack(); }, variant: 'text' }, { children: t('back') })) }))] })));
46
49
  };
@@ -18,7 +18,7 @@ import { yupResolver } from '@hookform/resolvers/yup';
18
18
  import Box from '@mui/material/Box/Box';
19
19
  import { styled } from '@mui/material/styles';
20
20
  import { handleNextScreenStep } from '../../../../app/settings';
21
- import { deepCopy, maskPhone } from '../../../../utils';
21
+ import { deepCopy, isAuthenticationVerificationFailed, maskPhone } from '../../../../utils';
22
22
  import Form from '../../../../components/Form';
23
23
  import Text from '../../../../components/Text';
24
24
  import { ScreenContainer } from '../../../shared/Containers';
@@ -26,6 +26,7 @@ import { terminalSelector, clearError, resetOTPScreen, verifyTokenOTP } from '..
26
26
  import Button from '../../../shared/Button';
27
27
  import { OTPValidation } from './validation';
28
28
  import OTPInput from './OTPInput';
29
+ import { CONNECT_FLOWS } from '../../../../constants';
29
30
  var OTPTitleContainerStyled = styled(Box)(function (_a) {
30
31
  var theme = _a.theme;
31
32
  return ({
@@ -77,7 +78,10 @@ var VerifyNumber = function (_a) {
77
78
  var nextScreen = _a.nextScreen;
78
79
  dispatch(handleNextScreenStep(nextScreen));
79
80
  })
80
- .catch(function () { });
81
+ .catch(function (err) {
82
+ if (isAuthenticationVerificationFailed(err === null || err === void 0 ? void 0 : err.message))
83
+ dispatch(handleNextScreenStep(CONNECT_FLOWS.terminal.otpVerifySecurityError));
84
+ });
81
85
  };
82
86
  var disabled = !methods.formState.isValid || !phone || resendLoading;
83
87
  return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(OTPTitleContainerStyled, { children: _jsxs(OTPTitleStyled, { children: [loading ? st('ide_otp_waiting_title') : st('ide_opt_sent_title'), !loading && phone && _jsx("span", __assign({ dir: 'ltr' }, { children: "".concat(maskPhone(phone || '')) }))] }) }), _jsx(OTPInput, { loading: resendLoading, setLoading: setResendLoading }), _jsx(Button, __assign({ disableBack: true, disabled: disabled, isAr: isAr, loading: loading, error: st(error || '') }, { children: t('next') }))] })) })) }));
@@ -2,3 +2,4 @@ export declare const isNetworkError: (error: string | null) => boolean;
2
2
  export declare const isTokenExpired: (error: string | null) => boolean;
3
3
  export declare const isTimeoutError: (error: string | null) => boolean;
4
4
  export declare const isInternalServerError: (error: string | null) => boolean;
5
+ export declare const isAuthenticationVerificationFailed: (error: string | null) => boolean;
@@ -10,3 +10,6 @@ export var isTimeoutError = function (error) {
10
10
  export var isInternalServerError = function (error) {
11
11
  return ['internal_server_error'].includes((error || '').trim().toLowerCase());
12
12
  };
13
+ export var isAuthenticationVerificationFailed = function (error) {
14
+ return ['failed to verify the auth'].includes((error || '').trim().toLowerCase());
15
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tap-payments/auth-jsconnect",
3
- "version": "2.11.16-development",
3
+ "version": "2.11.18-development",
4
4
  "description": "connect library, auth",
5
5
  "private": false,
6
6
  "main": "build/index.js",