@tap-payments/auth-jsconnect 2.9.37-sandbox → 2.9.38-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.
- package/build/@types/app.d.ts +5 -0
- package/build/@types/app.js +6 -0
- package/build/components/Tooltip/Tooltip.js +1 -1
- package/build/constants/app.d.ts +1 -1
- package/build/constants/app.js +26 -9
- package/build/features/app/connectExpress/connectExpressStore.d.ts +9 -2
- package/build/features/app/connectExpress/connectExpressStore.js +103 -11
- package/build/features/connectExpress/screens/VerifyMobileAuthOTP/OTPInput.d.ts +5 -0
- package/build/features/connectExpress/screens/VerifyMobileAuthOTP/OTPInput.js +58 -0
- package/build/features/connectExpress/screens/VerifyMobileAuthOTP/VerifyMobileAuthOTP.d.ts +5 -0
- package/build/features/connectExpress/screens/VerifyMobileAuthOTP/VerifyMobileAuthOTP.js +88 -0
- package/build/features/connectExpress/screens/VerifyMobileAuthOTP/index.d.ts +3 -0
- package/build/features/connectExpress/screens/VerifyMobileAuthOTP/index.js +2 -0
- package/build/features/connectExpress/screens/VerifyMobileAuthOTP/validation.d.ts +8 -0
- package/build/features/connectExpress/screens/VerifyMobileAuthOTP/validation.js +4 -0
- package/build/features/featuresScreens.js +5 -0
- package/build/utils/common.js +3 -3
- package/package.json +2 -2
package/build/@types/app.d.ts
CHANGED
|
@@ -351,6 +351,11 @@ export declare enum AuthForType {
|
|
|
351
351
|
NATIONAL_ID = "national_id",
|
|
352
352
|
NATIONAL_ID_MISSED = "national_id_missed"
|
|
353
353
|
}
|
|
354
|
+
export declare enum AuthForScreen {
|
|
355
|
+
INDIVIDUAL = "individual",
|
|
356
|
+
DOB = "dob",
|
|
357
|
+
MOBILE_OWNERSHIP = "mobile_ownership"
|
|
358
|
+
}
|
|
354
359
|
export declare enum AuthTypeNumber {
|
|
355
360
|
EMAIL_OTP = 5,
|
|
356
361
|
MOBILE_OTP = 2,
|
package/build/@types/app.js
CHANGED
|
@@ -43,6 +43,12 @@ export var AuthForType;
|
|
|
43
43
|
AuthForType["NATIONAL_ID"] = "national_id";
|
|
44
44
|
AuthForType["NATIONAL_ID_MISSED"] = "national_id_missed";
|
|
45
45
|
})(AuthForType || (AuthForType = {}));
|
|
46
|
+
export var AuthForScreen;
|
|
47
|
+
(function (AuthForScreen) {
|
|
48
|
+
AuthForScreen["INDIVIDUAL"] = "individual";
|
|
49
|
+
AuthForScreen["DOB"] = "dob";
|
|
50
|
+
AuthForScreen["MOBILE_OWNERSHIP"] = "mobile_ownership";
|
|
51
|
+
})(AuthForScreen || (AuthForScreen = {}));
|
|
46
52
|
export var AuthTypeNumber;
|
|
47
53
|
(function (AuthTypeNumber) {
|
|
48
54
|
AuthTypeNumber[AuthTypeNumber["EMAIL_OTP"] = 5] = "EMAIL_OTP";
|
|
@@ -33,7 +33,7 @@ var StyledTooltip = styled(function (_a) {
|
|
|
33
33
|
var _b;
|
|
34
34
|
var theme = _a.theme;
|
|
35
35
|
return (_b = {},
|
|
36
|
-
_b["& .".concat(tooltipClasses.tooltip)] = __assign(__assign({ color: alpha(theme.palette.text.primary, 0.5), width: 'fit-content', maxHeight: 'fit-content' }, theme.typography.body2), { fontWeight: theme.typography.fontWeightLight, backgroundColor: theme.palette.secondary.light, border: "1px solid ".concat(alpha(theme.palette.divider, 0.8))
|
|
36
|
+
_b["& .".concat(tooltipClasses.tooltip)] = __assign(__assign({ color: alpha(theme.palette.text.primary, 0.5), width: 'fit-content', maxHeight: 'fit-content' }, theme.typography.body2), { fontWeight: theme.typography.fontWeightLight, backgroundColor: theme.palette.secondary.light, border: "1px solid ".concat(alpha(theme.palette.divider, 0.8)) }),
|
|
37
37
|
_b);
|
|
38
38
|
});
|
|
39
39
|
var TextStyled = styled(Text, { shouldForwardProp: function (prop) { return prop !== 'isAr'; } })(function (_a) {
|
package/build/constants/app.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ScreenStepNavigation, BusinessType } from '../@types';
|
|
2
2
|
export declare const CONNECT_DEV_URL = "https://connect.dev.tap.company";
|
|
3
|
-
export declare const CONNECT_SANDBOX_URL = "https://connect.sandbox.tap.company";
|
|
4
3
|
export declare const CONNECT_PROD_URL = "https://connect.tap.company";
|
|
5
4
|
export declare const CLIENT_ORIGIN: string;
|
|
6
5
|
export declare const TAP_WEBSITE = "https://www.tap.company/";
|
|
@@ -138,6 +137,7 @@ export declare const CONNECT_EXPRESS_STEP_NAMES: {
|
|
|
138
137
|
CONNECT_EXPRESS_SUCCESS: string;
|
|
139
138
|
COLLECT_MOBILE_OWNERSHIP: string;
|
|
140
139
|
COLLECT_MOBILE_OWNERSHIP_SKIPPED: string;
|
|
140
|
+
VERIFY_AUTH_MOBILE_OTP: string;
|
|
141
141
|
};
|
|
142
142
|
export declare const SignIn_STEP_NAMES: {
|
|
143
143
|
CREATE_AUTH_MOBILE: string;
|
package/build/constants/app.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { BusinessType } from '../@types';
|
|
2
2
|
import { CONNECT_FLOWS } from './flows';
|
|
3
3
|
export var CONNECT_DEV_URL = 'https://connect.dev.tap.company';
|
|
4
|
-
export var CONNECT_SANDBOX_URL = 'https://connect.sandbox.tap.company';
|
|
5
4
|
export var CONNECT_PROD_URL = 'https://connect.tap.company';
|
|
6
5
|
export var CLIENT_ORIGIN = window.location.origin;
|
|
7
6
|
export var TAP_WEBSITE = 'https://www.tap.company/';
|
|
@@ -229,7 +228,11 @@ export var CONNECT_EXPRESS_SCREENS_NAVIGATION = [
|
|
|
229
228
|
},
|
|
230
229
|
{
|
|
231
230
|
name: 'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP',
|
|
232
|
-
next: [
|
|
231
|
+
next: [
|
|
232
|
+
'CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP',
|
|
233
|
+
'CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP',
|
|
234
|
+
'CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP'
|
|
235
|
+
],
|
|
233
236
|
prev: ['CONNECT_EXPRESS_NID_STEP', 'CONNECT_EXPRESS_NID_MISSED_STEP'],
|
|
234
237
|
order: 5
|
|
235
238
|
},
|
|
@@ -242,7 +245,8 @@ export var CONNECT_EXPRESS_SCREENS_NAVIGATION = [
|
|
|
242
245
|
'CONNECT_EXPRESS_CIVIL_ID_STEP',
|
|
243
246
|
'CONNECT_EXPRESS_CIVIL_ID_MISSED_STEP',
|
|
244
247
|
'CONNECT_EXPRESS_NID_MISSED_STEP',
|
|
245
|
-
'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP'
|
|
248
|
+
'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP',
|
|
249
|
+
'CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP'
|
|
246
250
|
],
|
|
247
251
|
order: 5
|
|
248
252
|
},
|
|
@@ -252,7 +256,8 @@ export var CONNECT_EXPRESS_SCREENS_NAVIGATION = [
|
|
|
252
256
|
'CONNECT_EXPRESS_COLLECT_BUSINESS_INFO_STEP',
|
|
253
257
|
'CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP',
|
|
254
258
|
'CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP',
|
|
255
|
-
'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP'
|
|
259
|
+
'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP',
|
|
260
|
+
'CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP'
|
|
256
261
|
],
|
|
257
262
|
prev: ['CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP', 'CONNECT_EXPRESS_NID_MISSED_STEP'],
|
|
258
263
|
order: 6
|
|
@@ -263,29 +268,40 @@ export var CONNECT_EXPRESS_SCREENS_NAVIGATION = [
|
|
|
263
268
|
prev: 'CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP',
|
|
264
269
|
order: 6
|
|
265
270
|
},
|
|
271
|
+
{
|
|
272
|
+
name: 'CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP',
|
|
273
|
+
next: [
|
|
274
|
+
'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP',
|
|
275
|
+
'COLLECT_MOBILE_OWNERSHIP',
|
|
276
|
+
'CONNECT_EXPRESS_COLLECT_BUSINESS_INFO_STEP',
|
|
277
|
+
'CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP'
|
|
278
|
+
],
|
|
279
|
+
prev: ['CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP', 'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP', 'COLLECT_MOBILE_OWNERSHIP'],
|
|
280
|
+
order: 7
|
|
281
|
+
},
|
|
266
282
|
{
|
|
267
283
|
name: 'CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP',
|
|
268
284
|
next: 'CONNECT_EXPRESS_PREPARING_DATA_STEP',
|
|
269
285
|
prev: '',
|
|
270
|
-
order:
|
|
286
|
+
order: 8
|
|
271
287
|
},
|
|
272
288
|
{
|
|
273
289
|
name: 'CONNECT_EXPRESS_PREPARING_DATA_STEP',
|
|
274
290
|
next: 'CONNECT_EXPRESS_SUCCESS_WITH_FLOW_BUTTONS_STEP',
|
|
275
291
|
prev: '',
|
|
276
|
-
order:
|
|
292
|
+
order: 9
|
|
277
293
|
},
|
|
278
294
|
{
|
|
279
295
|
name: 'CONNECT_EXPRESS_ACCOUNT_ALREADY_CREATED_STEP',
|
|
280
296
|
next: '',
|
|
281
297
|
prev: '',
|
|
282
|
-
order:
|
|
298
|
+
order: 10
|
|
283
299
|
},
|
|
284
300
|
{
|
|
285
301
|
name: 'CONNECT_EXPRESS_SUCCESS_WITH_FLOW_BUTTONS_STEP',
|
|
286
302
|
next: '',
|
|
287
303
|
prev: '',
|
|
288
|
-
order:
|
|
304
|
+
order: 11
|
|
289
305
|
}
|
|
290
306
|
];
|
|
291
307
|
export var AUTH_SCREENS_NAVIGATION = [
|
|
@@ -1039,7 +1055,8 @@ export var CONNECT_EXPRESS_STEP_NAMES = {
|
|
|
1039
1055
|
VERIFY_AUTH_PASSWORD: 'connect_express_verify_auth_password',
|
|
1040
1056
|
CONNECT_EXPRESS_SUCCESS: 'connect_express_completed',
|
|
1041
1057
|
COLLECT_MOBILE_OWNERSHIP: 'collect_owner_phone',
|
|
1042
|
-
COLLECT_MOBILE_OWNERSHIP_SKIPPED: 'collect_owner_phone_skipped'
|
|
1058
|
+
COLLECT_MOBILE_OWNERSHIP_SKIPPED: 'collect_owner_phone_skipped',
|
|
1059
|
+
VERIFY_AUTH_MOBILE_OTP: 'connect_express_auth_mobile'
|
|
1043
1060
|
};
|
|
1044
1061
|
export var SignIn_STEP_NAMES = {
|
|
1045
1062
|
CREATE_AUTH_MOBILE: 'signIn_create_auth_mobile',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RootState } from '../../../app/store';
|
|
2
|
-
import { MobileFormValues, NIDFormValues, CivilFormValues, OTPFormValues, IndividualFormValues, SharedState, FlowsTypes, ActionState, CountryCode, AuthForType, BusinessDataFormValues, AsyncThunkParams, AuthenticationListFormValues, AuthMerchantFormValues, DOBFormValues, MobileOwnershipFormValues } from '../../../@types';
|
|
2
|
+
import { MobileFormValues, NIDFormValues, CivilFormValues, OTPFormValues, IndividualFormValues, SharedState, FlowsTypes, ActionState, CountryCode, AuthForType, BusinessDataFormValues, AsyncThunkParams, AuthenticationListFormValues, AuthMerchantFormValues, DOBFormValues, MobileOwnershipFormValues, AuthForScreen } from '../../../@types';
|
|
3
3
|
import { CancelToken } from 'axios';
|
|
4
4
|
export declare const updateBusinessCountryAsync: import("@reduxjs/toolkit").AsyncThunk<any, string, {}>;
|
|
5
5
|
export declare const retrieveLeadIdentityByIdAsync: import("@reduxjs/toolkit").AsyncThunk<{
|
|
@@ -133,6 +133,9 @@ export declare const updateLeadMobile: import("@reduxjs/toolkit").AsyncThunk<{
|
|
|
133
133
|
export declare const skipUpdateLeadMobile: import("@reduxjs/toolkit").AsyncThunk<{
|
|
134
134
|
leadResponse: any;
|
|
135
135
|
}, void, {}>;
|
|
136
|
+
export declare const verifyAuthMobileOtpAsync: import("@reduxjs/toolkit").AsyncThunk<{
|
|
137
|
+
data: any;
|
|
138
|
+
}, OTPFormValues, {}>;
|
|
136
139
|
export declare const confirmInfo: import("@reduxjs/toolkit").AsyncThunk<{
|
|
137
140
|
boardInfo: any;
|
|
138
141
|
boardData: any;
|
|
@@ -156,6 +159,9 @@ export interface ConnectExpressData {
|
|
|
156
159
|
individualData: IndividualFormValues & {
|
|
157
160
|
isPrevDob?: boolean;
|
|
158
161
|
};
|
|
162
|
+
verifyAuthOtpData: OTPFormValues & {
|
|
163
|
+
authFor: AuthForScreen;
|
|
164
|
+
};
|
|
159
165
|
businessData: BusinessDataFormValues;
|
|
160
166
|
authenticationData: AuthenticationListFormValues;
|
|
161
167
|
authMerchantData: AuthMerchantFormValues;
|
|
@@ -177,10 +183,11 @@ export declare const connectSlice: import("@reduxjs/toolkit").Slice<ConnectExpre
|
|
|
177
183
|
resetCivilScreen: (state: ConnectExpressState) => void;
|
|
178
184
|
resetAuthenticationScreen: (state: ConnectExpressState) => void;
|
|
179
185
|
resetOTPValue: (state: ConnectExpressState) => void;
|
|
186
|
+
resetVerifyAuthOTPValue: (state: ConnectExpressState) => void;
|
|
180
187
|
resetStore: (state: ConnectExpressState) => void;
|
|
181
188
|
resetIndividualScreen: (state: ConnectExpressState) => void;
|
|
182
189
|
}, "connectExpress/store">;
|
|
183
|
-
export declare const clearError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, stopLoader: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setIsLeadIdPassed: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, resetMobileScreen: import("@reduxjs/toolkit").ActionCreatorWithPayload<CountryCode, string>, resetOTPValue: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetNIDScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCivilScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetStore: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setError: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, setLeadId: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, resetIndividualScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setDefaultCountryCode: import("@reduxjs/toolkit").ActionCreatorWithPayload<CountryCode, string>, storeIsStartFromBusinessCountry: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, resetAuthenticationScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
190
|
+
export declare const clearError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, stopLoader: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setIsLeadIdPassed: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, resetMobileScreen: import("@reduxjs/toolkit").ActionCreatorWithPayload<CountryCode, string>, resetOTPValue: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetVerifyAuthOTPValue: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetNIDScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCivilScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetStore: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setError: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, setLeadId: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, resetIndividualScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setDefaultCountryCode: import("@reduxjs/toolkit").ActionCreatorWithPayload<CountryCode, string>, storeIsStartFromBusinessCountry: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, resetAuthenticationScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
184
191
|
declare const _default: import("redux").Reducer<ConnectExpressState, import("redux").AnyAction>;
|
|
185
192
|
export default _default;
|
|
186
193
|
export declare const connectExpressSelector: (state: RootState) => ConnectExpressState;
|
|
@@ -57,7 +57,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
57
57
|
var _a;
|
|
58
58
|
import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
|
59
59
|
import { handleNextScreenStep, handleCurrentActiveScreen, handleOpen, handleSetCountryByIso2, onCloseComplete, storeAuthId } from '../../../app/settings';
|
|
60
|
-
import { FlowsTypes, AuthForType, BusinessType, LicenseType } from '../../../@types';
|
|
60
|
+
import { FlowsTypes, AuthForType, BusinessType, LicenseType, AuthForScreen } from '../../../@types';
|
|
61
61
|
import API from '../../../api';
|
|
62
62
|
import { ADD_NEW_ENTITY, COLLECT_DOB_INFO_NAFATH, CONNECT_EXPRESS_STEP_NAMES, IDENTIFICATION_TYPE, NAFATH_PACI_TIMEOUT_DURATION, NAFATH_VERIFICATION_FAILED, OTHER_CR_LICENSE, OTHER_FL_LICENSE, SCOPE_AUTH } from '../../../constants';
|
|
63
63
|
import { defaultCountry } from '../../../constants';
|
|
@@ -835,7 +835,7 @@ export var verifyPaciLeadIdentityAsync = createAsyncThunk('connectExpress/verify
|
|
|
835
835
|
case 9:
|
|
836
836
|
count++;
|
|
837
837
|
return [3, 1];
|
|
838
|
-
case 10: throw new Error('
|
|
838
|
+
case 10: throw new Error('paci_verification_failed');
|
|
839
839
|
}
|
|
840
840
|
});
|
|
841
841
|
}); });
|
|
@@ -1029,7 +1029,7 @@ export var createEntity = createAsyncThunk('connectExpress/createEntity', functi
|
|
|
1029
1029
|
});
|
|
1030
1030
|
}); });
|
|
1031
1031
|
export var updateLeadDOBAsync = createAsyncThunk('connectExpress/updateLeadDOBAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1032
|
-
var _a, settings, connectExpress, id, dob, payload, data, needToCollectMoreInfo, creatingAccount;
|
|
1032
|
+
var _a, settings, connectExpress, id, dob, payload, data, needToCollectMoreInfo, creatingAccount, verifyAuthMobile;
|
|
1033
1033
|
var _b, _c, _d;
|
|
1034
1034
|
return __generator(this, function (_e) {
|
|
1035
1035
|
switch (_e.label) {
|
|
@@ -1049,6 +1049,10 @@ export var updateLeadDOBAsync = createAsyncThunk('connectExpress/updateLeadDOBAs
|
|
|
1049
1049
|
(_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, params);
|
|
1050
1050
|
needToCollectMoreInfo = data.step_name === 'collect_info';
|
|
1051
1051
|
creatingAccount = data.step_name === 'create_account';
|
|
1052
|
+
verifyAuthMobile = data.step_name === 'connect_express_auth_mobile';
|
|
1053
|
+
if (verifyAuthMobile) {
|
|
1054
|
+
sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP')); });
|
|
1055
|
+
}
|
|
1052
1056
|
if (creatingAccount) {
|
|
1053
1057
|
sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP')); });
|
|
1054
1058
|
}
|
|
@@ -1062,7 +1066,7 @@ export var updateLeadDOBAsync = createAsyncThunk('connectExpress/updateLeadDOBAs
|
|
|
1062
1066
|
export var updateLeadIndividualAsync = createAsyncThunk('connectExpress/updateLeadIndividualAsync', function (_a, thunkApi) {
|
|
1063
1067
|
var formData = _a.formData, originalFormData = _a.originalFormData;
|
|
1064
1068
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
1065
|
-
var _b, settings, connectExpress, id, countryCode, name, email, mobile, phoneCountry, isContactAvailable, payload, data, needToCollectMoreInfo, creatingAccount, collectPhoneOwnershipScreen, isSaudi;
|
|
1069
|
+
var _b, settings, connectExpress, id, countryCode, name, email, mobile, phoneCountry, isContactAvailable, payload, data, needToCollectMoreInfo, creatingAccount, collectPhoneOwnershipScreen, verifyAuthMobile, isSaudi;
|
|
1066
1070
|
var _c, _d, _e, _f, _g;
|
|
1067
1071
|
return __generator(this, function (_h) {
|
|
1068
1072
|
switch (_h.label) {
|
|
@@ -1082,6 +1086,10 @@ export var updateLeadIndividualAsync = createAsyncThunk('connectExpress/updateLe
|
|
|
1082
1086
|
needToCollectMoreInfo = data.step_name === 'collect_info';
|
|
1083
1087
|
creatingAccount = data.step_name === 'create_account';
|
|
1084
1088
|
collectPhoneOwnershipScreen = data.step_name === CONNECT_EXPRESS_STEP_NAMES.COLLECT_MOBILE_OWNERSHIP;
|
|
1089
|
+
verifyAuthMobile = data.step_name === CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_MOBILE_OTP;
|
|
1090
|
+
if (verifyAuthMobile) {
|
|
1091
|
+
sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP')); });
|
|
1092
|
+
}
|
|
1085
1093
|
if (collectPhoneOwnershipScreen) {
|
|
1086
1094
|
sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('COLLECT_MOBILE_OWNERSHIP')); });
|
|
1087
1095
|
}
|
|
@@ -1145,7 +1153,7 @@ export var updateLeadBusinessDataAsync = createAsyncThunk('updateLeadBusinessDat
|
|
|
1145
1153
|
});
|
|
1146
1154
|
});
|
|
1147
1155
|
export var updateLeadMobile = createAsyncThunk('connectExpress/updateLeadMobile', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1148
|
-
var _a, settings, connectExpress, id, startWithNID, payload, leadResponse, needToCollectMoreInfo, creatingAccount, askDobInfo, collectPhoneOwnershipScreen;
|
|
1156
|
+
var _a, settings, connectExpress, id, startWithNID, payload, leadResponse, needToCollectMoreInfo, creatingAccount, askDobInfo, collectPhoneOwnershipScreen, verifyAuthMobile;
|
|
1149
1157
|
var _b, _c, _d;
|
|
1150
1158
|
return __generator(this, function (_e) {
|
|
1151
1159
|
switch (_e.label) {
|
|
@@ -1172,9 +1180,13 @@ export var updateLeadMobile = createAsyncThunk('connectExpress/updateLeadMobile'
|
|
|
1172
1180
|
creatingAccount = leadResponse.step_name === 'create_account';
|
|
1173
1181
|
askDobInfo = leadResponse.step_name === COLLECT_DOB_INFO_NAFATH;
|
|
1174
1182
|
collectPhoneOwnershipScreen = leadResponse.step_name === CONNECT_EXPRESS_STEP_NAMES.COLLECT_MOBILE_OWNERSHIP;
|
|
1183
|
+
verifyAuthMobile = leadResponse.step_name === CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_MOBILE_OTP;
|
|
1175
1184
|
if (collectPhoneOwnershipScreen) {
|
|
1176
1185
|
throw new Error("The new mobile number doesn't match the national ID, please update the mobile to the correct one");
|
|
1177
1186
|
}
|
|
1187
|
+
if (verifyAuthMobile) {
|
|
1188
|
+
sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP')); });
|
|
1189
|
+
}
|
|
1178
1190
|
if (askDobInfo) {
|
|
1179
1191
|
sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP')); });
|
|
1180
1192
|
}
|
|
@@ -1199,7 +1211,7 @@ export var updateLeadMobile = createAsyncThunk('connectExpress/updateLeadMobile'
|
|
|
1199
1211
|
});
|
|
1200
1212
|
}); });
|
|
1201
1213
|
export var skipUpdateLeadMobile = createAsyncThunk('connectExpress/skipUpdateLeadMobile', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1202
|
-
var _a, settings, connectExpress, id, startWithNID, payload, leadResponse, needToCollectMoreInfo, creatingAccount, askDobInfo;
|
|
1214
|
+
var _a, settings, connectExpress, id, startWithNID, payload, leadResponse, needToCollectMoreInfo, creatingAccount, askDobInfo, verifyAuthMobile;
|
|
1203
1215
|
var _b, _c, _d;
|
|
1204
1216
|
return __generator(this, function (_e) {
|
|
1205
1217
|
switch (_e.label) {
|
|
@@ -1219,6 +1231,10 @@ export var skipUpdateLeadMobile = createAsyncThunk('connectExpress/skipUpdateLea
|
|
|
1219
1231
|
needToCollectMoreInfo = leadResponse.step_name === 'collect_info';
|
|
1220
1232
|
creatingAccount = leadResponse.step_name === 'create_account';
|
|
1221
1233
|
askDobInfo = leadResponse.step_name === COLLECT_DOB_INFO_NAFATH;
|
|
1234
|
+
verifyAuthMobile = leadResponse.step_name === CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_MOBILE_OTP;
|
|
1235
|
+
if (verifyAuthMobile) {
|
|
1236
|
+
sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP')); });
|
|
1237
|
+
}
|
|
1222
1238
|
if (askDobInfo) {
|
|
1223
1239
|
sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP')); });
|
|
1224
1240
|
}
|
|
@@ -1242,6 +1258,57 @@ export var skipUpdateLeadMobile = createAsyncThunk('connectExpress/skipUpdateLea
|
|
|
1242
1258
|
}
|
|
1243
1259
|
});
|
|
1244
1260
|
}); });
|
|
1261
|
+
export var verifyAuthMobileOtpAsync = createAsyncThunk('connectExpress/verifyAuthMobileOtpAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1262
|
+
var _a, settings, connectExpress, responseData, _b, verify_token, verification_by, payload, data, needToCollectMoreInfo, creatingAccount, askDobInfo, collectPhoneOwnershipScreen, isSaudi;
|
|
1263
|
+
var _c, _d;
|
|
1264
|
+
return __generator(this, function (_e) {
|
|
1265
|
+
switch (_e.label) {
|
|
1266
|
+
case 0:
|
|
1267
|
+
_a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
|
|
1268
|
+
responseData = (connectExpress.data || {}).responseData;
|
|
1269
|
+
if (!(responseData === null || responseData === void 0 ? void 0 : responseData.verifyAuthMobile))
|
|
1270
|
+
throw new Error('Auth data is missing');
|
|
1271
|
+
_b = responseData.verifyAuthMobile, verify_token = _b.verify_token, verification_by = _b.verification_by;
|
|
1272
|
+
payload = {
|
|
1273
|
+
verify_token: verify_token,
|
|
1274
|
+
data: params.otp,
|
|
1275
|
+
auth_type: 2,
|
|
1276
|
+
service_name: verification_by === null || verification_by === void 0 ? void 0 : verification_by.service_name,
|
|
1277
|
+
sign_in: false,
|
|
1278
|
+
step_name: CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_MOBILE_OTP,
|
|
1279
|
+
encryption_contract: ['data']
|
|
1280
|
+
};
|
|
1281
|
+
return [4, API.authService.verifyExpressLeadIdentity(payload)];
|
|
1282
|
+
case 1:
|
|
1283
|
+
data = _e.sent();
|
|
1284
|
+
(_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, params);
|
|
1285
|
+
needToCollectMoreInfo = data.step_name === 'collect_info';
|
|
1286
|
+
creatingAccount = data.step_name === 'create_account';
|
|
1287
|
+
askDobInfo = data.step_name === COLLECT_DOB_INFO_NAFATH;
|
|
1288
|
+
collectPhoneOwnershipScreen = data.step_name === CONNECT_EXPRESS_STEP_NAMES.COLLECT_MOBILE_OWNERSHIP;
|
|
1289
|
+
if (askDobInfo) {
|
|
1290
|
+
sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP')); });
|
|
1291
|
+
}
|
|
1292
|
+
if (creatingAccount) {
|
|
1293
|
+
sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP')); });
|
|
1294
|
+
}
|
|
1295
|
+
if (collectPhoneOwnershipScreen) {
|
|
1296
|
+
sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('COLLECT_MOBILE_OWNERSHIP')); });
|
|
1297
|
+
}
|
|
1298
|
+
if (!needToCollectMoreInfo) return [3, 4];
|
|
1299
|
+
isSaudi = isSA(settings.data.businessCountry.iso2);
|
|
1300
|
+
if (!isSaudi) return [3, 3];
|
|
1301
|
+
return [4, thunkApi.dispatch(retrieveEntityListAsync(data.lead.id)).unwrap()];
|
|
1302
|
+
case 2:
|
|
1303
|
+
_e.sent();
|
|
1304
|
+
_e.label = 3;
|
|
1305
|
+
case 3:
|
|
1306
|
+
sleep(100).then(function () { return thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_COLLECT_BUSINESS_INFO_STEP')); });
|
|
1307
|
+
_e.label = 4;
|
|
1308
|
+
case 4: return [2, { data: data }];
|
|
1309
|
+
}
|
|
1310
|
+
});
|
|
1311
|
+
}); });
|
|
1245
1312
|
export var confirmInfo = createAsyncThunk('connectExpress/confirmInfo', function (_a, thunkApi) {
|
|
1246
1313
|
var brandInfo = _a.brandInfo, entityInfo = _a.entityInfo, merchantInfo = _a.merchantInfo;
|
|
1247
1314
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -1366,6 +1433,10 @@ var initialState = {
|
|
|
1366
1433
|
mobile: '',
|
|
1367
1434
|
countryCode: defaultCountry
|
|
1368
1435
|
},
|
|
1436
|
+
verifyAuthOtpData: {
|
|
1437
|
+
otp: '',
|
|
1438
|
+
authFor: AuthForScreen.INDIVIDUAL
|
|
1439
|
+
},
|
|
1369
1440
|
businessData: {
|
|
1370
1441
|
brandName: '',
|
|
1371
1442
|
licenseNumber: '',
|
|
@@ -1421,6 +1492,9 @@ export var connectSlice = createSlice({
|
|
|
1421
1492
|
resetOTPValue: function (state) {
|
|
1422
1493
|
state.data.otpData.otp = '';
|
|
1423
1494
|
},
|
|
1495
|
+
resetVerifyAuthOTPValue: function (state) {
|
|
1496
|
+
state.data.verifyAuthOtpData.otp = '';
|
|
1497
|
+
},
|
|
1424
1498
|
resetStore: function (state) {
|
|
1425
1499
|
var _a;
|
|
1426
1500
|
state.data = __assign(__assign({}, state.data), { responseData: { leadData: (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.leadData } });
|
|
@@ -1754,7 +1828,8 @@ export var connectSlice = createSlice({
|
|
|
1754
1828
|
state.loading = false;
|
|
1755
1829
|
state.error = null;
|
|
1756
1830
|
state.data.dobData = action.payload.formData;
|
|
1757
|
-
state.data.responseData = __assign(__assign({}, state.data.responseData), { dobData: action.payload.response });
|
|
1831
|
+
state.data.responseData = __assign(__assign({}, state.data.responseData), { dobData: action.payload.response, verifyAuthMobile: action.payload.response });
|
|
1832
|
+
state.data.verifyAuthOtpData.authFor = AuthForScreen.DOB;
|
|
1758
1833
|
})
|
|
1759
1834
|
.addCase(updateLeadDOBAsync.pending, function (state) {
|
|
1760
1835
|
state.loading = true;
|
|
@@ -1770,7 +1845,8 @@ export var connectSlice = createSlice({
|
|
|
1770
1845
|
state.error = null;
|
|
1771
1846
|
var licenseList = [OTHER_CR_LICENSE, OTHER_FL_LICENSE];
|
|
1772
1847
|
state.data.individualData = action.payload.formData;
|
|
1773
|
-
state.data.responseData = __assign(__assign(__assign({}, state.data.responseData), { individualData: action.payload.response }), (!((_b = (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.licenseList) === null || _b === void 0 ? void 0 : _b.length) && { licenseList: licenseList }));
|
|
1848
|
+
state.data.responseData = __assign(__assign(__assign(__assign({}, state.data.responseData), { individualData: action.payload.response }), (!((_b = (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.licenseList) === null || _b === void 0 ? void 0 : _b.length) && { licenseList: licenseList })), { verifyAuthMobile: action.payload.response });
|
|
1849
|
+
state.data.verifyAuthOtpData.authFor = AuthForScreen.INDIVIDUAL;
|
|
1774
1850
|
})
|
|
1775
1851
|
.addCase(updateLeadIndividualAsync.pending, function (state) {
|
|
1776
1852
|
state.loading = true;
|
|
@@ -1798,7 +1874,8 @@ export var connectSlice = createSlice({
|
|
|
1798
1874
|
state.loading = false;
|
|
1799
1875
|
state.error = null;
|
|
1800
1876
|
state.data.individualData.mobile = action.payload.formData.mobile;
|
|
1801
|
-
state.data.responseData = __assign(__assign({}, state.data.responseData), { individualData: action.payload.leadResponse });
|
|
1877
|
+
state.data.responseData = __assign(__assign({}, state.data.responseData), { individualData: action.payload.leadResponse, verifyAuthMobile: action.payload.leadResponse });
|
|
1878
|
+
state.data.verifyAuthOtpData.authFor = AuthForScreen.MOBILE_OWNERSHIP;
|
|
1802
1879
|
})
|
|
1803
1880
|
.addCase(updateLeadMobile.pending, function (state) {
|
|
1804
1881
|
state.loading = true;
|
|
@@ -1811,7 +1888,8 @@ export var connectSlice = createSlice({
|
|
|
1811
1888
|
.addCase(skipUpdateLeadMobile.fulfilled, function (state, action) {
|
|
1812
1889
|
state.loading = false;
|
|
1813
1890
|
state.error = null;
|
|
1814
|
-
state.data.responseData = __assign(__assign({}, state.data.responseData), { individualData: action.payload.leadResponse });
|
|
1891
|
+
state.data.responseData = __assign(__assign({}, state.data.responseData), { individualData: action.payload.leadResponse, verifyAuthMobile: action.payload.leadResponse });
|
|
1892
|
+
state.data.verifyAuthOtpData.authFor = AuthForScreen.MOBILE_OWNERSHIP;
|
|
1815
1893
|
})
|
|
1816
1894
|
.addCase(skipUpdateLeadMobile.pending, function (state) {
|
|
1817
1895
|
state.loading = true;
|
|
@@ -1820,6 +1898,20 @@ export var connectSlice = createSlice({
|
|
|
1820
1898
|
.addCase(skipUpdateLeadMobile.rejected, function (state, action) {
|
|
1821
1899
|
state.loading = false;
|
|
1822
1900
|
state.error = action.error.message;
|
|
1901
|
+
})
|
|
1902
|
+
.addCase(verifyAuthMobileOtpAsync.fulfilled, function (state, action) {
|
|
1903
|
+
state.loading = false;
|
|
1904
|
+
state.error = null;
|
|
1905
|
+
state.data.responseData = __assign(__assign({}, state.data.responseData), { verifyAuthMobileOtp: action.payload.data });
|
|
1906
|
+
state.data.verifyAuthOtpData.authFor = AuthForScreen.MOBILE_OWNERSHIP;
|
|
1907
|
+
})
|
|
1908
|
+
.addCase(verifyAuthMobileOtpAsync.pending, function (state) {
|
|
1909
|
+
state.loading = true;
|
|
1910
|
+
state.error = null;
|
|
1911
|
+
})
|
|
1912
|
+
.addCase(verifyAuthMobileOtpAsync.rejected, function (state, action) {
|
|
1913
|
+
state.loading = false;
|
|
1914
|
+
state.error = action.error.message;
|
|
1823
1915
|
})
|
|
1824
1916
|
.addCase(createAccountAsync.pending, function (state) {
|
|
1825
1917
|
state.loading = true;
|
|
@@ -1928,6 +2020,6 @@ export var connectSlice = createSlice({
|
|
|
1928
2020
|
});
|
|
1929
2021
|
}
|
|
1930
2022
|
});
|
|
1931
|
-
export var clearError = (_a = connectSlice.actions, _a.clearError), stopLoader = _a.stopLoader, setIsLeadIdPassed = _a.setIsLeadIdPassed, resetMobileScreen = _a.resetMobileScreen, resetOTPValue = _a.resetOTPValue, resetNIDScreen = _a.resetNIDScreen, resetCivilScreen = _a.resetCivilScreen, resetStore = _a.resetStore, setError = _a.setError, setLeadId = _a.setLeadId, resetIndividualScreen = _a.resetIndividualScreen, setDefaultCountryCode = _a.setDefaultCountryCode, storeIsStartFromBusinessCountry = _a.storeIsStartFromBusinessCountry, resetAuthenticationScreen = _a.resetAuthenticationScreen;
|
|
2023
|
+
export var clearError = (_a = connectSlice.actions, _a.clearError), stopLoader = _a.stopLoader, setIsLeadIdPassed = _a.setIsLeadIdPassed, resetMobileScreen = _a.resetMobileScreen, resetOTPValue = _a.resetOTPValue, resetVerifyAuthOTPValue = _a.resetVerifyAuthOTPValue, resetNIDScreen = _a.resetNIDScreen, resetCivilScreen = _a.resetCivilScreen, resetStore = _a.resetStore, setError = _a.setError, setLeadId = _a.setLeadId, resetIndividualScreen = _a.resetIndividualScreen, setDefaultCountryCode = _a.setDefaultCountryCode, storeIsStartFromBusinessCountry = _a.storeIsStartFromBusinessCountry, resetAuthenticationScreen = _a.resetAuthenticationScreen;
|
|
1932
2024
|
export default connectSlice.reducer;
|
|
1933
2025
|
export var connectExpressSelector = function (state) { return state.connectExpress; };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import * as React from 'react';
|
|
14
|
+
import { useController, useFormContext } from 'react-hook-form';
|
|
15
|
+
import { useTranslation } from 'react-i18next';
|
|
16
|
+
import Box from '@mui/material/Box/Box';
|
|
17
|
+
import { styled } from '@mui/material/styles';
|
|
18
|
+
import OTPField from '../../../shared/OTP';
|
|
19
|
+
import { DEFAULT_TIMER_VALUE } from '../../../../constants';
|
|
20
|
+
import { connectExpressSelector, clearError, updateLeadIndividualAsync, updateLeadMobile, updateLeadDOBAsync } from '../../../app/connectExpress/connectExpressStore';
|
|
21
|
+
import { useAppDispatch, useAppSelector } from '../../../../hooks';
|
|
22
|
+
import { deepCopy } from '../../../../utils';
|
|
23
|
+
import { AuthForScreen } from '../../../../@types';
|
|
24
|
+
var BoxStyled = styled(Box)(function (_a) {
|
|
25
|
+
var theme = _a.theme;
|
|
26
|
+
return ({
|
|
27
|
+
display: 'flex',
|
|
28
|
+
flexDirection: 'column',
|
|
29
|
+
fontFamily: theme.typography.fontFamily
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
var OTPInput = function (_a) {
|
|
33
|
+
var _b = useFormContext(), control = _b.control, setValue = _b.setValue;
|
|
34
|
+
var t = useTranslation().t;
|
|
35
|
+
var dispatch = useAppDispatch();
|
|
36
|
+
var otpControl = useController({ name: 'otp', control: control });
|
|
37
|
+
var _c = useAppSelector(connectExpressSelector), data = _c.data, error = _c.error;
|
|
38
|
+
var verifyAuthOtpData = data.verifyAuthOtpData, individualData = data.individualData, dobData = data.dobData;
|
|
39
|
+
var authFor = verifyAuthOtpData.authFor;
|
|
40
|
+
var handleOnOTPChange = function (otp) {
|
|
41
|
+
if (error)
|
|
42
|
+
dispatch(clearError());
|
|
43
|
+
otpControl.field.onChange(otp);
|
|
44
|
+
};
|
|
45
|
+
var handleOnResendOTP = function () {
|
|
46
|
+
if (otpControl.field.value)
|
|
47
|
+
setValue('otp', '', { shouldValidate: true });
|
|
48
|
+
if (authFor === AuthForScreen.MOBILE_OWNERSHIP)
|
|
49
|
+
dispatch(updateLeadMobile(deepCopy(individualData)));
|
|
50
|
+
else if (authFor === AuthForScreen.DOB)
|
|
51
|
+
dispatch(updateLeadDOBAsync(deepCopy(dobData)));
|
|
52
|
+
else
|
|
53
|
+
dispatch(updateLeadIndividualAsync(deepCopy(individualData)));
|
|
54
|
+
};
|
|
55
|
+
var otpValue = otpControl.field.value;
|
|
56
|
+
return (_jsx(BoxStyled, __assign({ dir: 'ltr' }, { children: _jsx(OTPField, { timeEndLabel: t('ide_otp_resend_label'), timerInSeconds: DEFAULT_TIMER_VALUE, onResetClick: handleOnResendOTP, value: otpValue, onChange: function (number) { return handleOnOTPChange(number.toString()); } }) })));
|
|
57
|
+
};
|
|
58
|
+
export default React.memo(OTPInput);
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import Box from '@mui/material/Box/Box';
|
|
14
|
+
import { styled } from '@mui/material/styles';
|
|
15
|
+
import * as React from 'react';
|
|
16
|
+
import { useTranslation } from 'react-i18next';
|
|
17
|
+
import Text from '../../../../components/Text';
|
|
18
|
+
import { clearError, connectExpressSelector, verifyAuthMobileOtpAsync, resetVerifyAuthOTPValue } from '../../../app/connectExpress/connectExpressStore';
|
|
19
|
+
import Button from '../../../shared/Button';
|
|
20
|
+
import { ScreenContainer } from '../../../shared/Containers';
|
|
21
|
+
import { useAppDispatch, useAppSelector, useSanitizedTranslation } from '../../../../hooks';
|
|
22
|
+
import { handlePrevScreenStep } from '../../../../app/settings';
|
|
23
|
+
import { useLanguage } from '../../../../hooks';
|
|
24
|
+
import { useForm, FormProvider } from 'react-hook-form';
|
|
25
|
+
import { yupResolver } from '@hookform/resolvers/yup';
|
|
26
|
+
import Form from '../../../../components/Form';
|
|
27
|
+
import { maskPhone, deepCopy } from '../../../../utils';
|
|
28
|
+
import { AuthForScreen } from '../../../../@types';
|
|
29
|
+
import { OTPValidation } from './validation';
|
|
30
|
+
import OTPInput from './OTPInput';
|
|
31
|
+
var OTPTitleContainerStyled = styled(Box)(function (_a) {
|
|
32
|
+
var theme = _a.theme;
|
|
33
|
+
return ({
|
|
34
|
+
background: theme.palette.common.white,
|
|
35
|
+
border: '1px solid',
|
|
36
|
+
borderColor: theme.palette.divider,
|
|
37
|
+
direction: theme.direction,
|
|
38
|
+
borderRadius: theme.spacing(0, 0, 1.25, 1.25),
|
|
39
|
+
marginBottom: theme.spacing(5.75)
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
var OTPTitleStyled = styled(Text)(function (_a) {
|
|
43
|
+
var theme = _a.theme;
|
|
44
|
+
return (__assign(__assign({}, theme.typography.body1), { color: theme.palette.text.primary, fontWeight: theme.typography.fontWeightLight, marginBlock: theme.spacing(1.75), marginInline: theme.spacing(2.5), lineHeight: 1.75, whiteSpace: 'pre-line' }));
|
|
45
|
+
});
|
|
46
|
+
var FormStyled = styled(Form)(function () { return ({
|
|
47
|
+
display: 'flex',
|
|
48
|
+
flexDirection: 'column'
|
|
49
|
+
}); });
|
|
50
|
+
var VerifyMobileAuthOTP = function () {
|
|
51
|
+
var _a, _b, _c, _d, _e, _f;
|
|
52
|
+
var dispatch = useAppDispatch();
|
|
53
|
+
var _g = useAppSelector(connectExpressSelector), data = _g.data, loading = _g.loading, error = _g.error;
|
|
54
|
+
var t = useTranslation().t;
|
|
55
|
+
var st = useSanitizedTranslation();
|
|
56
|
+
var isAr = useLanguage().isAr;
|
|
57
|
+
var methods = useForm({
|
|
58
|
+
resolver: yupResolver(OTPValidation),
|
|
59
|
+
defaultValues: data.verifyAuthOtpData,
|
|
60
|
+
mode: 'onChange'
|
|
61
|
+
});
|
|
62
|
+
React.useEffect(function () {
|
|
63
|
+
if (error)
|
|
64
|
+
dispatch(clearError());
|
|
65
|
+
}, [methods.formState.isValid]);
|
|
66
|
+
React.useEffect(function () {
|
|
67
|
+
return function () {
|
|
68
|
+
dispatch(resetVerifyAuthOTPValue());
|
|
69
|
+
};
|
|
70
|
+
}, []);
|
|
71
|
+
var onSubmit = function (formData) {
|
|
72
|
+
dispatch(verifyAuthMobileOtpAsync(deepCopy(formData)));
|
|
73
|
+
};
|
|
74
|
+
var onBack = function () {
|
|
75
|
+
var authFor = data.verifyAuthOtpData.authFor;
|
|
76
|
+
var step_name = 'CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP';
|
|
77
|
+
if (authFor === AuthForScreen.DOB)
|
|
78
|
+
step_name = 'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP';
|
|
79
|
+
else if (authFor === AuthForScreen.MOBILE_OWNERSHIP)
|
|
80
|
+
step_name = 'COLLECT_MOBILE_OWNERSHIP';
|
|
81
|
+
dispatch(handlePrevScreenStep(step_name));
|
|
82
|
+
};
|
|
83
|
+
var disabled = !methods.formState.isValid;
|
|
84
|
+
var phone = ((_c = (_b = (_a = data.responseData) === null || _a === void 0 ? void 0 : _a.verifyAuthMobile) === null || _b === void 0 ? void 0 : _b.verification_by) === null || _c === void 0 ? void 0 : _c.sent_to) ? (_f = (_e = (_d = data.responseData) === null || _d === void 0 ? void 0 : _d.verifyAuthMobile) === null || _e === void 0 ? void 0 : _e.verification_by) === null || _f === void 0 ? void 0 : _f.sent_to : '';
|
|
85
|
+
var title = t('ide_opt_sent_title');
|
|
86
|
+
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') : title, !loading && _jsx("span", __assign({ dir: 'ltr' }, { children: maskPhone(phone) }))] }) }), _jsx(OTPInput, {}), _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, loading: loading, error: st(error || '') }, { children: t('next') }))] })) })) }));
|
|
87
|
+
};
|
|
88
|
+
export default React.memo(VerifyMobileAuthOTP);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as yup from 'yup';
|
|
2
|
+
export declare const OTPValidation: yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
3
|
+
otp: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
|
|
4
|
+
}>, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
5
|
+
otp: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
|
|
6
|
+
}>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
7
|
+
otp: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
|
|
8
|
+
}>>>;
|
|
@@ -27,6 +27,7 @@ import ConnectExpressIdentityVerifyNafathScreen from './connectExpress/screens/I
|
|
|
27
27
|
import ConnectExpressCollectIndividualScreen from './connectExpress/screens/CollectIndividualInfo';
|
|
28
28
|
import ConnectExpressCollectDobScreen from './connectExpress/screens/DOB';
|
|
29
29
|
import ConnectExpressCollectBusinessScreen from './connectExpress/screens/CollectBusinessInfo';
|
|
30
|
+
import ConnectExpressVerifyAuthMobileOtpScreen from './connectExpress/screens/VerifyMobileAuthOTP';
|
|
30
31
|
import ConnectExpressCreateAccountLoaderScreen from './connectExpress/screens/CreateAccountLoader';
|
|
31
32
|
import ConnectExpressPreparingDataLoaderScreen from './connectExpress/screens/PrepareDataLoading';
|
|
32
33
|
import ConnectExpressSuccessFlowButtonsScreen from './connectExpress/screens/SuccessWithFlowButtons';
|
|
@@ -262,6 +263,10 @@ export var connectExpressFeatureScreens = [
|
|
|
262
263
|
name: 'CONNECT_EXPRESS_COLLECT_BUSINESS_INFO_STEP',
|
|
263
264
|
element: ConnectExpressCollectBusinessScreen
|
|
264
265
|
},
|
|
266
|
+
{
|
|
267
|
+
name: 'CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP',
|
|
268
|
+
element: ConnectExpressVerifyAuthMobileOtpScreen
|
|
269
|
+
},
|
|
265
270
|
{
|
|
266
271
|
name: 'CONNECT_EXPRESS_ACCOUNT_ALREADY_CREATED_STEP',
|
|
267
272
|
element: ConnectExpressAccountAlreadyCreatedScreen
|
package/build/utils/common.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { axiosInstance } from '../api';
|
|
2
|
-
import { ENDPOINT_PATHS,
|
|
2
|
+
import { ENDPOINT_PATHS, CONNECT_DEV_URL, CONNECT_PROD_URL } from '../constants';
|
|
3
3
|
import { objectHasValues } from './object';
|
|
4
4
|
import { isSA } from './string';
|
|
5
5
|
export var sleep = function (milliseconds) {
|
|
@@ -19,7 +19,7 @@ export var setBaseUrl = function (publicKey, countryCode) {
|
|
|
19
19
|
axiosInstance.defaults.baseURL = isSA(countryCode) ? ENDPOINT_PATHS.PRODUCTION_BASE_URL_SA : ENDPOINT_PATHS.PRODUCTION_BASE_URL;
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
|
-
axiosInstance.defaults.baseURL = ENDPOINT_PATHS.
|
|
22
|
+
axiosInstance.defaults.baseURL = ENDPOINT_PATHS.DEV_BASE_URL;
|
|
23
23
|
};
|
|
24
24
|
export var updateLocationUrlWithCountry = function (countryIso2) {
|
|
25
25
|
var country = countryIso2.toLowerCase();
|
|
@@ -38,7 +38,7 @@ export var updateLocationUrlWithCountry = function (countryIso2) {
|
|
|
38
38
|
window.history.replaceState({}, '', newUrl);
|
|
39
39
|
};
|
|
40
40
|
export var openConnect = function (pk, countryCode) {
|
|
41
|
-
var newUrl = new URL(pk.includes('pk_live') ? CONNECT_PROD_URL :
|
|
41
|
+
var newUrl = new URL(pk.includes('pk_live') ? CONNECT_PROD_URL : CONNECT_DEV_URL);
|
|
42
42
|
if (countryCode) {
|
|
43
43
|
newUrl.pathname = "/".concat(countryCode.toLowerCase());
|
|
44
44
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tap-payments/auth-jsconnect",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.38-development",
|
|
4
4
|
"description": "connect library, auth",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "build/index.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"copy:files": "copyfiles -u 1 src/**/*.css build/",
|
|
22
22
|
"tsc:alias": "tsc-alias -p tsconfig.json",
|
|
23
23
|
"ts:build": "rm -rf build && tsc -p tsconfig.json && tsc-alias -p tsconfig.json && yarn copy:files",
|
|
24
|
-
"push": "npm publish --access public --tag
|
|
24
|
+
"push": "npm publish --access public --tag development"
|
|
25
25
|
},
|
|
26
26
|
"keywords": [],
|
|
27
27
|
"author": {
|