@tap-payments/auth-jsconnect 2.12.6-development → 2.12.6-sandbox
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/README.md +60 -10
- package/build/api/file.d.ts +1 -0
- package/build/api/file.js +9 -1
- package/build/api/index.d.ts +1 -0
- package/build/components/Tooltip/Tooltip.js +1 -1
- package/build/constants/api.js +1 -1
- package/build/constants/app.d.ts +3 -0
- package/build/constants/app.js +15 -6
- package/build/features/app/bank/bankStore.js +6 -4
- package/build/features/app/brand/brandStore.js +6 -4
- package/build/features/app/connectExpress/connectExpressStore.d.ts +11 -1
- package/build/features/app/connectExpress/connectExpressStore.js +196 -18
- package/build/features/app/entity/entityStore.js +6 -4
- package/build/features/app/individual/individualStore.js +3 -2
- package/build/features/app/tax/taxStore.js +6 -4
- package/build/features/app/terminal/terminalStore.d.ts +3 -0
- package/build/features/app/terminal/terminalStore.js +34 -1
- package/build/features/connectExpress/ConnectExpress.js +6 -3
- package/build/features/connectExpress/screens/AuthenticationList/AuthenticationList.js +4 -1
- package/build/features/connectExpress/screens/BusinessCountry/BusinessCountry.js +5 -1
- package/build/features/connectExpress/screens/CollectIndividualInfo/CollectIndividualInfo.js +2 -1
- package/build/features/connectExpress/screens/Email/Email.d.ts +5 -0
- package/build/features/connectExpress/screens/Email/Email.js +57 -0
- package/build/features/connectExpress/screens/Email/EmailField.d.ts +8 -0
- package/build/features/connectExpress/screens/Email/EmailField.js +52 -0
- package/build/features/connectExpress/screens/Email/index.d.ts +3 -0
- package/build/features/connectExpress/screens/Email/index.js +2 -0
- package/build/features/connectExpress/screens/Email/validation.d.ts +8 -0
- package/build/features/connectExpress/screens/Email/validation.js +4 -0
- package/build/features/connectExpress/screens/NIDMissed/NID.js +4 -1
- package/build/features/connectExpress/screens/OTP/OTP.js +16 -8
- package/build/features/connectExpress/screens/OTP/OTPInput.js +10 -3
- package/build/features/featuresScreens.js +5 -0
- package/build/features/kyc/screens/Terms/Terms.js +6 -5
- package/build/features/terminal/screens/TerminalDeviceList/TerminalDeviceList.js +2 -1
- package/build/features/terminal/screens/shared/POSDeviceList.js +5 -5
- package/build/hooks/useCountry.d.ts +1 -0
- package/build/hooks/useCountry.js +3 -2
- package/build/utils/common.js +3 -3
- package/build/utils/file.d.ts +1 -0
- package/build/utils/file.js +6 -0
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.js +1 -0
- package/build/utils/string.d.ts +1 -0
- package/build/utils/string.js +5 -0
- package/package.json +2 -2
|
@@ -61,7 +61,7 @@ import { FlowsTypes, AuthForType, BusinessType, LicenseType, AuthForScreen } fro
|
|
|
61
61
|
import API, { setAuthSessionToGlobalHeaders } 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, SCOPE_MERCHANT } from '../../../constants';
|
|
63
63
|
import { defaultCountry } from '../../../constants';
|
|
64
|
-
import { getIndividualName, capitalizeTheFirstLetterOfEachWord, sleep, findCountryByIddPrefix, concatenateObjectValues, isSA, isKW, isOtherThanKWOrSA, sendCustomEventToGTM, sendCustomDimension, getMetaData, isNetworkError, isTimeoutError, isInternalServerError, isAuthenticationVerificationFailed } from '../../../utils';
|
|
64
|
+
import { getIndividualName, capitalizeTheFirstLetterOfEachWord, sleep, findCountryByIddPrefix, concatenateObjectValues, isSA, isKW, isQA, isOtherThanKWOrSA, sendCustomEventToGTM, sendCustomDimension, getMetaData, isNetworkError, isTimeoutError, isInternalServerError, isAuthenticationVerificationFailed } from '../../../utils';
|
|
65
65
|
export var updateBusinessCountryAsync = createAsyncThunk('connectExpress/updateBusinessCountryAsync', function (countryCode, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
66
66
|
var connectExpress, payload, data;
|
|
67
67
|
return __generator(this, function (_a) {
|
|
@@ -81,17 +81,17 @@ export var updateBusinessCountryAsync = createAsyncThunk('connectExpress/updateB
|
|
|
81
81
|
});
|
|
82
82
|
}); });
|
|
83
83
|
export var retrieveLeadIdentityByIdAsync = createAsyncThunk('expressConnect/retrieveLeadIdentityByIdAsync', function (leadId, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
84
|
-
var settings, countryCode, showBoard, data, _a, country_code, contact, phone, status, board_id, board_info_id, isRegistered, screen_1, _b, boardInfo, boardData, error_1;
|
|
85
|
-
var _c, _d, _e, _f, _g;
|
|
86
|
-
return __generator(this, function (
|
|
87
|
-
switch (
|
|
84
|
+
var settings, countryCode, showBoard, data, _a, country_code, contact, phone, status, board_id, board_info_id, isRegistered, screen_1, screen_2, _b, boardInfo, boardData, error_1;
|
|
85
|
+
var _c, _d, _e, _f, _g, _h;
|
|
86
|
+
return __generator(this, function (_j) {
|
|
87
|
+
switch (_j.label) {
|
|
88
88
|
case 0:
|
|
89
89
|
settings = thunkApi.getState().settings;
|
|
90
90
|
countryCode = settings.data.businessCountry;
|
|
91
91
|
showBoard = settings.data.appConfig.showBoard;
|
|
92
92
|
return [4, API.leadService.retrieveLeadIdentity(leadId)];
|
|
93
93
|
case 1:
|
|
94
|
-
data =
|
|
94
|
+
data = _j.sent();
|
|
95
95
|
_a = data || {}, country_code = _a.country_code, contact = _a.contact;
|
|
96
96
|
if (country_code)
|
|
97
97
|
thunkApi.dispatch(handleSetCountryByIso2(country_code));
|
|
@@ -105,14 +105,19 @@ export var retrieveLeadIdentityByIdAsync = createAsyncThunk('expressConnect/retr
|
|
|
105
105
|
}
|
|
106
106
|
isRegistered = (status === null || status === void 0 ? void 0 : status.toLowerCase()) === 'registered';
|
|
107
107
|
if (!isRegistered && !(data === null || data === void 0 ? void 0 : data.identification) && phone) {
|
|
108
|
-
|
|
108
|
+
screen_1 = isQA(country_code || ((_d = settings.data.businessCountry) === null || _d === void 0 ? void 0 : _d.iso2)) ? 'CONNECT_EXPRESS_EMAIL_STEP' : 'CONNECT_EXPRESS_MOBILE_STEP';
|
|
109
|
+
thunkApi.dispatch(handleCurrentActiveScreen(screen_1));
|
|
109
110
|
return [2, { data: data, countryCode: countryCode }];
|
|
110
111
|
}
|
|
111
112
|
if (!isRegistered && country_code) {
|
|
112
|
-
|
|
113
|
+
screen_2 = 'CONNECT_EXPRESS_NID_STEP';
|
|
113
114
|
if (!isSA(data.country_code))
|
|
114
|
-
|
|
115
|
-
thunkApi.dispatch(handleCurrentActiveScreen(
|
|
115
|
+
screen_2 = isQA(data.country_code) ? 'CONNECT_EXPRESS_EMAIL_STEP' : 'CONNECT_EXPRESS_MOBILE_STEP';
|
|
116
|
+
thunkApi.dispatch(handleCurrentActiveScreen(screen_2));
|
|
117
|
+
return [2, { data: data, countryCode: countryCode }];
|
|
118
|
+
}
|
|
119
|
+
if (!isRegistered && isQA(settings.data.businessCountry.iso2)) {
|
|
120
|
+
thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_EMAIL_STEP'));
|
|
116
121
|
return [2, { data: data, countryCode: countryCode }];
|
|
117
122
|
}
|
|
118
123
|
if (!isRegistered && !isSA(settings.data.businessCountry.iso2)) {
|
|
@@ -123,11 +128,11 @@ export var retrieveLeadIdentityByIdAsync = createAsyncThunk('expressConnect/retr
|
|
|
123
128
|
thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_NID_STEP'));
|
|
124
129
|
return [2, { data: data, countryCode: countryCode }];
|
|
125
130
|
}
|
|
126
|
-
if ((
|
|
127
|
-
thunkApi.dispatch(storeAuthId((
|
|
131
|
+
if ((_e = data === null || data === void 0 ? void 0 : data.identification) === null || _e === void 0 ? void 0 : _e.authentication_id) {
|
|
132
|
+
thunkApi.dispatch(storeAuthId((_f = data === null || data === void 0 ? void 0 : data.identification) === null || _f === void 0 ? void 0 : _f.authentication_id));
|
|
128
133
|
}
|
|
129
134
|
if (isRegistered && !showBoard) {
|
|
130
|
-
(
|
|
135
|
+
(_h = (_g = settings.data.appConfig).onFlowCompleted) === null || _h === void 0 ? void 0 : _h.call(_g, data);
|
|
131
136
|
thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_ACCOUNT_ALREADY_CREATED_STEP'));
|
|
132
137
|
return [2, { data: data, countryCode: countryCode }];
|
|
133
138
|
}
|
|
@@ -136,19 +141,19 @@ export var retrieveLeadIdentityByIdAsync = createAsyncThunk('expressConnect/retr
|
|
|
136
141
|
return [2, { data: data, countryCode: countryCode }];
|
|
137
142
|
}
|
|
138
143
|
if (!(isRegistered && board_id && board_info_id)) return [3, 5];
|
|
139
|
-
|
|
144
|
+
_j.label = 2;
|
|
140
145
|
case 2:
|
|
141
|
-
|
|
146
|
+
_j.trys.push([2, 4, , 5]);
|
|
142
147
|
return [4, Promise.all([
|
|
143
148
|
API.boardService.retrieveBoardInfo({ id: board_id, infoId: board_info_id }),
|
|
144
149
|
API.boardService.retrieveBoardDetails(board_id)
|
|
145
150
|
])];
|
|
146
151
|
case 3:
|
|
147
|
-
_b =
|
|
152
|
+
_b = _j.sent(), boardInfo = _b[0], boardData = _b[1];
|
|
148
153
|
thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_SUCCESS_WITH_FLOW_BUTTONS_STEP'));
|
|
149
154
|
return [2, { data: data, countryCode: countryCode, boardInfo: boardInfo, boardData: boardData }];
|
|
150
155
|
case 4:
|
|
151
|
-
error_1 =
|
|
156
|
+
error_1 = _j.sent();
|
|
152
157
|
thunkApi.dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_ACCOUNT_ALREADY_CREATED_STEP'));
|
|
153
158
|
return [2, { data: data, countryCode: countryCode }];
|
|
154
159
|
case 5: return [2, { data: data, countryCode: countryCode }];
|
|
@@ -309,6 +314,61 @@ export var resendMobileAuthOTP = createAsyncThunk('connectExpress/resendMobileAu
|
|
|
309
314
|
}
|
|
310
315
|
});
|
|
311
316
|
}); });
|
|
317
|
+
export var createEmailAuthAsync = createAsyncThunk('connectExpress/createEmailAuthAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
318
|
+
var _a, settings, connectExpress, requestBody, data;
|
|
319
|
+
var _b, _c;
|
|
320
|
+
return __generator(this, function (_d) {
|
|
321
|
+
switch (_d.label) {
|
|
322
|
+
case 0:
|
|
323
|
+
_a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
|
|
324
|
+
requestBody = {
|
|
325
|
+
country: settings.data.businessCountry.iso2,
|
|
326
|
+
scope: settings.data.appConfig.scope,
|
|
327
|
+
lang: settings.data.language,
|
|
328
|
+
lead_id: connectExpress.data.leadId,
|
|
329
|
+
user_credentail: {
|
|
330
|
+
email: params.email || ''
|
|
331
|
+
},
|
|
332
|
+
sign_in: false,
|
|
333
|
+
is_lead: true,
|
|
334
|
+
step_name: CONNECT_EXPRESS_STEP_NAMES.CREATE_AUTH_EMAIL,
|
|
335
|
+
encryption_contract: ['user_credentail.email']
|
|
336
|
+
};
|
|
337
|
+
return [4, API.authService.createExpressAuth(requestBody)];
|
|
338
|
+
case 1:
|
|
339
|
+
data = _d.sent();
|
|
340
|
+
thunkApi.dispatch(handleNextScreenStep());
|
|
341
|
+
(_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, requestBody.user_credentail);
|
|
342
|
+
return [2, { response: data, formData: params }];
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
}); });
|
|
346
|
+
export var resendEmailAuthOTP = createAsyncThunk('connectExpress/resendEmailAuthOTPExpress', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
347
|
+
var _a, settings, connectExpress, requestBody, data;
|
|
348
|
+
return __generator(this, function (_b) {
|
|
349
|
+
switch (_b.label) {
|
|
350
|
+
case 0:
|
|
351
|
+
_a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
|
|
352
|
+
requestBody = {
|
|
353
|
+
country: settings.data.businessCountry.iso2,
|
|
354
|
+
scope: settings.data.appConfig.scope,
|
|
355
|
+
lang: settings.data.language,
|
|
356
|
+
lead_id: connectExpress.data.leadId,
|
|
357
|
+
user_credentail: {
|
|
358
|
+
email: params.email || ''
|
|
359
|
+
},
|
|
360
|
+
sign_in: false,
|
|
361
|
+
is_lead: true,
|
|
362
|
+
step_name: CONNECT_EXPRESS_STEP_NAMES.CREATE_AUTH_EMAIL,
|
|
363
|
+
encryption_contract: ['user_credentail.email']
|
|
364
|
+
};
|
|
365
|
+
return [4, API.authService.createExpressAuth(requestBody)];
|
|
366
|
+
case 1:
|
|
367
|
+
data = _b.sent();
|
|
368
|
+
return [2, { response: data, formData: params }];
|
|
369
|
+
}
|
|
370
|
+
});
|
|
371
|
+
}); });
|
|
312
372
|
export var createAuthSessionExpiredAsync = createAsyncThunk('connectExpress/createAuthSessionExpiredAsync', function (redirect, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
313
373
|
var settings, requestBody, data;
|
|
314
374
|
return __generator(this, function (_a) {
|
|
@@ -614,6 +674,78 @@ export var verifyMobileOtpAsync = createAsyncThunk('connectExpress/verifyMobileO
|
|
|
614
674
|
}
|
|
615
675
|
});
|
|
616
676
|
}); });
|
|
677
|
+
export var verifyEmailOtpAsync = createAsyncThunk('connectExpress/verifyEmailOtpAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
678
|
+
var _a, settings, connectExpress, _b, responseData, leadId, _c, auth_token, device_token, service_name, auth_type, _d, scope, redirectUrl, authData, isScopeAuthentication, bi, isDataHasIndividualOnly, authDataHasValue, payload, data, authId, urlQueryStart, _e, brandList, entityList;
|
|
679
|
+
var _f, _g;
|
|
680
|
+
return __generator(this, function (_h) {
|
|
681
|
+
switch (_h.label) {
|
|
682
|
+
case 0:
|
|
683
|
+
_a = thunkApi.getState(), settings = _a.settings, connectExpress = _a.connectExpress;
|
|
684
|
+
_b = connectExpress.data || {}, responseData = _b.responseData, leadId = _b.leadId;
|
|
685
|
+
if (!(responseData === null || responseData === void 0 ? void 0 : responseData.authData))
|
|
686
|
+
throw new Error('Auth data is missing');
|
|
687
|
+
_c = responseData.authData, auth_token = _c.auth_token, device_token = _c.device_token, service_name = _c.service_name, auth_type = _c.auth_type;
|
|
688
|
+
_d = settings.data.appConfig, scope = _d.scope, redirectUrl = _d.redirectUrl, authData = _d.data;
|
|
689
|
+
isScopeAuthentication = scope === SCOPE_AUTH;
|
|
690
|
+
bi = settings.data.deviceInfo.browser.browser_id;
|
|
691
|
+
isDataHasIndividualOnly = (authData === null || authData === void 0 ? void 0 : authData.length) === 1 && authData.includes('individual');
|
|
692
|
+
authDataHasValue = authData === null || authData === void 0 ? void 0 : authData.length;
|
|
693
|
+
payload = {
|
|
694
|
+
auth_token: auth_token,
|
|
695
|
+
lead_id: leadId,
|
|
696
|
+
data: params.otp,
|
|
697
|
+
auth_type: auth_type,
|
|
698
|
+
device_token: device_token,
|
|
699
|
+
service_name: service_name,
|
|
700
|
+
sign_in: false,
|
|
701
|
+
step_name: CONNECT_EXPRESS_STEP_NAMES.VERIFY_AUTH_EMAIL,
|
|
702
|
+
encryption_contract: ['data']
|
|
703
|
+
};
|
|
704
|
+
return [4, API.authService.verifyExpressAuth(payload).catch(function (err) {
|
|
705
|
+
if (isAuthenticationVerificationFailed(err === null || err === void 0 ? void 0 : err.message))
|
|
706
|
+
thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_OTP_VERIFY_SECURITY_ERROR_STEP'));
|
|
707
|
+
throw new Error(err === null || err === void 0 ? void 0 : err.message);
|
|
708
|
+
})];
|
|
709
|
+
case 1:
|
|
710
|
+
data = _h.sent();
|
|
711
|
+
setAuthSessionToGlobalHeaders(data === null || data === void 0 ? void 0 : data.auth_session);
|
|
712
|
+
sendCustomEventToGTM({
|
|
713
|
+
event: 'Send Event',
|
|
714
|
+
event_category: 'User Registration Flow',
|
|
715
|
+
event_action: 'First OTP Success'
|
|
716
|
+
});
|
|
717
|
+
(_g = (_f = settings.data.appConfig).onStepCompleted) === null || _g === void 0 ? void 0 : _g.call(_f, settings.data.activeScreen.name, params);
|
|
718
|
+
authId = data.auth.id;
|
|
719
|
+
thunkApi.dispatch(storeAuthId(authId));
|
|
720
|
+
if (isScopeAuthentication && !data.new_user && isDataHasIndividualOnly && authId) {
|
|
721
|
+
if (settings.data.appConfig.mode === 'popup') {
|
|
722
|
+
settings.data.appConfig.onFlowCompleted({ auth_id: authId, bi: bi });
|
|
723
|
+
thunkApi.dispatch(handleOpen(false));
|
|
724
|
+
return [2, data];
|
|
725
|
+
}
|
|
726
|
+
if (redirectUrl) {
|
|
727
|
+
urlQueryStart = redirectUrl.includes('?') ? '&' : '?';
|
|
728
|
+
window.open("".concat(redirectUrl).concat(urlQueryStart, "authentication_id=").concat(authId, "&bi=").concat(bi), '_self');
|
|
729
|
+
return [2, data];
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
if (!(isScopeAuthentication && !data.new_user && authDataHasValue)) return [3, 3];
|
|
733
|
+
return [4, thunkApi.dispatch(retrieveAuthenticationListAsync({ individualId: data.individual_id })).unwrap()];
|
|
734
|
+
case 2:
|
|
735
|
+
_e = _h.sent(), brandList = _e.brandList, entityList = _e.entityList;
|
|
736
|
+
if (brandList.length && entityList.length) {
|
|
737
|
+
sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_AUTHENTICATION_LIST_STEP')); });
|
|
738
|
+
return [2, data];
|
|
739
|
+
}
|
|
740
|
+
_h.label = 3;
|
|
741
|
+
case 3: return [4, thunkApi.dispatch(getLeadByIdAsync(data.lead_id)).unwrap()];
|
|
742
|
+
case 4:
|
|
743
|
+
_h.sent();
|
|
744
|
+
sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_NID_MISSED_STEP')); });
|
|
745
|
+
return [2, data];
|
|
746
|
+
}
|
|
747
|
+
});
|
|
748
|
+
}); });
|
|
617
749
|
export var verifyPACIAsync = createAsyncThunk('connectExpress/verifyPACIAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
618
750
|
var _a, settings, connectExpress, authData, _b, scope, redirectUrl, authConfigData, isScopeAuthentication, bi, isDataHasIndividualOnly, authDataHasValue, expiry, interval, maxCalls, count, data, error_3, isSuccess, authId, urlQueryStart, _c, brandList, entityList, stepName, needToCollectMoreInfo, creatingAccount;
|
|
619
751
|
var _d, _e, _f;
|
|
@@ -1543,6 +1675,9 @@ var initialState = {
|
|
|
1543
1675
|
mobile: '',
|
|
1544
1676
|
termAndConditionChecked: false
|
|
1545
1677
|
},
|
|
1678
|
+
emailData: {
|
|
1679
|
+
email: ''
|
|
1680
|
+
},
|
|
1546
1681
|
nidData: {
|
|
1547
1682
|
nid: '',
|
|
1548
1683
|
termAndConditionChecked: false
|
|
@@ -1647,11 +1782,14 @@ export var connectSlice = createSlice({
|
|
|
1647
1782
|
var _b = data || {}, identification = _b.identification, contact = _b.contact, terms_conditions_accepted = _b.terms_conditions_accepted;
|
|
1648
1783
|
if (identification === null || identification === void 0 ? void 0 : identification.id)
|
|
1649
1784
|
state.data.nidData.nid = identification === null || identification === void 0 ? void 0 : identification.id;
|
|
1650
|
-
var
|
|
1785
|
+
var _c = contact || {}, phone = _c.phone, email = _c.email;
|
|
1651
1786
|
if (phone) {
|
|
1652
1787
|
state.data.mobileData.mobile = phone === null || phone === void 0 ? void 0 : phone.number;
|
|
1653
1788
|
state.data.mobileData.countryCode = countryCode;
|
|
1654
1789
|
}
|
|
1790
|
+
if (email) {
|
|
1791
|
+
state.data.emailData.email = email;
|
|
1792
|
+
}
|
|
1655
1793
|
if (terms_conditions_accepted !== undefined && state.data.isLeadIdPassed) {
|
|
1656
1794
|
state.data.mobileData.termAndConditionChecked = terms_conditions_accepted;
|
|
1657
1795
|
state.data.nidData.termAndConditionChecked = terms_conditions_accepted;
|
|
@@ -1718,6 +1856,31 @@ export var connectSlice = createSlice({
|
|
|
1718
1856
|
})
|
|
1719
1857
|
.addCase(resendMobileAuthOTP.rejected, function (state, action) {
|
|
1720
1858
|
state.error = action.error.message;
|
|
1859
|
+
})
|
|
1860
|
+
.addCase(createEmailAuthAsync.pending, function (state) {
|
|
1861
|
+
state.loading = true;
|
|
1862
|
+
state.error = null;
|
|
1863
|
+
})
|
|
1864
|
+
.addCase(createEmailAuthAsync.fulfilled, function (state, action) {
|
|
1865
|
+
state.loading = false;
|
|
1866
|
+
state.data.emailData = action.payload.formData;
|
|
1867
|
+
state.data.otpData.authFor = AuthForType.EMAIL;
|
|
1868
|
+
state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: action.payload.response });
|
|
1869
|
+
})
|
|
1870
|
+
.addCase(createEmailAuthAsync.rejected, function (state, action) {
|
|
1871
|
+
state.loading = false;
|
|
1872
|
+
state.error = action.error.message;
|
|
1873
|
+
})
|
|
1874
|
+
.addCase(resendEmailAuthOTP.pending, function (state) {
|
|
1875
|
+
state.error = null;
|
|
1876
|
+
})
|
|
1877
|
+
.addCase(resendEmailAuthOTP.fulfilled, function (state, action) {
|
|
1878
|
+
state.data.emailData = action.payload.formData;
|
|
1879
|
+
state.data.otpData.authFor = AuthForType.EMAIL;
|
|
1880
|
+
state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: action.payload.response });
|
|
1881
|
+
})
|
|
1882
|
+
.addCase(resendEmailAuthOTP.rejected, function (state, action) {
|
|
1883
|
+
state.error = action.error.message;
|
|
1721
1884
|
})
|
|
1722
1885
|
.addCase(createAuthSessionExpiredAsync.pending, function (state) {
|
|
1723
1886
|
state.loading = true;
|
|
@@ -1822,6 +1985,21 @@ export var connectSlice = createSlice({
|
|
|
1822
1985
|
state.loading = false;
|
|
1823
1986
|
if (!isAuthenticationVerificationFailed(message))
|
|
1824
1987
|
state.error = message;
|
|
1988
|
+
})
|
|
1989
|
+
.addCase(verifyEmailOtpAsync.pending, function (state) {
|
|
1990
|
+
state.loading = true;
|
|
1991
|
+
state.error = null;
|
|
1992
|
+
})
|
|
1993
|
+
.addCase(verifyEmailOtpAsync.fulfilled, function (state, action) {
|
|
1994
|
+
var _a;
|
|
1995
|
+
state.loading = false;
|
|
1996
|
+
state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: __assign(__assign({}, (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.authData), action.payload) });
|
|
1997
|
+
})
|
|
1998
|
+
.addCase(verifyEmailOtpAsync.rejected, function (state, _a) {
|
|
1999
|
+
var message = _a.error.message;
|
|
2000
|
+
state.loading = false;
|
|
2001
|
+
if (!isAuthenticationVerificationFailed(message))
|
|
2002
|
+
state.error = message;
|
|
1825
2003
|
})
|
|
1826
2004
|
.addCase(verifyNafathAsync.pending, function (state) {
|
|
1827
2005
|
state.loading = true;
|
|
@@ -277,14 +277,16 @@ export var retrieveBoardStatus = createAsyncThunk('entity/retrieveBoardStatus',
|
|
|
277
277
|
}
|
|
278
278
|
});
|
|
279
279
|
}); });
|
|
280
|
-
export var retrieveBoardDetails = createAsyncThunk('entityRetrieveEntityInfo', function (_a) {
|
|
280
|
+
export var retrieveBoardDetails = createAsyncThunk('entityRetrieveEntityInfo', function (_a, thunkApi) {
|
|
281
281
|
var boardId = _a.boardId, id = _a.individualId, type = _a.individualType;
|
|
282
282
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
283
|
-
var data, individualData, boardData, serviceCallBack, _b, boardRes, individualRes;
|
|
283
|
+
var responseBody, data, individualData, boardData, serviceCallBack, _b, boardRes, individualRes;
|
|
284
284
|
var _c, _d, _e;
|
|
285
285
|
return __generator(this, function (_f) {
|
|
286
286
|
switch (_f.label) {
|
|
287
|
-
case 0:
|
|
287
|
+
case 0:
|
|
288
|
+
responseBody = thunkApi.getState().entity.data.verify.responseBody;
|
|
289
|
+
return [4, API.boardService.retrieveBoardDetails(boardId)];
|
|
288
290
|
case 1:
|
|
289
291
|
data = _f.sent();
|
|
290
292
|
individualData = data === null || data === void 0 ? void 0 : data.user;
|
|
@@ -297,7 +299,7 @@ export var retrieveBoardDetails = createAsyncThunk('entityRetrieveEntityInfo', f
|
|
|
297
299
|
individualData = individualRes;
|
|
298
300
|
boardData = boardRes;
|
|
299
301
|
_f.label = 3;
|
|
300
|
-
case 3: return [2, __assign(__assign({}, boardData), { brand: boardData === null || boardData === void 0 ? void 0 : boardData.brand, bank_account: boardData === null || boardData === void 0 ? void 0 : boardData.bank_account, entity: boardData === null || boardData === void 0 ? void 0 : boardData.entity, merchant: boardData === null || boardData === void 0 ? void 0 : boardData.merchant, name: (_d = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _d === void 0 ? void 0 : _d.names, individuals: boardData === null || boardData === void 0 ? void 0 : boardData.individuals, contact: (_e = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _e === void 0 ? void 0 : _e.contact, user: individualData, board_status: boardData === null || boardData === void 0 ? void 0 : boardData.status })];
|
|
302
|
+
case 3: return [2, __assign(__assign({}, boardData), { brand: boardData === null || boardData === void 0 ? void 0 : boardData.brand, bank_account: boardData === null || boardData === void 0 ? void 0 : boardData.bank_account, entity: __assign(__assign({}, responseBody === null || responseBody === void 0 ? void 0 : responseBody.entity), boardData === null || boardData === void 0 ? void 0 : boardData.entity), merchant: boardData === null || boardData === void 0 ? void 0 : boardData.merchant, name: (_d = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _d === void 0 ? void 0 : _d.names, individuals: boardData === null || boardData === void 0 ? void 0 : boardData.individuals, contact: (_e = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _e === void 0 ? void 0 : _e.contact, user: individualData, board_status: boardData === null || boardData === void 0 ? void 0 : boardData.status })];
|
|
301
303
|
}
|
|
302
304
|
});
|
|
303
305
|
});
|
|
@@ -424,7 +424,7 @@ export var retrieveBoardDetails = createAsyncThunk('retrieveIndividualBoardDetai
|
|
|
424
424
|
case 1:
|
|
425
425
|
_c = _g.sent(), user = _c.user, data = __rest(_c, ["user"]);
|
|
426
426
|
if (!((individualData === null || individualData === void 0 ? void 0 : individualData.id) === (user === null || user === void 0 ? void 0 : user.id))) return [3, 2];
|
|
427
|
-
individualData = user;
|
|
427
|
+
individualData = __assign(__assign({}, individualData), user);
|
|
428
428
|
return [3, 4];
|
|
429
429
|
case 2:
|
|
430
430
|
if (!(!(individualData === null || individualData === void 0 ? void 0 : individualData.is_authorized) && id && type)) return [3, 4];
|
|
@@ -818,7 +818,7 @@ export var updateIndividualInfo = createAsyncThunk('updateIndividualInfo', funct
|
|
|
818
818
|
documentsList.push({ type: DocumentPurpose.CUSTOMER_SIGNATURE, images: signatureFileId });
|
|
819
819
|
if (!(documentsList.length > 0)) return [3, 6];
|
|
820
820
|
documentBody = {
|
|
821
|
-
individual_type_id: ((ids === null || ids === void 0 ? void 0 : ids.length) ? ids
|
|
821
|
+
individual_type_id: ((ids === null || ids === void 0 ? void 0 : ids.length) ? ids[0] : id) || '',
|
|
822
822
|
country: businessCountry.iso2,
|
|
823
823
|
documents: documentsList
|
|
824
824
|
};
|
|
@@ -1274,6 +1274,7 @@ export var individualSlice = createSlice({
|
|
|
1274
1274
|
state.data.individualData.isAuthorized = is_authorized;
|
|
1275
1275
|
})
|
|
1276
1276
|
.addCase(retrieveIndividualInfo.rejected, function (state, action) {
|
|
1277
|
+
state.addOrRequestDetailLoading = false;
|
|
1277
1278
|
state.error = action.error.message;
|
|
1278
1279
|
})
|
|
1279
1280
|
.addCase(getIndividualList.pending, function (state) {
|
|
@@ -152,14 +152,16 @@ export var retrieveBoardStatus = createAsyncThunk('tax/retrieveBoardStatus', fun
|
|
|
152
152
|
}
|
|
153
153
|
});
|
|
154
154
|
}); });
|
|
155
|
-
export var retrieveBoardDetails = createAsyncThunk('tax/retrieveBrandInfo', function (_a) {
|
|
155
|
+
export var retrieveBoardDetails = createAsyncThunk('tax/retrieveBrandInfo', function (_a, thunkApi) {
|
|
156
156
|
var boardId = _a.boardId, id = _a.individualId, type = _a.individualType;
|
|
157
157
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
158
|
-
var data, individualData, boardData, serviceCallBack, _b, boardRes, individualRes;
|
|
158
|
+
var responseBody, data, individualData, boardData, serviceCallBack, _b, boardRes, individualRes;
|
|
159
159
|
var _c, _d, _e, _f;
|
|
160
160
|
return __generator(this, function (_g) {
|
|
161
161
|
switch (_g.label) {
|
|
162
|
-
case 0:
|
|
162
|
+
case 0:
|
|
163
|
+
responseBody = thunkApi.getState().tax.data.verify.responseBody;
|
|
164
|
+
return [4, API.boardService.retrieveBoardDetails(boardId)];
|
|
163
165
|
case 1:
|
|
164
166
|
data = _g.sent();
|
|
165
167
|
individualData = data === null || data === void 0 ? void 0 : data.user;
|
|
@@ -172,7 +174,7 @@ export var retrieveBoardDetails = createAsyncThunk('tax/retrieveBrandInfo', func
|
|
|
172
174
|
individualData = individualRes;
|
|
173
175
|
boardData = boardRes;
|
|
174
176
|
_g.label = 3;
|
|
175
|
-
case 3: return [2, __assign(__assign({}, boardData), { brand: boardData === null || boardData === void 0 ? void 0 : boardData.brand, bank_account: boardData === null || boardData === void 0 ? void 0 : boardData.bank_account, entity: boardData === null || boardData === void 0 ? void 0 : boardData.entity, merchant: boardData === null || boardData === void 0 ? void 0 : boardData.merchant, name: (_d = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _d === void 0 ? void 0 : _d.names, vatID: (_e = boardData === null || boardData === void 0 ? void 0 : boardData.entity) === null || _e === void 0 ? void 0 : _e.vat_id, individuals: boardData === null || boardData === void 0 ? void 0 : boardData.individuals, contact: (_f = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _f === void 0 ? void 0 : _f.contact, user: individualData, board_status: boardData === null || boardData === void 0 ? void 0 : boardData.status })];
|
|
177
|
+
case 3: return [2, __assign(__assign({}, boardData), { brand: boardData === null || boardData === void 0 ? void 0 : boardData.brand, bank_account: boardData === null || boardData === void 0 ? void 0 : boardData.bank_account, entity: __assign(__assign({}, responseBody === null || responseBody === void 0 ? void 0 : responseBody.entity), boardData === null || boardData === void 0 ? void 0 : boardData.entity), merchant: boardData === null || boardData === void 0 ? void 0 : boardData.merchant, name: (_d = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _d === void 0 ? void 0 : _d.names, vatID: (_e = boardData === null || boardData === void 0 ? void 0 : boardData.entity) === null || _e === void 0 ? void 0 : _e.vat_id, individuals: boardData === null || boardData === void 0 ? void 0 : boardData.individuals, contact: (_f = boardData === null || boardData === void 0 ? void 0 : boardData.user) === null || _f === void 0 ? void 0 : _f.contact, user: individualData, board_status: boardData === null || boardData === void 0 ? void 0 : boardData.status })];
|
|
176
178
|
}
|
|
177
179
|
});
|
|
178
180
|
});
|
|
@@ -40,6 +40,9 @@ export declare const linkNewTerminal: import("@reduxjs/toolkit").AsyncThunk<{
|
|
|
40
40
|
export declare const retrievePOSDevices: import("@reduxjs/toolkit").AsyncThunk<{
|
|
41
41
|
data: any;
|
|
42
42
|
}, void, {}>;
|
|
43
|
+
export declare const retrieveTerminalPlatformBrandLogo: import("@reduxjs/toolkit").AsyncThunk<{
|
|
44
|
+
logo: string;
|
|
45
|
+
}, void, {}>;
|
|
43
46
|
interface pushNotificationLinkNewTerminalParams {
|
|
44
47
|
newTerminal: boolean;
|
|
45
48
|
onSuccess: () => void;
|
|
@@ -51,7 +51,7 @@ import { handleCurrentActiveScreen, handlePublicKey, handleSetCountryByIso2, onC
|
|
|
51
51
|
import { FlowsTypes } from '../../../@types';
|
|
52
52
|
import { CONNECT_FLOWS, NAFATH_PACI_TIMEOUT_DURATION, SELECTED_POS_DEFAULT_INFO, SELECTED_TERMINAL_DEFAULT_INFO, TERMINAL_PUSH_NOTIFICATION_DURATION, TERMINAL_PUSH_NOTIFICATION_FAILED, TERMINAL_STEP_NAMES } from '../../../constants';
|
|
53
53
|
import API, { setAuthSessionToGlobalHeaders } from '../../../api';
|
|
54
|
-
import { isAuthenticationVerificationFailed, isNetworkError, isNoDataFoundError, isTimeoutError, retrieveIndividualData, sleep } from '../../../utils';
|
|
54
|
+
import { createImageObjectURL, isAuthenticationVerificationFailed, isNetworkError, isNoDataFoundError, isTimeoutError, retrieveIndividualData, sleep } from '../../../utils';
|
|
55
55
|
export var verifyToken = createAsyncThunk('terminal/verifyLeadToken', function (_a, thunkApi) {
|
|
56
56
|
var token = _a.token, isInternally = _a.isInternally;
|
|
57
57
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -262,6 +262,25 @@ export var retrievePOSDevices = createAsyncThunk('terminal/retrievePOSDevices',
|
|
|
262
262
|
}
|
|
263
263
|
});
|
|
264
264
|
}); });
|
|
265
|
+
export var retrieveTerminalPlatformBrandLogo = createAsyncThunk('terminal/retrieveTerminalPlatformBrandLogo', function (_, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
266
|
+
var terminal, list, logoFileId, data, logo;
|
|
267
|
+
var _a, _b, _c, _d, _e, _f;
|
|
268
|
+
return __generator(this, function (_g) {
|
|
269
|
+
switch (_g.label) {
|
|
270
|
+
case 0:
|
|
271
|
+
terminal = thunkApi.getState().terminal;
|
|
272
|
+
list = (_c = (_b = (_a = terminal.data.responseData) === null || _a === void 0 ? void 0 : _a.terminalData) === null || _b === void 0 ? void 0 : _b.list) !== null && _c !== void 0 ? _c : [];
|
|
273
|
+
logoFileId = (_f = (_e = (_d = list === null || list === void 0 ? void 0 : list[0]) === null || _d === void 0 ? void 0 : _d.platform) === null || _e === void 0 ? void 0 : _e.brand) === null || _f === void 0 ? void 0 : _f.logo;
|
|
274
|
+
if (!logoFileId)
|
|
275
|
+
return [2, { logo: '' }];
|
|
276
|
+
return [4, API.fileService.retrieveFileInfo(logoFileId)];
|
|
277
|
+
case 1:
|
|
278
|
+
data = _g.sent();
|
|
279
|
+
logo = createImageObjectURL(data);
|
|
280
|
+
return [2, { logo: logo }];
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
}); });
|
|
265
284
|
export var pushNotificationLinkNewTerminal = createAsyncThunk('terminal/pushNotificationLinkNewTerminal', function (_a, thunkApi) {
|
|
266
285
|
var newTerminal = _a.newTerminal, onSuccess = _a.onSuccess, onFailure = _a.onFailure;
|
|
267
286
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -655,6 +674,20 @@ export var terminalSlice = createSlice({
|
|
|
655
674
|
.addCase(retrievePOSDevices.pending, function (state) {
|
|
656
675
|
state.posDevicesLoading = true;
|
|
657
676
|
state.error = null;
|
|
677
|
+
})
|
|
678
|
+
.addCase(retrieveTerminalPlatformBrandLogo.pending, function (state) {
|
|
679
|
+
state.error = null;
|
|
680
|
+
})
|
|
681
|
+
.addCase(retrieveTerminalPlatformBrandLogo.fulfilled, function (state, action) {
|
|
682
|
+
var _a;
|
|
683
|
+
state.error = null;
|
|
684
|
+
var prevLogo = (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.terminalPlatformBrandLogo;
|
|
685
|
+
if (prevLogo)
|
|
686
|
+
URL.revokeObjectURL(prevLogo);
|
|
687
|
+
state.data.responseData = __assign(__assign({}, state.data.responseData), { terminalPlatformBrandLogo: action.payload.logo });
|
|
688
|
+
})
|
|
689
|
+
.addCase(retrieveTerminalPlatformBrandLogo.rejected, function (state) {
|
|
690
|
+
state.error = null;
|
|
658
691
|
})
|
|
659
692
|
.addCase(retrieveTerminalList.pending, function (state) {
|
|
660
693
|
state.error = null;
|
|
@@ -67,7 +67,7 @@ import { store } from '../../app/store';
|
|
|
67
67
|
import { connectExpressSelector, setIsLeadIdPassed, setLeadId, retrieveLeadIdentityByIdAsync, setDefaultCountryCode, clearError, createAuthSessionExpiredAsync } from '../app/connectExpress/connectExpressStore';
|
|
68
68
|
import { ReduxProvider, ThemeProvider } from '../../components/Providers';
|
|
69
69
|
import Collapse from '../../components/Collapse';
|
|
70
|
-
import { isKW, findOrCreateElementAndInject, sendPageView, isOtherThanKWOrSA, initializeGTM, sendCustomEventToGTM, sendCustomDimension } from '../../utils';
|
|
70
|
+
import { isKW, isQA, findOrCreateElementAndInject, sendPageView, isOtherThanKWOrSA, initializeGTM, sendCustomEventToGTM, sendCustomDimension } from '../../utils';
|
|
71
71
|
import { CONNECT_EXPRESS_SCREENS_NAVIGATION } from '../../constants';
|
|
72
72
|
import { connectExpressFeatureScreens } from '../featuresScreens';
|
|
73
73
|
import Background from '../shared/Background';
|
|
@@ -123,7 +123,7 @@ var ConnectExpress = memo(function (_a) {
|
|
|
123
123
|
}
|
|
124
124
|
}, [data.businessCountry]);
|
|
125
125
|
React.useEffect(function () {
|
|
126
|
-
var _a, _b;
|
|
126
|
+
var _a, _b, _c;
|
|
127
127
|
if (settingLoading || !props.open)
|
|
128
128
|
return;
|
|
129
129
|
if (!data.isValidOperator) {
|
|
@@ -146,7 +146,10 @@ var ConnectExpress = memo(function (_a) {
|
|
|
146
146
|
dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_BUSINESS_COUNTRY_STEP'));
|
|
147
147
|
return;
|
|
148
148
|
}
|
|
149
|
-
if (((_b = data.businessCountry) === null || _b === void 0 ? void 0 : _b.iso2) && (
|
|
149
|
+
if (((_b = data.businessCountry) === null || _b === void 0 ? void 0 : _b.iso2) && isQA(data.businessCountry.iso2)) {
|
|
150
|
+
dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_EMAIL_STEP'));
|
|
151
|
+
}
|
|
152
|
+
else if (((_c = data.businessCountry) === null || _c === void 0 ? void 0 : _c.iso2) && (isKW(data.businessCountry.iso2) || isOtherThanKWOrSA(data.businessCountry.iso2))) {
|
|
150
153
|
dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_MOBILE_STEP'));
|
|
151
154
|
}
|
|
152
155
|
}, [data.isValidOperator, settingLoading]);
|
|
@@ -45,6 +45,7 @@ var AuthenticationList = function (_a) {
|
|
|
45
45
|
var _g = React.useState(false), isAddEntity = _g[0], setIsAddEntity = _g[1];
|
|
46
46
|
var otpData = data.otpData;
|
|
47
47
|
var startWithNID = otpData.authFor === AuthForType.NATIONAL_ID;
|
|
48
|
+
var startWithEmail = otpData.authFor === AuthForType.EMAIL;
|
|
48
49
|
React.useEffect(function () {
|
|
49
50
|
sendCustomEventToGTM({
|
|
50
51
|
event: 'Send Event',
|
|
@@ -83,7 +84,9 @@ var AuthenticationList = function (_a) {
|
|
|
83
84
|
methods.setValue('entityInfo', undefined, { shouldValidate: true });
|
|
84
85
|
return;
|
|
85
86
|
}
|
|
86
|
-
var screen =
|
|
87
|
+
var screen = startWithEmail ? 'CONNECT_EXPRESS_EMAIL_STEP' : 'CONNECT_EXPRESS_MOBILE_STEP';
|
|
88
|
+
if (startWithNID)
|
|
89
|
+
screen = isKW(code) ? 'CONNECT_EXPRESS_CIVIL_ID_STEP' : 'CONNECT_EXPRESS_NID_STEP';
|
|
87
90
|
dispatch(resetAuthenticationScreen());
|
|
88
91
|
dispatch(handlePrevScreenStep(screen));
|
|
89
92
|
};
|
|
@@ -53,7 +53,7 @@ import { ScreenContainer } from '../../../shared/Containers';
|
|
|
53
53
|
import BusinessCountry from '../../../shared/BusinessCountry';
|
|
54
54
|
import Button from '../../../shared/Button';
|
|
55
55
|
import Collapse from '../../../../components/Collapse';
|
|
56
|
-
import { findCountryByIso2, isKW, isOtherThanKWOrSA, sendCustomEventToGTM } from '../../../../utils';
|
|
56
|
+
import { findCountryByIso2, isKW, isQA, isOtherThanKWOrSA, sendCustomEventToGTM } from '../../../../utils';
|
|
57
57
|
import { handleNextScreenStep, handleSetCountryByIso2, settingsSelector } from '../../../../app/settings';
|
|
58
58
|
import { clearError, connectExpressSelector, setDefaultCountryCode, storeIsStartFromBusinessCountry, updateBusinessCountryAsync } from '../../../app/connectExpress/connectExpressStore';
|
|
59
59
|
var BusinessCountryScreen = function (_a) {
|
|
@@ -95,6 +95,10 @@ var BusinessCountryScreen = function (_a) {
|
|
|
95
95
|
case 2:
|
|
96
96
|
if (countryCode)
|
|
97
97
|
dispatch(setDefaultCountryCode(countryCode));
|
|
98
|
+
if (isQA(iso2)) {
|
|
99
|
+
dispatch(handleNextScreenStep('CONNECT_EXPRESS_EMAIL_STEP'));
|
|
100
|
+
return [2];
|
|
101
|
+
}
|
|
98
102
|
if (isOtherThanKWOrSA(iso2) || isKW(iso2)) {
|
|
99
103
|
dispatch(handleNextScreenStep('CONNECT_EXPRESS_MOBILE_STEP'));
|
|
100
104
|
return [2];
|
package/build/features/connectExpress/screens/CollectIndividualInfo/CollectIndividualInfo.js
CHANGED
|
@@ -45,6 +45,7 @@ var CollectIndividualInfo = function (_a) {
|
|
|
45
45
|
var t = useTranslation().t;
|
|
46
46
|
var isAr = useLanguage().isAr;
|
|
47
47
|
var individualData = data.individualData, otpData = data.otpData, responseData = data.responseData;
|
|
48
|
+
var startWithEmail = otpData.authFor === AuthForType.EMAIL;
|
|
48
49
|
var startWithNID = otpData.authFor === AuthForType.NATIONAL_ID;
|
|
49
50
|
var startWithNIDMissed = otpData.authFor === AuthForType.NATIONAL_ID_MISSED;
|
|
50
51
|
var contact = ((responseData === null || responseData === void 0 ? void 0 : responseData.leadData) || {}).contact;
|
|
@@ -82,7 +83,7 @@ var CollectIndividualInfo = function (_a) {
|
|
|
82
83
|
dispatch(resetIndividualScreen());
|
|
83
84
|
}
|
|
84
85
|
var code = (_a = settingsData.businessCountry) === null || _a === void 0 ? void 0 : _a.iso2;
|
|
85
|
-
var screen = 'CONNECT_EXPRESS_MOBILE_STEP';
|
|
86
|
+
var screen = startWithEmail ? 'CONNECT_EXPRESS_EMAIL_STEP' : 'CONNECT_EXPRESS_MOBILE_STEP';
|
|
86
87
|
if (startWithNID) {
|
|
87
88
|
if (isKW(code))
|
|
88
89
|
screen = 'CONNECT_EXPRESS_CIVIL_ID_STEP';
|
|
@@ -0,0 +1,57 @@
|
|
|
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 * as React from 'react';
|
|
14
|
+
import { useTranslation } from 'react-i18next';
|
|
15
|
+
import { useForm, FormProvider } from 'react-hook-form';
|
|
16
|
+
import { styled } from '@mui/material/styles';
|
|
17
|
+
import { yupResolver } from '@hookform/resolvers/yup';
|
|
18
|
+
import { useAppDispatch, useLanguage, useAppSelector } from '../../../../hooks';
|
|
19
|
+
import { handleCurrentActiveScreen } from '../../../../app/settings';
|
|
20
|
+
import { clearError, connectExpressSelector, createEmailAuthAsync, resetStore } from '../../../app/connectExpress/connectExpressStore';
|
|
21
|
+
import Form from '../../../../components/Form';
|
|
22
|
+
import Button from '../../../shared/Button';
|
|
23
|
+
import { ScreenContainer } from '../../../shared/Containers';
|
|
24
|
+
import { deepCopy } from '../../../../utils';
|
|
25
|
+
import { EmailInfoValidation } from './validation';
|
|
26
|
+
import EmailField from './EmailField';
|
|
27
|
+
var FormStyled = styled(Form)(function () { return ({
|
|
28
|
+
display: 'flex',
|
|
29
|
+
flexDirection: 'column'
|
|
30
|
+
}); });
|
|
31
|
+
var Email = function (_a) {
|
|
32
|
+
var isAr = useLanguage().isAr;
|
|
33
|
+
var dispatch = useAppDispatch();
|
|
34
|
+
var t = useTranslation().t;
|
|
35
|
+
var _b = useAppSelector(connectExpressSelector), data = _b.data, loading = _b.loading, error = _b.error;
|
|
36
|
+
var methods = useForm({
|
|
37
|
+
resolver: yupResolver(EmailInfoValidation),
|
|
38
|
+
defaultValues: data.emailData,
|
|
39
|
+
mode: 'onChange'
|
|
40
|
+
});
|
|
41
|
+
React.useEffect(function () {
|
|
42
|
+
if (error)
|
|
43
|
+
dispatch(clearError());
|
|
44
|
+
}, [methods.formState.isValid]);
|
|
45
|
+
React.useEffect(function () {
|
|
46
|
+
dispatch(resetStore());
|
|
47
|
+
}, []);
|
|
48
|
+
var onSubmit = function (formData) {
|
|
49
|
+
dispatch(createEmailAuthAsync(deepCopy(formData)));
|
|
50
|
+
};
|
|
51
|
+
var onBackToCountryList = function () {
|
|
52
|
+
dispatch(handleCurrentActiveScreen('CONNECT_EXPRESS_BUSINESS_COUNTRY_STEP'));
|
|
53
|
+
};
|
|
54
|
+
var disabled = !methods.formState.isValid;
|
|
55
|
+
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(EmailField, { sx: { mb: 5, transition: 'mb 0.3s' } }), _jsx(Button, __assign({ loading: loading, isAr: isAr, onBackClicked: onBackToCountryList, disableBack: !data.isStartFromBusinessCountry, disabled: disabled, error: t(error || '') }, { children: t('next') }))] })) })) }));
|
|
56
|
+
};
|
|
57
|
+
export default React.memo(Email);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { SxProps, Theme } from '@mui/material/styles';
|
|
3
|
+
interface EmailFieldProps {
|
|
4
|
+
sx: SxProps<Theme> | undefined;
|
|
5
|
+
readOnly?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<EmailFieldProps & React.RefAttributes<unknown>>>;
|
|
8
|
+
export default _default;
|