@tap-payments/auth-jsconnect 1.0.63 → 1.0.67
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/api/availabilityServices.d.ts +5 -0
- package/build/api/availabilityServices.js +5 -1
- package/build/api/entity.d.ts +1 -0
- package/build/api/index.d.ts +1 -0
- package/build/assets/locales/ar.json +2 -0
- package/build/assets/locales/en.json +4 -2
- package/build/constants/api.d.ts +1 -0
- package/build/constants/api.js +3 -1
- package/build/constants/assets.d.ts +10 -8
- package/build/constants/assets.js +10 -8
- package/build/constants/validation.d.ts +1 -0
- package/build/constants/validation.js +1 -0
- package/build/features/app/bank/bankStore.d.ts +8 -0
- package/build/features/app/bank/bankStore.js +36 -3
- package/build/features/app/business/businessStore.d.ts +3 -0
- package/build/features/app/business/businessStore.js +66 -33
- package/build/features/app/connect/connectStore.js +1 -1
- package/build/features/bank/screens/BankDetails/BankDetails.js +6 -4
- package/build/features/bank/screens/BankDetails/BankName.js +17 -3
- package/build/features/bank/screens/BankDetails/Beneficiary.js +12 -3
- package/build/features/bank/screens/BankDetails/IBAN.d.ts +3 -1
- package/build/features/bank/screens/BankDetails/IBAN.js +67 -4
- package/build/features/bank/screens/BankDetails/validation.js +2 -2
- package/build/features/bank/screens/Success/Success.js +2 -4
- package/build/features/business/screens/BusinessType/LicenseList.js +1 -1
- package/build/features/business/screens/BusinessType/LicenseNumber.js +1 -1
- package/build/features/business/screens/BusinessType/validation.d.ts +3 -3
- package/build/features/business/screens/BusinessType/validation.js +14 -7
- package/build/features/business/screens/Customers/ExpectedSalesRange.js +0 -5
- package/build/features/business/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +33 -27
- package/build/features/individual/screens/Success/Success.js +2 -4
- package/build/features/password/screens/Success/Success.js +2 -4
- package/build/features/shared/Button/AbsherButton.js +22 -19
- package/build/features/shared/Button/FlowsButtons.d.ts +3 -3
- package/build/features/shared/Button/FlowsButtons.js +30 -18
- package/build/features/shared/Button/MobileButton.js +13 -11
- package/build/features/tax/screens/Success/Success.js +2 -4
- package/package.json +1 -1
|
@@ -5,8 +5,13 @@ export declare type CheckEmailBody = {
|
|
|
5
5
|
export declare type CheckBrandBody = {
|
|
6
6
|
profile_name: string;
|
|
7
7
|
};
|
|
8
|
+
export declare type CheckIBanBody = {
|
|
9
|
+
iban_number: string;
|
|
10
|
+
encryption_contract?: Array<string>;
|
|
11
|
+
};
|
|
8
12
|
declare const availabilityServices: {
|
|
9
13
|
checkEmail: (data: CheckEmailBody, config?: AxiosRequestConfig) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
10
14
|
checkBrand: (data: CheckBrandBody, config?: AxiosRequestConfig) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
15
|
+
checkIbanBank: (data: CheckIBanBody, config?: AxiosRequestConfig) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
11
16
|
};
|
|
12
17
|
export default availabilityServices;
|
|
@@ -6,8 +6,12 @@ var checkEmail = function (data, config) {
|
|
|
6
6
|
var checkBrand = function (data, config) {
|
|
7
7
|
return instance.post("".concat(ENDPOINT_PATHS.CHECK_BRAND), data, config);
|
|
8
8
|
};
|
|
9
|
+
var checkIbanBank = function (data, config) {
|
|
10
|
+
return instance.post("".concat(ENDPOINT_PATHS.IBAN_BANK), data, config);
|
|
11
|
+
};
|
|
9
12
|
var availabilityServices = {
|
|
10
13
|
checkEmail: checkEmail,
|
|
11
|
-
checkBrand: checkBrand
|
|
14
|
+
checkBrand: checkBrand,
|
|
15
|
+
checkIbanBank: checkIbanBank
|
|
12
16
|
};
|
|
13
17
|
export default availabilityServices;
|
package/build/api/entity.d.ts
CHANGED
package/build/api/index.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ declare const API: {
|
|
|
37
37
|
availabilityServices: {
|
|
38
38
|
checkEmail: (data: CheckEmailBody, config?: import("axios").AxiosRequestConfig<any> | undefined) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
39
39
|
checkBrand: (data: CheckBrandBody, config?: import("axios").AxiosRequestConfig<any> | undefined) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
40
|
+
checkIbanBank: (data: import("./availabilityServices").CheckIBanBody, config?: import("axios").AxiosRequestConfig<any> | undefined) => Promise<import("axios").AxiosResponse<any, any>>;
|
|
40
41
|
};
|
|
41
42
|
firebaseService: {
|
|
42
43
|
getLocale: () => Promise<import("axios").AxiosResponse<any, any>>;
|
|
@@ -239,12 +239,14 @@
|
|
|
239
239
|
"cr_number": "CR Number",
|
|
240
240
|
"fl_number": "FL Number",
|
|
241
241
|
"tax_flow_completed": "Tax",
|
|
242
|
-
"individual_flow_completed": "Individual",
|
|
242
|
+
"individual_flow_completed": "Individual {{individual_name}}",
|
|
243
243
|
"bank_flow_completed": "Bank",
|
|
244
244
|
"password_flow_completed": "Password",
|
|
245
245
|
"tax_flow_pending": "Tax",
|
|
246
|
-
"individual_flow_pending": "Individual",
|
|
246
|
+
"individual_flow_pending": "Individual {{individual_name}}",
|
|
247
247
|
"bank_flow_pending": "Bank",
|
|
248
248
|
"password_flow_pending": "Password",
|
|
249
|
+
"business_flow_pending": "Business",
|
|
250
|
+
"business_flow_completed": "Business",
|
|
249
251
|
"continue": "Continue"
|
|
250
252
|
}
|
package/build/constants/api.d.ts
CHANGED
package/build/constants/api.js
CHANGED
|
@@ -10,6 +10,7 @@ var LEAD_IDENTITY_VERIFY_PATH = 'lead/identity/verify';
|
|
|
10
10
|
var RETRIEVE_ENTITY_LIST_PATH = '/lead/entity/list';
|
|
11
11
|
var ENTITY_PATH = '/entity';
|
|
12
12
|
var BANK_PATH = '/entity/bankaccount';
|
|
13
|
+
var IBAN_PATH = '/iban';
|
|
13
14
|
var CHECK_EMAIL = '/lead/identity/emailcheck';
|
|
14
15
|
var CHECK_BRAND = 'lead/profile/profile_name';
|
|
15
16
|
var CREATE_ACCOUNT_PATH = '/account/create';
|
|
@@ -38,5 +39,6 @@ export var ENDPOINT_PATHS = {
|
|
|
38
39
|
CUSTOMER_BASES: CUSTOMER_BASES_PATH,
|
|
39
40
|
SALES: SALES_PATH,
|
|
40
41
|
EXPECTED_CUSTOMERS: EXPECTED_CUSTOMERS_PATH,
|
|
41
|
-
BANK: BANK_PATH
|
|
42
|
+
BANK: BANK_PATH,
|
|
43
|
+
IBAN_BANK: IBAN_PATH
|
|
42
44
|
};
|
|
@@ -41,14 +41,16 @@ export declare const ICONS_NAMES: {
|
|
|
41
41
|
outlook_White_ICON: string;
|
|
42
42
|
Apple_Filled_ICON: string;
|
|
43
43
|
apple_white_icon: string;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
44
|
+
tax_filled_icon: string;
|
|
45
|
+
tax_white_icon: string;
|
|
46
|
+
bank_filled_icon: string;
|
|
47
|
+
bank_white_icon: string;
|
|
48
|
+
individual_filled_icon: string;
|
|
49
|
+
individual_white_icon: string;
|
|
50
|
+
password_filled_icon: string;
|
|
51
|
+
password_white_icon: string;
|
|
52
|
+
business_filled_icon: string;
|
|
53
|
+
business_white_icon: string;
|
|
52
54
|
Arrow_filled_right_icon: string;
|
|
53
55
|
Arrow_white_right_icon: string;
|
|
54
56
|
};
|
|
@@ -41,14 +41,16 @@ export var ICONS_NAMES = {
|
|
|
41
41
|
outlook_White_ICON: 'https://dash.b-cdn.net/icons/menu/Outlook-white.svg',
|
|
42
42
|
Apple_Filled_ICON: 'https://dash.b-cdn.net/icons/menu/Apple-filled.svg',
|
|
43
43
|
apple_white_icon: 'https://dash.b-cdn.net/icons/menu/Apple-white.svg',
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
44
|
+
tax_filled_icon: 'https://dash.b-cdn.net/icons/menu/tax-filled.svg',
|
|
45
|
+
tax_white_icon: 'https://dash.b-cdn.net/icons/menu/tax-white.svg',
|
|
46
|
+
bank_filled_icon: 'https://dash.b-cdn.net/icons/menu/bank-filled.svg',
|
|
47
|
+
bank_white_icon: 'https://dash.b-cdn.net/icons/menu/bank-white.svg',
|
|
48
|
+
individual_filled_icon: 'https://dash.b-cdn.net/icons/menu/user-filled.svg',
|
|
49
|
+
individual_white_icon: 'https://dash.b-cdn.net/icons/menu/user-white.svg',
|
|
50
|
+
password_filled_icon: 'https://dash.b-cdn.net/icons/menu/password-filled.svg',
|
|
51
|
+
password_white_icon: 'https://dash.b-cdn.net/icons/menu/password-white.svg',
|
|
52
|
+
business_filled_icon: 'https://dash.b-cdn.net/icons/menu/business-filled.svg',
|
|
53
|
+
business_white_icon: 'https://dash.b-cdn.net/icons/menu/business-white.svg',
|
|
52
54
|
Arrow_filled_right_icon: 'https://dash.b-cdn.net/icons/menu/right-arrow-filled.svg',
|
|
53
55
|
Arrow_white_right_icon: 'https://dash.b-cdn.net/icons/menu/right-arrow-white.svg'
|
|
54
56
|
};
|
|
@@ -7,3 +7,4 @@ export var CR_NUMBER_LENGTH = 10;
|
|
|
7
7
|
export var SAUDI_NUMBER_LENGTH = 9;
|
|
8
8
|
export var REGEX_FULL_NAME = /^([a-zA-Z]{2,}\s{1}[a-zA-Z]{1,}|[a-zA-Z]+\s{1}[a-zA-Z.-]{1,}\s{1}[a-zA-Z.-]{1,}\s{1}[a-zA-Z]{1,}|[a-zA-Z]+\s{1}[a-zA-Z.-]{1,}\s{1}[a-zA-Z]{1,})$/g;
|
|
9
9
|
export var REGEX_WEBSITE = /^[a-zA-Z0-9]+([\-\.]{1}[a-zA-Z0-9]+)*\.[a-zA-Z]{2,63}(:[0-9]{1,5})?(\/.*)?$/;
|
|
10
|
+
export var REGEX_BENEFICIARY_NAME = /^([\u0600-\u065F\u066A-\u06EF\u06FA-\u06FFa-zA-Z\s])*$/g;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { RootState } from '../../../app/store';
|
|
2
2
|
import { BankFormValues, OTPFormValues, ResponseData, SharedState } from '../../../@types';
|
|
3
|
+
import { CancelToken } from 'axios';
|
|
3
4
|
export declare const verifyLeadToken: import("@reduxjs/toolkit").AsyncThunk<{
|
|
4
5
|
data: any;
|
|
5
6
|
leadData: any;
|
|
@@ -13,6 +14,13 @@ export declare const createBankAccount: import("@reduxjs/toolkit").AsyncThunk<{
|
|
|
13
14
|
data: any;
|
|
14
15
|
formData: BankFormValues;
|
|
15
16
|
}, BankFormValues, {}>;
|
|
17
|
+
export declare const checkIbanBank: import("@reduxjs/toolkit").AsyncThunk<{
|
|
18
|
+
data: any;
|
|
19
|
+
}, {
|
|
20
|
+
iban: string;
|
|
21
|
+
cancelToken: CancelToken;
|
|
22
|
+
onSuccess?: (() => void) | undefined;
|
|
23
|
+
}, {}>;
|
|
16
24
|
export declare const updateLeadSuccess: import("@reduxjs/toolkit").AsyncThunk<{
|
|
17
25
|
response: any;
|
|
18
26
|
formData: void;
|
|
@@ -126,7 +126,8 @@ export var createBankAccount = createAsyncThunk('createBankAccount', function (p
|
|
|
126
126
|
beneficiary_name: beneficiaryName,
|
|
127
127
|
bank_name: bank_name
|
|
128
128
|
},
|
|
129
|
-
step_name: BANK_STEP_NAMES.BANK_INFO
|
|
129
|
+
step_name: BANK_STEP_NAMES.BANK_INFO,
|
|
130
|
+
encryption_contract: ['bank_account.iban', 'bank_account.beneficiary_name', 'bank_account.bank_name']
|
|
130
131
|
};
|
|
131
132
|
return [4, API.entityService.createBankAccount(requestBody)];
|
|
132
133
|
case 1:
|
|
@@ -139,6 +140,26 @@ export var createBankAccount = createAsyncThunk('createBankAccount', function (p
|
|
|
139
140
|
}
|
|
140
141
|
});
|
|
141
142
|
}); });
|
|
143
|
+
export var checkIbanBank = createAsyncThunk('checkIbanBank', function (_a) {
|
|
144
|
+
var iban = _a.iban, cancelToken = _a.cancelToken, onSuccess = _a.onSuccess;
|
|
145
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
146
|
+
var payload, data;
|
|
147
|
+
return __generator(this, function (_b) {
|
|
148
|
+
switch (_b.label) {
|
|
149
|
+
case 0:
|
|
150
|
+
payload = {
|
|
151
|
+
iban_number: iban,
|
|
152
|
+
encryption_contract: ['iban_number']
|
|
153
|
+
};
|
|
154
|
+
return [4, API.availabilityServices.checkIbanBank(payload, { cancelToken: cancelToken })];
|
|
155
|
+
case 1:
|
|
156
|
+
data = (_b.sent()).data;
|
|
157
|
+
onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess();
|
|
158
|
+
return [2, { data: data }];
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
});
|
|
142
163
|
export var updateLeadSuccess = createAsyncThunk('updateLeadSuccess', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
143
164
|
var _a, settings, bank, response, payload;
|
|
144
165
|
var _b, _c, _d, _e, _f, _g;
|
|
@@ -177,7 +198,7 @@ var initialState = {
|
|
|
177
198
|
bankData: {
|
|
178
199
|
iban: '',
|
|
179
200
|
beneficiaryName: '',
|
|
180
|
-
bankName: '
|
|
201
|
+
bankName: ''
|
|
181
202
|
}
|
|
182
203
|
}
|
|
183
204
|
};
|
|
@@ -277,7 +298,19 @@ export var bankSlice = createSlice({
|
|
|
277
298
|
state.data.bankData.responseBody = data;
|
|
278
299
|
})
|
|
279
300
|
.addCase(createBankAccount.rejected, function (state, action) {
|
|
280
|
-
state.
|
|
301
|
+
state.error = action.error.message;
|
|
302
|
+
})
|
|
303
|
+
.addCase(checkIbanBank.pending, function (state) {
|
|
304
|
+
state.error = null;
|
|
305
|
+
})
|
|
306
|
+
.addCase(checkIbanBank.fulfilled, function (state, action) {
|
|
307
|
+
state.error = null;
|
|
308
|
+
var data = action.payload.data;
|
|
309
|
+
state.data.bankData.responseBody = data;
|
|
310
|
+
})
|
|
311
|
+
.addCase(checkIbanBank.rejected, function (state, action) {
|
|
312
|
+
if (action.error.message === 'Aborted')
|
|
313
|
+
return;
|
|
281
314
|
state.error = action.error.message;
|
|
282
315
|
});
|
|
283
316
|
}
|
|
@@ -63,6 +63,9 @@ export declare const updateLeadSuccess: import("@reduxjs/toolkit").AsyncThunk<{
|
|
|
63
63
|
response: any;
|
|
64
64
|
formData: void;
|
|
65
65
|
} | undefined, void, {}>;
|
|
66
|
+
export declare const updateStepName: import("@reduxjs/toolkit").AsyncThunk<{
|
|
67
|
+
response: any;
|
|
68
|
+
}, string, {}>;
|
|
66
69
|
declare type VerifyData = {
|
|
67
70
|
token: string;
|
|
68
71
|
};
|
|
@@ -79,10 +79,10 @@ export var getCountries = createAsyncThunk('getCountries', function (_, thunkApi
|
|
|
79
79
|
});
|
|
80
80
|
}); });
|
|
81
81
|
export var verifyLeadToken = createAsyncThunk('verifyLeadToken', function (token, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
82
|
-
var payload, data, leadResponse;
|
|
83
|
-
var _a
|
|
84
|
-
return __generator(this, function (
|
|
85
|
-
switch (
|
|
82
|
+
var payload, data, leadResponse, number;
|
|
83
|
+
var _a;
|
|
84
|
+
return __generator(this, function (_b) {
|
|
85
|
+
switch (_b.label) {
|
|
86
86
|
case 0:
|
|
87
87
|
payload = {
|
|
88
88
|
service_name: 'tap_email',
|
|
@@ -90,28 +90,29 @@ export var verifyLeadToken = createAsyncThunk('verifyLeadToken', function (token
|
|
|
90
90
|
};
|
|
91
91
|
return [4, API.leadService.verifyLeadToken(payload)];
|
|
92
92
|
case 1:
|
|
93
|
-
data = (
|
|
93
|
+
data = (_b.sent()).data;
|
|
94
94
|
leadResponse = undefined;
|
|
95
95
|
if (!(!(data === null || data === void 0 ? void 0 : data.errors) && !(data === null || data === void 0 ? void 0 : data.mw_error))) return [3, 4];
|
|
96
96
|
return [4, API.leadService.retrieveLead(data === null || data === void 0 ? void 0 : data.id)];
|
|
97
97
|
case 2:
|
|
98
|
-
leadResponse =
|
|
99
|
-
|
|
98
|
+
leadResponse = _b.sent();
|
|
99
|
+
number = (((_a = leadResponse.data.entity) === null || _a === void 0 ? void 0 : _a.license) || {}).number;
|
|
100
|
+
return [4, thunkApi.dispatch(retrieveEntityList({ leadId: data === null || data === void 0 ? void 0 : data.id, licenseNumber: number }))];
|
|
100
101
|
case 3:
|
|
101
|
-
|
|
102
|
+
_b.sent();
|
|
102
103
|
if (data.step_name === BUSINESS_STEP_NAMES.IDENTITY_AUTH) {
|
|
103
104
|
thunkApi.dispatch(handleNextScreenStep('BUSINESS_IDBOD_STEP'));
|
|
104
105
|
}
|
|
105
106
|
if (data.step_name === 'business_info') {
|
|
106
107
|
thunkApi.dispatch(handleNextScreenStep('BUSINESS_BUSINESS_TYPE_STEP'));
|
|
107
108
|
}
|
|
108
|
-
|
|
109
|
+
_b.label = 4;
|
|
109
110
|
case 4: return [2, { data: data, leadData: leadResponse === null || leadResponse === void 0 ? void 0 : leadResponse.data, token: token }];
|
|
110
111
|
}
|
|
111
112
|
});
|
|
112
113
|
}); });
|
|
113
114
|
export var verifyLeadOTP = createAsyncThunk('verifyLeadOTP', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
114
|
-
var _a, business, settings, isNID, responseBody, payload, data, steps, hasBusinessCompleted;
|
|
115
|
+
var _a, business, settings, isNID, responseBody, stepName, payload, data, steps, hasBusinessCompleted;
|
|
115
116
|
var _b, _c, _d;
|
|
116
117
|
return __generator(this, function (_e) {
|
|
117
118
|
switch (_e.label) {
|
|
@@ -119,17 +120,19 @@ export var verifyLeadOTP = createAsyncThunk('verifyLeadOTP', function (params, t
|
|
|
119
120
|
_a = thunkApi.getState(), business = _a.business, settings = _a.settings;
|
|
120
121
|
isNID = business.data.otpData.isNID;
|
|
121
122
|
responseBody = (isNID ? business.data.nidData : business.data.verify).responseBody;
|
|
123
|
+
stepName = isNID ? BUSINESS_STEP_NAMES.IDENTITY_VERIFY_AUTH : BUSINESS_STEP_NAMES.PHONE_AUTH;
|
|
122
124
|
payload = {
|
|
123
125
|
data: params.otp,
|
|
124
126
|
service_name: (_b = responseBody === null || responseBody === void 0 ? void 0 : responseBody.verification_by) === null || _b === void 0 ? void 0 : _b.service_name,
|
|
125
127
|
verify_token: responseBody === null || responseBody === void 0 ? void 0 : responseBody.verify_token,
|
|
126
|
-
step_name:
|
|
128
|
+
step_name: stepName,
|
|
127
129
|
encryption_contract: ['data']
|
|
128
130
|
};
|
|
129
131
|
return [4, API.leadService.verifyLeadOTP(payload)];
|
|
130
132
|
case 1:
|
|
131
133
|
data = (_e.sent()).data;
|
|
132
134
|
if (!data.errors) {
|
|
135
|
+
thunkApi.dispatch(updateStepName(stepName));
|
|
133
136
|
(_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, { otp: params.otp });
|
|
134
137
|
steps = (responseBody === null || responseBody === void 0 ? void 0 : responseBody.steps) || [];
|
|
135
138
|
hasBusinessCompleted = Object.keys(steps).find(function (key) { return key === BUSINESS_STEP_NAMES.BUSINESS_SUCCESS; });
|
|
@@ -153,13 +156,14 @@ export var verifyLeadOTP = createAsyncThunk('verifyLeadOTP', function (params, t
|
|
|
153
156
|
});
|
|
154
157
|
}); });
|
|
155
158
|
export var updateLeadIdentity = createAsyncThunk('updateLeadIdentity', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
156
|
-
var _a, settings, business, identification_id_type, headers, requestBody, data;
|
|
159
|
+
var _a, settings, business, identification_id_type, stepName, headers, requestBody, data;
|
|
157
160
|
var _b, _c, _d, _e, _f;
|
|
158
161
|
return __generator(this, function (_g) {
|
|
159
162
|
switch (_g.label) {
|
|
160
163
|
case 0:
|
|
161
164
|
_a = thunkApi.getState(), settings = _a.settings, business = _a.business;
|
|
162
165
|
identification_id_type = params.nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
|
|
166
|
+
stepName = BUSINESS_STEP_NAMES.IDENTITY_AUTH;
|
|
163
167
|
headers = {
|
|
164
168
|
lead_id: ((_b = business.data.verify.responseBody) === null || _b === void 0 ? void 0 : _b.id) || '',
|
|
165
169
|
device_identifier: (_d = (_c = settings.data.deviceInfo) === null || _c === void 0 ? void 0 : _c.browser) === null || _d === void 0 ? void 0 : _d.browser_id
|
|
@@ -169,13 +173,14 @@ export var updateLeadIdentity = createAsyncThunk('updateLeadIdentity', function
|
|
|
169
173
|
identification_id_type: identification_id_type,
|
|
170
174
|
date_of_birth: params.dob,
|
|
171
175
|
country_code: business.data.businessCountry.iso2,
|
|
172
|
-
step_name:
|
|
176
|
+
step_name: stepName,
|
|
173
177
|
encryption_contract: ['country_code', 'identification_id', 'identification_id_type', 'date_of_birth']
|
|
174
178
|
};
|
|
175
179
|
return [4, API.leadService.updateLeadIdentity(requestBody, { headers: headers })];
|
|
176
180
|
case 1:
|
|
177
181
|
data = (_g.sent()).data;
|
|
178
182
|
if (!data.errors && !params.isResend) {
|
|
183
|
+
thunkApi.dispatch(updateStepName(stepName));
|
|
179
184
|
thunkApi.dispatch(handleNextScreenStep());
|
|
180
185
|
(_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, requestBody);
|
|
181
186
|
}
|
|
@@ -255,7 +260,7 @@ export var createAccount = createAsyncThunk('createAccount', function (params, t
|
|
|
255
260
|
});
|
|
256
261
|
}); });
|
|
257
262
|
export var updateActivitiesInfo = createAsyncThunk('updateActivitiesInfo', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
258
|
-
var _a, settings, business, channel, activities, requestBody, headers, data;
|
|
263
|
+
var _a, settings, business, channel, activities, stepName, id, requestBody, headers, data;
|
|
259
264
|
var _b, _c, _d, _e;
|
|
260
265
|
return __generator(this, function (_f) {
|
|
261
266
|
switch (_f.label) {
|
|
@@ -269,17 +274,20 @@ export var updateActivitiesInfo = createAsyncThunk('updateActivitiesInfo', funct
|
|
|
269
274
|
var en = _a.en;
|
|
270
275
|
return en;
|
|
271
276
|
});
|
|
277
|
+
stepName = BUSINESS_STEP_NAMES.BUSINESS_CR_ACTIVITIES;
|
|
278
|
+
id = (_c = business.data.businessTypeData.responseBody) === null || _c === void 0 ? void 0 : _c.entity_id;
|
|
272
279
|
requestBody = {
|
|
273
280
|
activities: activities,
|
|
274
281
|
channel_services: channel,
|
|
275
282
|
business_operation_start_at: params.operationStartDate,
|
|
276
|
-
step_name:
|
|
283
|
+
step_name: stepName
|
|
277
284
|
};
|
|
278
|
-
headers = { entity_id:
|
|
285
|
+
headers = { entity_id: id };
|
|
279
286
|
return [4, API.entityService.createEntityInfo(requestBody, { headers: headers })];
|
|
280
287
|
case 1:
|
|
281
288
|
data = (_f.sent()).data;
|
|
282
289
|
if (!!data.errors) return [3, 3];
|
|
290
|
+
thunkApi.dispatch(updateStepName(stepName));
|
|
283
291
|
return [4, thunkApi.dispatch(retrieveDataList())];
|
|
284
292
|
case 2:
|
|
285
293
|
_f.sent();
|
|
@@ -310,7 +318,7 @@ export var retrieveDataList = createAsyncThunk('retrieveDataList', function () {
|
|
|
310
318
|
});
|
|
311
319
|
}); });
|
|
312
320
|
export var updateCustomersInfo = createAsyncThunk('updateCustomersInfo', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
313
|
-
var _a, settings, business, customerBase, requestBody, data;
|
|
321
|
+
var _a, settings, business, customerBase, stepName, requestBody, data;
|
|
314
322
|
var _b, _c, _d, _e, _f;
|
|
315
323
|
return __generator(this, function (_g) {
|
|
316
324
|
switch (_g.label) {
|
|
@@ -320,6 +328,7 @@ export var updateCustomersInfo = createAsyncThunk('updateCustomersInfo', functio
|
|
|
320
328
|
var title = _a.title;
|
|
321
329
|
return title;
|
|
322
330
|
});
|
|
331
|
+
stepName = BUSINESS_STEP_NAMES.BUSINESS_CUSTOMERS;
|
|
323
332
|
requestBody = {
|
|
324
333
|
customers_base: customerBase,
|
|
325
334
|
id: (_b = business.data.businessTypeData.responseBody) === null || _b === void 0 ? void 0 : _b.entity_id,
|
|
@@ -327,12 +336,13 @@ export var updateCustomersInfo = createAsyncThunk('updateCustomersInfo', functio
|
|
|
327
336
|
yearly_sales_range: ((_d = params.expectedSalesRange) === null || _d === void 0 ? void 0 : _d.title) || '',
|
|
328
337
|
agree_refund: params.refundPolicy,
|
|
329
338
|
agree_chargeback: params.transactionPolicy,
|
|
330
|
-
step_name:
|
|
339
|
+
step_name: stepName
|
|
331
340
|
};
|
|
332
341
|
return [4, API.entityService.updateEntityInfo(requestBody)];
|
|
333
342
|
case 1:
|
|
334
343
|
data = (_g.sent()).data;
|
|
335
344
|
if (!data.errors) {
|
|
345
|
+
thunkApi.dispatch(updateStepName(stepName));
|
|
336
346
|
thunkApi.dispatch(handleNextScreenStep());
|
|
337
347
|
(_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, requestBody);
|
|
338
348
|
}
|
|
@@ -341,14 +351,15 @@ export var updateCustomersInfo = createAsyncThunk('updateCustomersInfo', functio
|
|
|
341
351
|
});
|
|
342
352
|
}); });
|
|
343
353
|
export var updateLeadSuccess = createAsyncThunk('updateLeadSuccess', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
344
|
-
var _a, settings, business, id, payload, data;
|
|
345
|
-
var
|
|
346
|
-
return __generator(this, function (
|
|
347
|
-
switch (
|
|
354
|
+
var _a, settings, business, _b, steps, id, flowCompleted, payload, data;
|
|
355
|
+
var _c, _d, _e, _f;
|
|
356
|
+
return __generator(this, function (_g) {
|
|
357
|
+
switch (_g.label) {
|
|
348
358
|
case 0:
|
|
349
359
|
_a = thunkApi.getState(), settings = _a.settings, business = _a.business;
|
|
350
|
-
|
|
351
|
-
|
|
360
|
+
_b = business.data.verify.responseBody || {}, steps = _b.steps, id = _b.id;
|
|
361
|
+
flowCompleted = Object.keys(steps).find(function (key) { return key === BUSINESS_STEP_NAMES.BUSINESS_SUCCESS; });
|
|
362
|
+
if (flowCompleted)
|
|
352
363
|
return [2];
|
|
353
364
|
payload = {
|
|
354
365
|
step_name: BUSINESS_STEP_NAMES.BUSINESS_SUCCESS,
|
|
@@ -375,13 +386,32 @@ export var updateLeadSuccess = createAsyncThunk('updateLeadSuccess', function (p
|
|
|
375
386
|
};
|
|
376
387
|
return [4, API.leadService.updateLead(payload)];
|
|
377
388
|
case 1:
|
|
378
|
-
data = (
|
|
379
|
-
(
|
|
380
|
-
(
|
|
389
|
+
data = (_g.sent()).data;
|
|
390
|
+
(_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, params);
|
|
391
|
+
(_f = (_e = settings.data.appConfig).onFlowCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, { data: data });
|
|
381
392
|
return [2, { response: data, formData: params }];
|
|
382
393
|
}
|
|
383
394
|
});
|
|
384
395
|
}); });
|
|
396
|
+
export var updateStepName = createAsyncThunk('updateStepName', function (stepName, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
397
|
+
var business, payload, data;
|
|
398
|
+
var _a;
|
|
399
|
+
return __generator(this, function (_b) {
|
|
400
|
+
switch (_b.label) {
|
|
401
|
+
case 0:
|
|
402
|
+
business = thunkApi.getState().business;
|
|
403
|
+
payload = {
|
|
404
|
+
step_name: stepName,
|
|
405
|
+
id: ((_a = business.data.verify.responseBody) === null || _a === void 0 ? void 0 : _a.id) || '',
|
|
406
|
+
encryption_contract: []
|
|
407
|
+
};
|
|
408
|
+
return [4, API.leadService.updateLead(payload)];
|
|
409
|
+
case 1:
|
|
410
|
+
data = (_b.sent()).data;
|
|
411
|
+
return [2, { response: data }];
|
|
412
|
+
}
|
|
413
|
+
});
|
|
414
|
+
}); });
|
|
385
415
|
var initialState = {
|
|
386
416
|
error: null,
|
|
387
417
|
loading: false,
|
|
@@ -526,10 +556,10 @@ export var businessSlice = createSlice({
|
|
|
526
556
|
state.customLoading = true;
|
|
527
557
|
})
|
|
528
558
|
.addCase(retrieveEntityList.fulfilled, function (state, action) {
|
|
529
|
-
var _a, _b, _c;
|
|
559
|
+
var _a, _b, _c, _d, _e;
|
|
530
560
|
state.error = null;
|
|
531
561
|
state.customLoading = false;
|
|
532
|
-
var
|
|
562
|
+
var _f = action.payload, data = _f.data, licenseNumber = _f.licenseNumber;
|
|
533
563
|
var description = (((_a = data === null || data === void 0 ? void 0 : data.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
|
|
534
564
|
var licenseList = [];
|
|
535
565
|
if (!description) {
|
|
@@ -550,7 +580,9 @@ export var businessSlice = createSlice({
|
|
|
550
580
|
state.data.businessTypeData.responseBody = { licenseList: licenseList };
|
|
551
581
|
var selectedLicense = ((_b = licenseList === null || licenseList === void 0 ? void 0 : licenseList.find) === null || _b === void 0 ? void 0 : _b.call(licenseList, function (item) { var _a; return ((_a = item.license) === null || _a === void 0 ? void 0 : _a.number) === licenseNumber; })) || (licenseList === null || licenseList === void 0 ? void 0 : licenseList[0]);
|
|
552
582
|
state.data.businessTypeData.selectedLicense = selectedLicense;
|
|
553
|
-
|
|
583
|
+
var isOtherLicense = ((_c = selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.license) === null || _c === void 0 ? void 0 : _c.number) === 'other_fl' || ((_d = selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.license) === null || _d === void 0 ? void 0 : _d.number) === 'other_cr';
|
|
584
|
+
if (!isOtherLicense)
|
|
585
|
+
state.data.businessTypeData.licenseNumber = (_e = selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.license) === null || _e === void 0 ? void 0 : _e.number;
|
|
554
586
|
})
|
|
555
587
|
.addCase(retrieveEntityList.rejected, function (state, action) {
|
|
556
588
|
state.error = action.error.message;
|
|
@@ -603,9 +635,9 @@ export var businessSlice = createSlice({
|
|
|
603
635
|
state.error = 'signup_user_exists_error';
|
|
604
636
|
return;
|
|
605
637
|
}
|
|
606
|
-
var
|
|
607
|
-
state.data.businessTypeData.responseBody = __assign(__assign({
|
|
608
|
-
var selectedChannel =
|
|
638
|
+
var channels = channelsData || [];
|
|
639
|
+
state.data.businessTypeData.responseBody = __assign(__assign(__assign({}, data), state.data.businessTypeData.responseBody), { channelList: channels });
|
|
640
|
+
var selectedChannel = channels === null || channels === void 0 ? void 0 : channels[0];
|
|
609
641
|
if (!!selectedChannel)
|
|
610
642
|
state.data.activitiesData.salesChannels = [selectedChannel];
|
|
611
643
|
})
|
|
@@ -689,6 +721,7 @@ export var businessSlice = createSlice({
|
|
|
689
721
|
state.error = description;
|
|
690
722
|
return;
|
|
691
723
|
}
|
|
724
|
+
state.data.verify.responseBody = __assign(__assign({}, state.data.verify.responseBody), { flows: response.flows });
|
|
692
725
|
removeRequestHeaders();
|
|
693
726
|
})
|
|
694
727
|
.addCase(updateLeadSuccess.pending, function (state) {
|
|
@@ -284,7 +284,7 @@ export var updateLeadBrand = createAsyncThunk('updateLeadBrand', function (param
|
|
|
284
284
|
id: (isExistingUser ? (_h = brandData.responseBody) === null || _h === void 0 ? void 0 : _h.lead_id : (_j = otpData.responseBody) === null || _j === void 0 ? void 0 : _j.lead_id) || '',
|
|
285
285
|
terms_conditions_accepted: params.termAndConditionChecked,
|
|
286
286
|
step_name: CONNECT_STEP_NAMES.UPDATE_LEAD_MERCHANT,
|
|
287
|
-
encryption_contract: ['brand.name.en', 'brand.name.ar', 'brand.name.zh'
|
|
287
|
+
encryption_contract: ['brand.name.en', 'brand.name.ar', 'brand.name.zh']
|
|
288
288
|
};
|
|
289
289
|
return [4, API.leadService.updateLead(payload)];
|
|
290
290
|
case 1:
|
|
@@ -10,12 +10,13 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import * as React from 'react';
|
|
13
14
|
import { ScreenContainer } from '../../../shared/Containers';
|
|
14
15
|
import Beneficiary from './Beneficiary';
|
|
15
16
|
import IBAN from './IBAN';
|
|
16
17
|
import BankName from './BankName';
|
|
17
18
|
import Button from '../../../shared/Button';
|
|
18
|
-
import { useAppDispatch } from '../../../../hooks';
|
|
19
|
+
import { useAppDispatch, useAppSelector } from '../../../../hooks';
|
|
19
20
|
import { BankValidation } from './validation';
|
|
20
21
|
import { useTranslation } from 'react-i18next';
|
|
21
22
|
import { useForm, FormProvider } from 'react-hook-form';
|
|
@@ -24,7 +25,6 @@ import { useLanguage } from '../../../../hooks';
|
|
|
24
25
|
import { styled } from '@mui/material/styles';
|
|
25
26
|
import { bankSelector, createBankAccount } from '../../../app/bank/bankStore';
|
|
26
27
|
import Form from '../../../../components/Form';
|
|
27
|
-
import { useSelector } from 'react-redux';
|
|
28
28
|
var FormStyled = styled(Form)(function () { return ({
|
|
29
29
|
display: 'flex',
|
|
30
30
|
flexDirection: 'column',
|
|
@@ -37,8 +37,9 @@ var ButtonStyled = styled(Button)(function (_a) {
|
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
39
|
var BankDetails = function () {
|
|
40
|
+
var _a = React.useState(false), ibanChecking = _a[0], setIbanChecking = _a[1];
|
|
40
41
|
var dispatch = useAppDispatch();
|
|
41
|
-
var
|
|
42
|
+
var _b = useAppSelector(bankSelector), data = _b.data, loading = _b.loading, error = _b.error;
|
|
42
43
|
var methods = useForm({
|
|
43
44
|
resolver: yupResolver(BankValidation),
|
|
44
45
|
defaultValues: data.bankData,
|
|
@@ -49,6 +50,7 @@ var BankDetails = function () {
|
|
|
49
50
|
};
|
|
50
51
|
var t = useTranslation().t;
|
|
51
52
|
var isAr = useLanguage().isAr;
|
|
52
|
-
|
|
53
|
+
var disabled = ibanChecking || !methods.formState.isValid;
|
|
54
|
+
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(Beneficiary, {}), _jsx(IBAN, { fetchingIban: function (value) { return setIbanChecking(value); }, ibanChecking: ibanChecking }), _jsx(BankName, {}), _jsx(ButtonStyled, __assign({ disableBack: true, disabled: disabled, isAr: isAr, loading: loading, error: t(error || '') }, { children: t('confirm') }))] })) })) }));
|
|
53
55
|
};
|
|
54
56
|
export default BankDetails;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
2
3
|
import { ScreenContainer } from '../../../shared/Containers';
|
|
3
4
|
import Input from '../../../shared/Input';
|
|
4
5
|
import { useTranslation } from 'react-i18next';
|
|
@@ -6,6 +7,9 @@ import { useController, useFormContext } from 'react-hook-form';
|
|
|
6
7
|
import { styled } from '@mui/material/styles';
|
|
7
8
|
import ClearIcon from '../../../shared/ClearIcon';
|
|
8
9
|
import CheckIcon from '../../../shared/CheckIcon';
|
|
10
|
+
import { bankSelector } from '../../../app/bank/bankStore';
|
|
11
|
+
import { useAppSelector } from '../../../../hooks';
|
|
12
|
+
import { removeAllOtherThanAlphabetAndSpace } from '../../../../utils';
|
|
9
13
|
var FeatureStyled = styled(ScreenContainer)(function (_a) {
|
|
10
14
|
var theme = _a.theme;
|
|
11
15
|
return ({
|
|
@@ -18,15 +22,25 @@ var InputStyled = styled(Input)(function () { return ({
|
|
|
18
22
|
}
|
|
19
23
|
}); });
|
|
20
24
|
var BankName = function () {
|
|
21
|
-
var _a;
|
|
25
|
+
var _a, _b;
|
|
22
26
|
var t = useTranslation().t;
|
|
23
|
-
var
|
|
27
|
+
var _c = useFormContext(), setValue = _c.setValue, control = _c.control;
|
|
28
|
+
var _d = useAppSelector(bankSelector), data = _d.data, loading = _d.loading;
|
|
24
29
|
var bankNameControl = useController({ name: 'bankName', control: control });
|
|
25
30
|
var bankNameValue = bankNameControl.field.value;
|
|
26
31
|
var hasError = !!((_a = bankNameControl.fieldState.error) === null || _a === void 0 ? void 0 : _a.message);
|
|
32
|
+
var bankName = (_b = data.bankData.responseBody) === null || _b === void 0 ? void 0 : _b.bank_name;
|
|
27
33
|
var clearValue = function () {
|
|
28
34
|
bankNameControl.field.onChange('');
|
|
29
35
|
};
|
|
30
|
-
|
|
36
|
+
React.useEffect(function () {
|
|
37
|
+
setValue('bankName', bankName);
|
|
38
|
+
}, []);
|
|
39
|
+
var handleBankChange = function (_a) {
|
|
40
|
+
var target = _a.target;
|
|
41
|
+
var value = removeAllOtherThanAlphabetAndSpace(target.value);
|
|
42
|
+
bankNameControl.field.onChange(value);
|
|
43
|
+
};
|
|
44
|
+
return (_jsx(FeatureStyled, { children: _jsx(InputStyled, { label: t('enter_bank_name'), placeholder: t('enter_bank_name_placeholder'), onChange: handleBankChange, value: bankNameValue, required: true, disabled: !!bankName, endAdornment: !hasError && bankNameValue ? _jsx(CheckIcon, {}) : bankNameValue && _jsx(ClearIcon, { onClick: clearValue }) }) }));
|
|
31
45
|
};
|
|
32
46
|
export default BankName;
|