@tap-payments/auth-jsconnect 2.9.35-development → 2.9.36-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/constants/app.d.ts +1 -0
- package/build/constants/app.js +26 -8
- package/build/features/app/connectExpress/connectExpressStore.d.ts +9 -2
- package/build/features/app/connectExpress/connectExpressStore.js +102 -10
- 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/package.json +1 -1
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";
|
package/build/constants/app.d.ts
CHANGED
|
@@ -137,6 +137,7 @@ export declare const CONNECT_EXPRESS_STEP_NAMES: {
|
|
|
137
137
|
CONNECT_EXPRESS_SUCCESS: string;
|
|
138
138
|
COLLECT_MOBILE_OWNERSHIP: string;
|
|
139
139
|
COLLECT_MOBILE_OWNERSHIP_SKIPPED: string;
|
|
140
|
+
VERIFY_AUTH_MOBILE_OTP: string;
|
|
140
141
|
};
|
|
141
142
|
export declare const SignIn_STEP_NAMES: {
|
|
142
143
|
CREATE_AUTH_MOBILE: string;
|
package/build/constants/app.js
CHANGED
|
@@ -228,7 +228,11 @@ export var CONNECT_EXPRESS_SCREENS_NAVIGATION = [
|
|
|
228
228
|
},
|
|
229
229
|
{
|
|
230
230
|
name: 'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP',
|
|
231
|
-
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
|
+
],
|
|
232
236
|
prev: ['CONNECT_EXPRESS_NID_STEP', 'CONNECT_EXPRESS_NID_MISSED_STEP'],
|
|
233
237
|
order: 5
|
|
234
238
|
},
|
|
@@ -241,7 +245,8 @@ export var CONNECT_EXPRESS_SCREENS_NAVIGATION = [
|
|
|
241
245
|
'CONNECT_EXPRESS_CIVIL_ID_STEP',
|
|
242
246
|
'CONNECT_EXPRESS_CIVIL_ID_MISSED_STEP',
|
|
243
247
|
'CONNECT_EXPRESS_NID_MISSED_STEP',
|
|
244
|
-
'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP'
|
|
248
|
+
'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP',
|
|
249
|
+
'CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP'
|
|
245
250
|
],
|
|
246
251
|
order: 5
|
|
247
252
|
},
|
|
@@ -251,7 +256,8 @@ export var CONNECT_EXPRESS_SCREENS_NAVIGATION = [
|
|
|
251
256
|
'CONNECT_EXPRESS_COLLECT_BUSINESS_INFO_STEP',
|
|
252
257
|
'CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP',
|
|
253
258
|
'CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP',
|
|
254
|
-
'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP'
|
|
259
|
+
'CONNECT_EXPRESS_COLLECT_DOB_INFO_STEP',
|
|
260
|
+
'CONNECT_EXPRESS_VERIFY_AUTH_OTP_STEP'
|
|
255
261
|
],
|
|
256
262
|
prev: ['CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP', 'CONNECT_EXPRESS_NID_MISSED_STEP'],
|
|
257
263
|
order: 6
|
|
@@ -262,29 +268,40 @@ export var CONNECT_EXPRESS_SCREENS_NAVIGATION = [
|
|
|
262
268
|
prev: 'CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP',
|
|
263
269
|
order: 6
|
|
264
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
|
+
},
|
|
265
282
|
{
|
|
266
283
|
name: 'CONNECT_EXPRESS_WAITING_FOR_CREATING_ACCOUNT_STEP',
|
|
267
284
|
next: 'CONNECT_EXPRESS_PREPARING_DATA_STEP',
|
|
268
285
|
prev: '',
|
|
269
|
-
order:
|
|
286
|
+
order: 8
|
|
270
287
|
},
|
|
271
288
|
{
|
|
272
289
|
name: 'CONNECT_EXPRESS_PREPARING_DATA_STEP',
|
|
273
290
|
next: 'CONNECT_EXPRESS_SUCCESS_WITH_FLOW_BUTTONS_STEP',
|
|
274
291
|
prev: '',
|
|
275
|
-
order:
|
|
292
|
+
order: 9
|
|
276
293
|
},
|
|
277
294
|
{
|
|
278
295
|
name: 'CONNECT_EXPRESS_ACCOUNT_ALREADY_CREATED_STEP',
|
|
279
296
|
next: '',
|
|
280
297
|
prev: '',
|
|
281
|
-
order:
|
|
298
|
+
order: 10
|
|
282
299
|
},
|
|
283
300
|
{
|
|
284
301
|
name: 'CONNECT_EXPRESS_SUCCESS_WITH_FLOW_BUTTONS_STEP',
|
|
285
302
|
next: '',
|
|
286
303
|
prev: '',
|
|
287
|
-
order:
|
|
304
|
+
order: 11
|
|
288
305
|
}
|
|
289
306
|
];
|
|
290
307
|
export var AUTH_SCREENS_NAVIGATION = [
|
|
@@ -1038,7 +1055,8 @@ export var CONNECT_EXPRESS_STEP_NAMES = {
|
|
|
1038
1055
|
VERIFY_AUTH_PASSWORD: 'connect_express_verify_auth_password',
|
|
1039
1056
|
CONNECT_EXPRESS_SUCCESS: 'connect_express_completed',
|
|
1040
1057
|
COLLECT_MOBILE_OWNERSHIP: 'collect_owner_phone',
|
|
1041
|
-
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'
|
|
1042
1060
|
};
|
|
1043
1061
|
export var SignIn_STEP_NAMES = {
|
|
1044
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';
|
|
@@ -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
|