@tap-payments/auth-jsconnect 2.0.69-test → 2.0.71-test
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/auth.d.ts +2 -1
- package/build/features/app/connect/connectStore.d.ts +1 -0
- package/build/features/app/connect/connectStore.js +85 -47
- package/build/features/business/screens/BusinessType/validation.d.ts +3 -3
- package/build/features/business/screens/BusinessType/validation.js +4 -1
- package/build/features/business/screens/CivilID/CivilID.js +2 -3
- package/build/features/business/screens/Customers/CustomerLocations.js +0 -1
- package/build/features/business/screens/Customers/ExpectedSalesRange.js +6 -6
- package/build/features/connect/screens/Individual/Email.js +11 -3
- package/build/features/connect/screens/Individual/Individual.js +10 -6
- package/build/features/connect/screens/Merchant/BrandName.js +8 -4
- package/build/features/connect/screens/Merchant/Merchant.js +1 -1
- package/package.json +1 -1
package/build/api/auth.d.ts
CHANGED
|
@@ -22,6 +22,7 @@ export declare type CreateAuthBody = {
|
|
|
22
22
|
auth_type?: number;
|
|
23
23
|
email_url?: string;
|
|
24
24
|
sign_in?: boolean;
|
|
25
|
+
is_lead?: boolean;
|
|
25
26
|
step_name?: string;
|
|
26
27
|
encryption_contract: Array<string>;
|
|
27
28
|
lang?: LanguageMode;
|
|
@@ -33,7 +34,7 @@ export declare type VerifyAuthBody = {
|
|
|
33
34
|
device_token: string;
|
|
34
35
|
step_name: string;
|
|
35
36
|
service_name: string;
|
|
36
|
-
new_user
|
|
37
|
+
new_user?: boolean;
|
|
37
38
|
sign_in: boolean;
|
|
38
39
|
encryption_contract: Array<string>;
|
|
39
40
|
remember_me?: boolean;
|
|
@@ -22,6 +22,7 @@ export declare const resendOTPNID: import("@reduxjs/toolkit").AsyncThunk<any, vo
|
|
|
22
22
|
export declare const verifyAuth: import("@reduxjs/toolkit").AsyncThunk<{
|
|
23
23
|
response: any;
|
|
24
24
|
formData: OTPFormValues;
|
|
25
|
+
leadData: any;
|
|
25
26
|
}, OTPFormValues, {}>;
|
|
26
27
|
interface verifyPACIParams {
|
|
27
28
|
onSuccess?: () => void | Promise<void>;
|
|
@@ -76,6 +76,7 @@ export var createMobileAuth = createAsyncThunk('createMobileAuth', function (par
|
|
|
76
76
|
code: params.countryCode.idd_prefix.toString()
|
|
77
77
|
},
|
|
78
78
|
sign_in: false,
|
|
79
|
+
is_lead: true,
|
|
79
80
|
step_name: CONNECT_STEP_NAMES.CREATE_AUTH_MOBILE,
|
|
80
81
|
encryption_contract: ['user_credentail.phone', 'user_credentail.code']
|
|
81
82
|
};
|
|
@@ -104,6 +105,7 @@ export var createCivilIdAuth = createAsyncThunk('createCivilIdAuth', function (p
|
|
|
104
105
|
country_code: 'KW'
|
|
105
106
|
},
|
|
106
107
|
sign_in: false,
|
|
108
|
+
is_lead: true,
|
|
107
109
|
step_name: CONNECT_STEP_NAMES.CREATE_AUTH_CIVIL_ID,
|
|
108
110
|
encryption_contract: ['user_credentail.identification_id']
|
|
109
111
|
};
|
|
@@ -132,6 +134,7 @@ export var resendOTPMobile = createAsyncThunk('resendOTPMobile', function (param
|
|
|
132
134
|
code: countryCode.idd_prefix.toString()
|
|
133
135
|
},
|
|
134
136
|
sign_in: false,
|
|
137
|
+
is_lead: true,
|
|
135
138
|
step_name: CONNECT_STEP_NAMES.CREATE_AUTH_MOBILE,
|
|
136
139
|
encryption_contract: ['user_credentail.phone', 'user_credentail.code']
|
|
137
140
|
};
|
|
@@ -159,6 +162,7 @@ export var createNIDAuth = createAsyncThunk('createNIDAuth', function (params, t
|
|
|
159
162
|
country_code: settings.data.businessCountry.iso2
|
|
160
163
|
},
|
|
161
164
|
sign_in: false,
|
|
165
|
+
is_lead: true,
|
|
162
166
|
step_name: CONNECT_STEP_NAMES.CREATE_AUTH_NID,
|
|
163
167
|
encryption_contract: [
|
|
164
168
|
'user_credentail.country_code',
|
|
@@ -194,6 +198,7 @@ export var resendOTPNID = createAsyncThunk('resendOTPNID', function (params, thu
|
|
|
194
198
|
country_code: settings.data.businessCountry.iso2
|
|
195
199
|
},
|
|
196
200
|
sign_in: false,
|
|
201
|
+
is_lead: true,
|
|
197
202
|
step_name: CONNECT_STEP_NAMES.CREATE_AUTH_NID,
|
|
198
203
|
encryption_contract: [
|
|
199
204
|
'user_credentail.country_code',
|
|
@@ -210,7 +215,7 @@ export var resendOTPNID = createAsyncThunk('resendOTPNID', function (params, thu
|
|
|
210
215
|
});
|
|
211
216
|
}); });
|
|
212
217
|
export var verifyAuth = createAsyncThunk('verifyAuth', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
213
|
-
var _a, connect, settings, isAbsher, _b, mobileData, nidData, responseBody, payload, data,
|
|
218
|
+
var _a, connect, settings, isAbsher, _b, mobileData, nidData, responseBody, individualInfo, payload, data, leadData, isNewUser, params_1;
|
|
214
219
|
var _c, _d;
|
|
215
220
|
return __generator(this, function (_e) {
|
|
216
221
|
switch (_e.label) {
|
|
@@ -219,13 +224,13 @@ export var verifyAuth = createAsyncThunk('verifyAuth', function (params, thunkAp
|
|
|
219
224
|
isAbsher = connect.data.otpData.isAbsher;
|
|
220
225
|
_b = connect.data, mobileData = _b.mobileData, nidData = _b.nidData;
|
|
221
226
|
responseBody = (isAbsher ? nidData : mobileData).responseBody;
|
|
227
|
+
individualInfo = undefined;
|
|
222
228
|
payload = {
|
|
223
229
|
data: params.otp,
|
|
224
230
|
auth_token: responseBody === null || responseBody === void 0 ? void 0 : responseBody.auth_token,
|
|
225
231
|
auth_type: responseBody === null || responseBody === void 0 ? void 0 : responseBody.auth_type,
|
|
226
232
|
device_token: responseBody === null || responseBody === void 0 ? void 0 : responseBody.device_token,
|
|
227
233
|
service_name: responseBody === null || responseBody === void 0 ? void 0 : responseBody.service_name,
|
|
228
|
-
new_user: responseBody === null || responseBody === void 0 ? void 0 : responseBody.new_user,
|
|
229
234
|
sign_in: responseBody === null || responseBody === void 0 ? void 0 : responseBody.sign_in,
|
|
230
235
|
remember_me: responseBody === null || responseBody === void 0 ? void 0 : responseBody.remember_me,
|
|
231
236
|
scopes: responseBody === null || responseBody === void 0 ? void 0 : responseBody.scopes,
|
|
@@ -237,36 +242,36 @@ export var verifyAuth = createAsyncThunk('verifyAuth', function (params, thunkAp
|
|
|
237
242
|
data = (_e.sent()).data;
|
|
238
243
|
if (!!data.errors) return [3, 5];
|
|
239
244
|
(_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, { otp: params.otp });
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
thunkApi.dispatch(
|
|
246
|
-
return [3, 5];
|
|
247
|
-
case 2: return [4, thunkApi.dispatch(retrieveBrandList(data === null || data === void 0 ? void 0 : data.individual_id))];
|
|
245
|
+
return [4, API.leadService.retrieveLead(data === null || data === void 0 ? void 0 : data.lead_id)];
|
|
246
|
+
case 2:
|
|
247
|
+
leadData = (_e.sent()).data;
|
|
248
|
+
individualInfo = leadData;
|
|
249
|
+
isNewUser = leadData === null || leadData === void 0 ? void 0 : leadData.is_new_individual;
|
|
250
|
+
return [4, thunkApi.dispatch(retrieveBrandList(individualInfo === null || individualInfo === void 0 ? void 0 : individualInfo.individual_id))];
|
|
248
251
|
case 3:
|
|
249
252
|
_e.sent();
|
|
250
253
|
return [4, thunkApi.dispatch(retrieveChannels())];
|
|
251
254
|
case 4:
|
|
252
255
|
_e.sent();
|
|
253
256
|
if (!(data === null || data === void 0 ? void 0 : data.lead_id)) {
|
|
254
|
-
|
|
257
|
+
params_1 = {
|
|
255
258
|
individualId: data === null || data === void 0 ? void 0 : data.individual_id,
|
|
256
259
|
stepName: 'CONNECT_MERCHANT_INFO_STEP'
|
|
257
260
|
};
|
|
258
|
-
thunkApi.dispatch(createLead(
|
|
261
|
+
thunkApi.dispatch(createLead(params_1));
|
|
259
262
|
}
|
|
260
263
|
else {
|
|
261
|
-
|
|
264
|
+
isNewUser
|
|
265
|
+
? thunkApi.dispatch(handleNextScreenStep('CONNECT_INDIVIDUAL_STEP'))
|
|
266
|
+
: thunkApi.dispatch(handleNextScreenStep('CONNECT_MERCHANT_INFO_STEP'));
|
|
262
267
|
}
|
|
263
268
|
_e.label = 5;
|
|
264
|
-
case 5: return [2, { response: data, formData: params }];
|
|
269
|
+
case 5: return [2, { response: data, formData: params, leadData: individualInfo }];
|
|
265
270
|
}
|
|
266
271
|
});
|
|
267
272
|
}); });
|
|
268
273
|
export var verifyPACI = createAsyncThunk('verifyPACI', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
269
|
-
var _a, settings, connect, responseBody, expiry, interval, maxCalls, response, count, data, isSuccess,
|
|
274
|
+
var _a, settings, connect, responseBody, expiry, interval, maxCalls, response, count, data, isSuccess, leadData, leadBody;
|
|
270
275
|
var _b, _c, _d, _e;
|
|
271
276
|
return __generator(this, function (_f) {
|
|
272
277
|
switch (_f.label) {
|
|
@@ -280,29 +285,29 @@ export var verifyPACI = createAsyncThunk('verifyPACI', function (params, thunkAp
|
|
|
280
285
|
count = 1;
|
|
281
286
|
_f.label = 1;
|
|
282
287
|
case 1:
|
|
283
|
-
if (!(count <= maxCalls)) return [3,
|
|
288
|
+
if (!(count <= maxCalls)) return [3, 8];
|
|
284
289
|
if (thunkApi.signal.aborted) {
|
|
285
|
-
return [3,
|
|
290
|
+
return [3, 8];
|
|
286
291
|
}
|
|
287
292
|
return [4, API.authService.getVerifyAuth(responseBody === null || responseBody === void 0 ? void 0 : responseBody.auth_token)];
|
|
288
293
|
case 2:
|
|
289
294
|
data = _f.sent();
|
|
290
295
|
response = data;
|
|
291
|
-
if (count === 1 && (responseBody === null || responseBody === void 0 ? void 0 : responseBody.new_user) === false) {
|
|
292
|
-
thunkApi.dispatch(retrieveBrandList(data === null || data === void 0 ? void 0 : data.individual_id));
|
|
293
|
-
thunkApi.dispatch(retrieveChannels());
|
|
294
|
-
}
|
|
295
296
|
isSuccess = ((_b = data.status) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === 'success';
|
|
296
|
-
if (!isSuccess) return [3,
|
|
297
|
+
if (!isSuccess) return [3, 5];
|
|
297
298
|
return [4, ((_c = params === null || params === void 0 ? void 0 : params.onSuccess) === null || _c === void 0 ? void 0 : _c.call(params))];
|
|
298
299
|
case 3:
|
|
299
300
|
_f.sent();
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
thunkApi.dispatch(
|
|
301
|
+
return [4, API.leadService.retrieveLead(data === null || data === void 0 ? void 0 : data.lead_id)];
|
|
302
|
+
case 4:
|
|
303
|
+
leadData = (_f.sent()).data;
|
|
304
|
+
response = __assign(__assign({}, response), leadData);
|
|
305
|
+
if (count === 1 && (leadData === null || leadData === void 0 ? void 0 : leadData.is_new_individual) === false) {
|
|
306
|
+
thunkApi.dispatch(retrieveBrandList(data === null || data === void 0 ? void 0 : data.individual_id));
|
|
307
|
+
thunkApi.dispatch(retrieveChannels());
|
|
308
|
+
}
|
|
309
|
+
if ((leadData === null || leadData === void 0 ? void 0 : leadData.is_new_individual) && (data === null || data === void 0 ? void 0 : data.lead_id)) {
|
|
310
|
+
thunkApi.dispatch(handleNextScreenStep('CONNECT_INDIVIDUAL_STEP'));
|
|
306
311
|
}
|
|
307
312
|
else if (!(data === null || data === void 0 ? void 0 : data.lead_id) && (data === null || data === void 0 ? void 0 : data.individual_id)) {
|
|
308
313
|
leadBody = {
|
|
@@ -314,15 +319,15 @@ export var verifyPACI = createAsyncThunk('verifyPACI', function (params, thunkAp
|
|
|
314
319
|
else
|
|
315
320
|
thunkApi.dispatch(handleNextScreenStep('CONNECT_MERCHANT_INFO_STEP'));
|
|
316
321
|
(_e = (_d = settings.data.appConfig).onStepCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, settings.data.activeScreen.name, {});
|
|
317
|
-
return [3,
|
|
318
|
-
case
|
|
319
|
-
case 5:
|
|
320
|
-
_f.sent();
|
|
321
|
-
_f.label = 6;
|
|
322
|
+
return [3, 8];
|
|
323
|
+
case 5: return [4, sleep(interval * 1000)];
|
|
322
324
|
case 6:
|
|
325
|
+
_f.sent();
|
|
326
|
+
_f.label = 7;
|
|
327
|
+
case 7:
|
|
323
328
|
count++;
|
|
324
329
|
return [3, 1];
|
|
325
|
-
case
|
|
330
|
+
case 8: return [2, { response: response }];
|
|
326
331
|
}
|
|
327
332
|
});
|
|
328
333
|
}); });
|
|
@@ -432,7 +437,7 @@ export var updateLeadIndividual = createAsyncThunk('updateLeadIndividual', funct
|
|
|
432
437
|
});
|
|
433
438
|
}); });
|
|
434
439
|
export var updateLeadBrand = createAsyncThunk('updateLeadBrand', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
435
|
-
var _a, settings, connect, instagram, twitter, _b,
|
|
440
|
+
var _a, settings, connect, instagram, twitter, _b, otpData, brandData, isAbsher, responseBody, isExistingUser, isOther, brand, payload, data;
|
|
436
441
|
var _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
437
442
|
return __generator(this, function (_q) {
|
|
438
443
|
switch (_q.label) {
|
|
@@ -440,10 +445,10 @@ export var updateLeadBrand = createAsyncThunk('updateLeadBrand', function (param
|
|
|
440
445
|
_a = thunkApi.getState(), settings = _a.settings, connect = _a.connect;
|
|
441
446
|
instagram = !!((_c = params.links) === null || _c === void 0 ? void 0 : _c.instagram) ? "".concat(INSTAGRAM_URL, "/").concat((_d = params.links) === null || _d === void 0 ? void 0 : _d.instagram) : '';
|
|
442
447
|
twitter = !!((_e = params.links) === null || _e === void 0 ? void 0 : _e.twitter) ? "".concat(TWITTER_URL, "/").concat((_f = params.links) === null || _f === void 0 ? void 0 : _f.twitter) : '';
|
|
443
|
-
_b = connect.data,
|
|
448
|
+
_b = connect.data, otpData = _b.otpData, brandData = _b.brandData;
|
|
444
449
|
isAbsher = otpData.isAbsher;
|
|
445
|
-
responseBody =
|
|
446
|
-
isExistingUser = (responseBody === null || responseBody === void 0 ? void 0 : responseBody.
|
|
450
|
+
responseBody = otpData.responseBody;
|
|
451
|
+
isExistingUser = (responseBody === null || responseBody === void 0 ? void 0 : responseBody.is_new_individual) === false;
|
|
447
452
|
isOther = !!((_g = params.selectedBrandItem) === null || _g === void 0 ? void 0 : _g.id) ? ((_h = params.selectedBrandItem) === null || _h === void 0 ? void 0 : _h.id) === 'other' : true;
|
|
448
453
|
brand = __assign({ name: {
|
|
449
454
|
en: params.brandName,
|
|
@@ -526,16 +531,15 @@ export var checkBrandNameAvailability = createAsyncThunk('checkBrandNameAvailabi
|
|
|
526
531
|
});
|
|
527
532
|
});
|
|
528
533
|
export var updateLeadSuccess = createAsyncThunk('updateLeadSuccess', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
529
|
-
var _a, settings, connect, _b,
|
|
534
|
+
var _a, settings, connect, _b, otpData, brandData, responseBody, isExistingUser, leadId, payload, data;
|
|
530
535
|
var _c, _d, _e, _f, _g, _h;
|
|
531
536
|
return __generator(this, function (_j) {
|
|
532
537
|
switch (_j.label) {
|
|
533
538
|
case 0:
|
|
534
539
|
_a = thunkApi.getState(), settings = _a.settings, connect = _a.connect;
|
|
535
|
-
_b = connect.data,
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
isExistingUser = (responseBody === null || responseBody === void 0 ? void 0 : responseBody.new_user) === false;
|
|
540
|
+
_b = connect.data, otpData = _b.otpData, brandData = _b.brandData;
|
|
541
|
+
responseBody = otpData.responseBody;
|
|
542
|
+
isExistingUser = (responseBody === null || responseBody === void 0 ? void 0 : responseBody.is_new_individual) === false;
|
|
539
543
|
leadId = isExistingUser ? (_c = brandData.responseBody) === null || _c === void 0 ? void 0 : _c.lead_id : (_d = otpData.responseBody) === null || _d === void 0 ? void 0 : _d.lead_id;
|
|
540
544
|
payload = {
|
|
541
545
|
lang: settings.data.language,
|
|
@@ -691,9 +695,27 @@ export var connectSlice = createSlice({
|
|
|
691
695
|
state.error = null;
|
|
692
696
|
})
|
|
693
697
|
.addCase(verifyPACI.fulfilled, function (state, action) {
|
|
698
|
+
var _a;
|
|
694
699
|
state.loading = false;
|
|
695
700
|
state.error = null;
|
|
696
701
|
state.data.otpData.responseBody = action.payload.response;
|
|
702
|
+
var _b = action.payload.response, name = _b.name, contact = _b.contact, brand = _b.brand;
|
|
703
|
+
var _c = contact || {}, email = _c.email, phone = _c.phone;
|
|
704
|
+
var firstName = (name === null || name === void 0 ? void 0 : name.first) + ' ';
|
|
705
|
+
var middleName = !!(name === null || name === void 0 ? void 0 : name.middle) ? (name === null || name === void 0 ? void 0 : name.middle) + ' ' : '';
|
|
706
|
+
var thirdName = !!(name === null || name === void 0 ? void 0 : name.third) ? (name === null || name === void 0 ? void 0 : name.third) + ' ' : '';
|
|
707
|
+
var lastName = !!(name === null || name === void 0 ? void 0 : name.last) ? name === null || name === void 0 ? void 0 : name.last : '';
|
|
708
|
+
if (!!name) {
|
|
709
|
+
var capitalizedName = capitalizeTheFirstLetterOfEachWord(firstName + middleName + thirdName + lastName);
|
|
710
|
+
state.data.individualData.name = capitalizedName;
|
|
711
|
+
}
|
|
712
|
+
if (!!email)
|
|
713
|
+
state.data.individualData.email = email;
|
|
714
|
+
if (!!(phone === null || phone === void 0 ? void 0 : phone.number))
|
|
715
|
+
state.data.individualData.mobile = phone === null || phone === void 0 ? void 0 : phone.number;
|
|
716
|
+
state.data.brandData.brandName = (_a = brand === null || brand === void 0 ? void 0 : brand.name) === null || _a === void 0 ? void 0 : _a.en;
|
|
717
|
+
state.data.brandData.links.website = brand === null || brand === void 0 ? void 0 : brand.website;
|
|
718
|
+
state.data.otpData.responseBody = action.payload.response;
|
|
697
719
|
})
|
|
698
720
|
.addCase(verifyPACI.rejected, function (state, action) {
|
|
699
721
|
state.loading = false;
|
|
@@ -743,16 +765,32 @@ export var connectSlice = createSlice({
|
|
|
743
765
|
state.error = action.error.message;
|
|
744
766
|
})
|
|
745
767
|
.addCase(verifyAuth.fulfilled, function (state, action) {
|
|
746
|
-
var _a;
|
|
768
|
+
var _a, _b;
|
|
747
769
|
state.error = null;
|
|
748
|
-
var
|
|
770
|
+
var _c = action.payload, formData = _c.formData, response = _c.response, leadData = _c.leadData;
|
|
749
771
|
var description = (((_a = response === null || response === void 0 ? void 0 : response.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
|
|
750
772
|
if (description) {
|
|
751
773
|
state.loading = false;
|
|
752
774
|
state.error = description;
|
|
753
775
|
return;
|
|
754
776
|
}
|
|
755
|
-
|
|
777
|
+
var name = leadData.name, contact = leadData.contact, brand = leadData.brand;
|
|
778
|
+
var _d = contact || {}, email = _d.email, phone = _d.phone;
|
|
779
|
+
var firstName = (name === null || name === void 0 ? void 0 : name.first) + ' ';
|
|
780
|
+
var middleName = !!(name === null || name === void 0 ? void 0 : name.middle) ? (name === null || name === void 0 ? void 0 : name.middle) + ' ' : '';
|
|
781
|
+
var thirdName = !!(name === null || name === void 0 ? void 0 : name.third) ? (name === null || name === void 0 ? void 0 : name.third) + ' ' : '';
|
|
782
|
+
var lastName = !!(name === null || name === void 0 ? void 0 : name.last) ? name === null || name === void 0 ? void 0 : name.last : '';
|
|
783
|
+
if (!!name) {
|
|
784
|
+
var capitalizedName = capitalizeTheFirstLetterOfEachWord(firstName + middleName + thirdName + lastName);
|
|
785
|
+
state.data.individualData.name = capitalizedName;
|
|
786
|
+
}
|
|
787
|
+
if (!!email)
|
|
788
|
+
state.data.individualData.email = email;
|
|
789
|
+
if (!!(phone === null || phone === void 0 ? void 0 : phone.number))
|
|
790
|
+
state.data.individualData.mobile = phone === null || phone === void 0 ? void 0 : phone.number;
|
|
791
|
+
state.data.brandData.brandName = (_b = brand === null || brand === void 0 ? void 0 : brand.name) === null || _b === void 0 ? void 0 : _b.en;
|
|
792
|
+
state.data.brandData.links.website = brand === null || brand === void 0 ? void 0 : brand.website;
|
|
793
|
+
state.data.otpData.responseBody = __assign(__assign({}, response), leadData);
|
|
756
794
|
state.data.otpData.otp = formData.otp;
|
|
757
795
|
state.data.brandData.responseBody = __assign(__assign({}, state.data.brandData.responseBody), response);
|
|
758
796
|
})
|
|
@@ -881,7 +919,7 @@ export var connectSlice = createSlice({
|
|
|
881
919
|
.addCase(checkEmailAvailability.fulfilled, function (state, action) {
|
|
882
920
|
var _a;
|
|
883
921
|
state.error = null;
|
|
884
|
-
state.data.individualData.responseBody = (_a = action.payload) === null || _a === void 0 ? void 0 : _a.response;
|
|
922
|
+
state.data.individualData.responseBody = __assign(__assign({}, state.data.individualData.responseBody), (_a = action.payload) === null || _a === void 0 ? void 0 : _a.response);
|
|
885
923
|
})
|
|
886
924
|
.addCase(checkEmailAvailability.pending, function (state) {
|
|
887
925
|
state.error = null;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as yup from 'yup';
|
|
2
2
|
export declare const LicenseValidationSchema: yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
3
3
|
selectedLicense: any;
|
|
4
|
-
licenseNumber: yup.
|
|
4
|
+
licenseNumber: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
|
|
5
5
|
}>, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
6
6
|
selectedLicense: any;
|
|
7
|
-
licenseNumber: yup.
|
|
7
|
+
licenseNumber: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
|
|
8
8
|
}>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
9
9
|
selectedLicense: any;
|
|
10
|
-
licenseNumber: yup.
|
|
10
|
+
licenseNumber: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
|
|
11
11
|
}>>>;
|
|
12
12
|
export declare const KWLicenseValidationSchema: yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
13
13
|
selectedLicense: any;
|
|
@@ -13,7 +13,9 @@ var objectElements = {
|
|
|
13
13
|
};
|
|
14
14
|
export var LicenseValidationSchema = yup.object().shape({
|
|
15
15
|
selectedLicense: yup.object().shape(objectElements).required(''),
|
|
16
|
-
licenseNumber: yup
|
|
16
|
+
licenseNumber: yup
|
|
17
|
+
.string()
|
|
18
|
+
.test({
|
|
17
19
|
test: function (value) {
|
|
18
20
|
var selectedLicense = this.parent.selectedLicense;
|
|
19
21
|
var isCR = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR;
|
|
@@ -26,6 +28,7 @@ export var LicenseValidationSchema = yup.object().shape({
|
|
|
26
28
|
return length === FL_NUMBER_LENGTH ? true : this.createError({ message: 'fl_max_length' });
|
|
27
29
|
}
|
|
28
30
|
})
|
|
31
|
+
.required('')
|
|
29
32
|
});
|
|
30
33
|
export var KWLicenseValidationSchema = yup.object().shape({
|
|
31
34
|
selectedLicense: yup.object().shape(objectElements).required(''),
|
|
@@ -20,9 +20,8 @@ import { useAppDispatch, useLanguage, useAppSelector } from '../../../../hooks';
|
|
|
20
20
|
import { settingsSelector, handlePrevScreenStep } from '../../../../app/settings';
|
|
21
21
|
import { clearError, businessSelector, createCivilIdAuth } from '../../../app/business/businessStore';
|
|
22
22
|
import Form from '../../../../components/Form';
|
|
23
|
-
import Button
|
|
23
|
+
import Button from '../../../shared/Button';
|
|
24
24
|
import { ScreenContainer } from '../../../shared/Containers';
|
|
25
|
-
import Collapse from '../../../../components/Collapse';
|
|
26
25
|
import Box from '@mui/material/Box';
|
|
27
26
|
import Divider from '@mui/material/Divider';
|
|
28
27
|
import Text from '../../../../components/Text';
|
|
@@ -80,6 +79,6 @@ var CivilID = function (_a) {
|
|
|
80
79
|
dispatch(handlePrevScreenStep('CONNECT_MOBILE_STEP'));
|
|
81
80
|
};
|
|
82
81
|
var disabled = !methods.formState.isValid || !!error;
|
|
83
|
-
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(IDNumber, { sx: { mb:
|
|
82
|
+
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(IDNumber, { sx: { mb: 7.5, transition: 'mb 0.3s' } }), _jsx(Button, __assign({ loading: loading, isAr: isAr, disableBack: true, disabled: disabled || settingsStore.loading, error: t(error || '') }, { children: t('next') }))] })) })) }));
|
|
84
83
|
};
|
|
85
84
|
export default React.memo(CivilID);
|
|
@@ -130,7 +130,6 @@ var customerLocations = function (_a) {
|
|
|
130
130
|
};
|
|
131
131
|
var customerLocationsValue = customerLocationsControl.field.value;
|
|
132
132
|
var customerLocationSelected = customerLocationsValue === null || customerLocationsValue === void 0 ? void 0 : customerLocationsValue[0];
|
|
133
|
-
console.log(customerLocationSelected, 'sele');
|
|
134
133
|
return (_jsx(Collapse, __assign({ in: rest.show }, { children: _jsxs(ScreenContainer, { children: [_jsx(InputLabelStyled, { children: t('select_customer_base') }), _jsx(InputStyled, { readOnly: true, value: isAr ? customerLocationSelected === null || customerLocationSelected === void 0 ? void 0 : customerLocationSelected.name.ar : customerLocationSelected === null || customerLocationSelected === void 0 ? void 0 : customerLocationSelected.name.en, onClick: !!anchorEl ? function () { return onCloseList(); } : onOpenList, endAdornment: _jsx(ExpandIcon, { anchorEl: !!anchorEl }) }), _jsxs(Collapse, __assign({ in: !!anchorEl, timeout: 300 }, { children: [_jsx(Search, { onSearchValue: handleSearch }), _jsx(SimpleListStyled, { searchKeyPath: 'name.en', list: customerLocationsList, placeholder: 'choose_customer_base', onSelectItem: onSelectItem, renderItem: function (item) {
|
|
135
134
|
return (_jsxs(_Fragment, { children: [_jsx(Box, __assign({ display: 'flex' }, { children: _jsx(NameContainer, __assign({ isSelected: (item === null || item === void 0 ? void 0 : item.id) === (customerLocationsValue === null || customerLocationsValue === void 0 ? void 0 : customerLocationsValue.id) }, { children: isAr ? item.name.ar : item.name.en })) })), item.id === (customerLocationSelected === null || customerLocationSelected === void 0 ? void 0 : customerLocationSelected.id) && _jsx(CheckIconStyled, {}), checkRemainingCondition(item) && item.id != (customerLocationSelected === null || customerLocationSelected === void 0 ? void 0 : customerLocationSelected.id) && _jsx(RemainingCheck, {})] }));
|
|
136
135
|
} })] }))] }) })));
|
|
@@ -91,16 +91,16 @@ var ExpectedSalesRange = function (_a) {
|
|
|
91
91
|
expectedSaleControl.field.onChange(expectedSalesRange);
|
|
92
92
|
};
|
|
93
93
|
var handleSearch = function (value) {
|
|
94
|
-
var filteredSubList = expectedSales === null || expectedSales === void 0 ? void 0 : expectedSales.filter(function (salesRange) {
|
|
95
|
-
var _a;
|
|
96
|
-
return (_a = salesRange.sub) === null || _a === void 0 ? void 0 : _a.find(function (obj) { return obj.name.en.toLowerCase().startsWith(value.toLowerCase()); });
|
|
97
|
-
});
|
|
98
94
|
var filteredList = expectedSales === null || expectedSales === void 0 ? void 0 : expectedSales.filter(function (salesRange) {
|
|
99
|
-
var _a, _b;
|
|
95
|
+
var _a, _b, _c;
|
|
100
96
|
return salesRange.name.en.toLowerCase().includes(value.toLowerCase()) ||
|
|
97
|
+
salesRange.name.en.toLowerCase().replace(',', '').includes(value.toLowerCase()) ||
|
|
101
98
|
salesRange.name.ar.toLowerCase().includes(value.toLowerCase()) ||
|
|
102
99
|
((_a = salesRange.sub) === null || _a === void 0 ? void 0 : _a.find(function (obj) { return obj.name.en.toLowerCase().includes(value.toLowerCase()); })) ||
|
|
103
|
-
((_b = salesRange.sub) === null || _b === void 0 ? void 0 : _b.find(function (obj) {
|
|
100
|
+
((_b = salesRange.sub) === null || _b === void 0 ? void 0 : _b.find(function (obj) {
|
|
101
|
+
return obj.name.en.toLowerCase().replace(',', '').includes(value.toLowerCase());
|
|
102
|
+
})) ||
|
|
103
|
+
((_c = salesRange.sub) === null || _c === void 0 ? void 0 : _c.find(function (obj) { return obj.name.ar.toLowerCase().includes(value.toLowerCase()); }));
|
|
104
104
|
});
|
|
105
105
|
setExpectedSalesRangeList(filteredList);
|
|
106
106
|
};
|
|
@@ -54,8 +54,8 @@ import Input from '../../../shared/Input';
|
|
|
54
54
|
import { useController, useFormContext } from 'react-hook-form';
|
|
55
55
|
import ClearIcon from '../../../shared/ClearIcon';
|
|
56
56
|
import CheckIcon from '../../../shared/CheckIcon';
|
|
57
|
-
import { checkEmailAvailability } from '../../../app/connect/connectStore';
|
|
58
|
-
import { useAppDispatch } from '../../../../hooks';
|
|
57
|
+
import { checkEmailAvailability, connectSelector } from '../../../app/connect/connectStore';
|
|
58
|
+
import { useAppDispatch, useAppSelector } from '../../../../hooks';
|
|
59
59
|
import { debounce } from 'lodash-es';
|
|
60
60
|
import Collapse from '../../../../components/Collapse';
|
|
61
61
|
import { styled } from '@mui/material/styles';
|
|
@@ -72,7 +72,9 @@ var cancelToken = null;
|
|
|
72
72
|
var Email = function (_a) {
|
|
73
73
|
var _b;
|
|
74
74
|
var show = _a.show, fetchingEmail = _a.fetchingEmail, emailChecking = _a.emailChecking;
|
|
75
|
+
var _c = React.useState(''), storedEmail = _c[0], setStoredEmail = _c[1];
|
|
75
76
|
var dispatch = useAppDispatch();
|
|
77
|
+
var data = useAppSelector(connectSelector).data;
|
|
76
78
|
var t = useTranslation().t;
|
|
77
79
|
var control = useFormContext().control;
|
|
78
80
|
var emailControl = useController({ name: 'email', control: control });
|
|
@@ -93,9 +95,15 @@ var Email = function (_a) {
|
|
|
93
95
|
var handleEmailChange = function (event) {
|
|
94
96
|
emailControl.field.onChange(event.target.value);
|
|
95
97
|
};
|
|
98
|
+
React.useEffect(function () {
|
|
99
|
+
var _a, _b;
|
|
100
|
+
var email = (_b = (_a = data.otpData.responseBody) === null || _a === void 0 ? void 0 : _a.contact) === null || _b === void 0 ? void 0 : _b.email;
|
|
101
|
+
if (!!email)
|
|
102
|
+
setStoredEmail(email);
|
|
103
|
+
}, [data.otpData.responseBody]);
|
|
96
104
|
React.useEffect(function () {
|
|
97
105
|
var isValid = emailValue && !error && emailValue.length > 3;
|
|
98
|
-
if (isValid) {
|
|
106
|
+
if (isValid && emailValue != storedEmail) {
|
|
99
107
|
fetchingEmail(true);
|
|
100
108
|
checkEmail(emailValue);
|
|
101
109
|
}
|
|
@@ -34,11 +34,11 @@ var FormStyled = styled(Form)(function () { return ({
|
|
|
34
34
|
flexDirection: 'column'
|
|
35
35
|
}); });
|
|
36
36
|
var Individual = function (_a) {
|
|
37
|
-
var _b, _c, _d;
|
|
38
|
-
var
|
|
39
|
-
var
|
|
37
|
+
var _b, _c, _d, _e, _f, _g;
|
|
38
|
+
var _h = React.useState(false), listActive = _h[0], setListActive = _h[1];
|
|
39
|
+
var _j = React.useState(false), emailChecking = _j[0], setEmailChecking = _j[1];
|
|
40
40
|
var settingsData = useAppSelector(settingsSelector).data;
|
|
41
|
-
var
|
|
41
|
+
var _k = useAppSelector(connectSelector), data = _k.data, loading = _k.loading, error = _k.error;
|
|
42
42
|
var dispatch = useAppDispatch();
|
|
43
43
|
var t = useTranslation().t;
|
|
44
44
|
var isAr = useLanguage().isAr;
|
|
@@ -46,7 +46,7 @@ var Individual = function (_a) {
|
|
|
46
46
|
var isMobile = data.mobileData.mobile;
|
|
47
47
|
var individualData = data.individualData;
|
|
48
48
|
var methods = useForm({
|
|
49
|
-
resolver: yupResolver(
|
|
49
|
+
resolver: yupResolver(isMobile ? IndividualValidation : IndividualMobileValidation),
|
|
50
50
|
defaultValues: data.individualData,
|
|
51
51
|
mode: 'onChange'
|
|
52
52
|
});
|
|
@@ -82,8 +82,12 @@ var Individual = function (_a) {
|
|
|
82
82
|
if (((_b = (_a = data.individualData) === null || _a === void 0 ? void 0 : _a.responseBody) === null || _b === void 0 ? void 0 : _b.is_available) === false)
|
|
83
83
|
methods.setError('email', { message: 'tap_js_email_already_exist' });
|
|
84
84
|
}, [(_c = data.individualData) === null || _c === void 0 ? void 0 : _c.responseBody]);
|
|
85
|
+
var isLeadEmailAvailable = ((_e = (_d = data.otpData.responseBody) === null || _d === void 0 ? void 0 : _d.contact) === null || _e === void 0 ? void 0 : _e.email) === methods.watch('email');
|
|
86
|
+
var isEmailValid = ((_f = data.individualData.responseBody) === null || _f === void 0 ? void 0 : _f.is_available) === undefined
|
|
87
|
+
? isLeadEmailAvailable
|
|
88
|
+
: (_g = data.individualData.responseBody) === null || _g === void 0 ? void 0 : _g.is_available;
|
|
85
89
|
var emailErrChecks = !methods.formState.isValid || !!methods.formState.errors.email || !!error;
|
|
86
|
-
var disabled = emailErrChecks || emailChecking || !
|
|
90
|
+
var disabled = emailErrChecks || emailChecking || !isEmailValid;
|
|
87
91
|
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(FormStyled, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(Name, { show: !listActive }), _jsx(MobileNumber, { show: !isMobile, onListOpen: function () { return handleMenuListClick(); }, onListClose: function () { return handleMenuListClick(); }, countries: countriesCode }), _jsx(Email, { show: !listActive, fetchingEmail: function (v) { return setEmailChecking(v); }, emailChecking: emailChecking }), _jsx(Collapse, __assign({ in: !listActive }, { children: _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, loading: loading, error: t(error || '') }, { children: t('next') })) }))] })) })) }));
|
|
88
92
|
};
|
|
89
93
|
export default React.memo(Individual);
|
|
@@ -63,8 +63,8 @@ import Tooltip from '../../../../components/Tooltip';
|
|
|
63
63
|
import Collapse from '../../../../components/Collapse';
|
|
64
64
|
import { removeAllOtherThanCharsNumbersAndSpace } from '../../../../utils';
|
|
65
65
|
import CheckIcon from '../../../shared/CheckIcon';
|
|
66
|
-
import { checkBrandNameAvailability } from '../../../app/connect/connectStore';
|
|
67
|
-
import { useAppDispatch } from '../../../../hooks';
|
|
66
|
+
import { checkBrandNameAvailability, connectSelector } from '../../../app/connect/connectStore';
|
|
67
|
+
import { useAppDispatch, useAppSelector } from '../../../../hooks';
|
|
68
68
|
import { debounce } from 'lodash-es';
|
|
69
69
|
var LabelContainerStyled = styled(Box)(function (_a) {
|
|
70
70
|
var theme = _a.theme;
|
|
@@ -100,9 +100,11 @@ var cancelToken = null;
|
|
|
100
100
|
var BrandName = function (_a) {
|
|
101
101
|
var _b;
|
|
102
102
|
var show = _a.show, brandNameChecking = _a.brandNameChecking, fetchingBrandName = _a.fetchingBrandName;
|
|
103
|
+
var _c = React.useState(''), storedBrand = _c[0], setStoredBrand = _c[1];
|
|
103
104
|
var dispatch = useAppDispatch();
|
|
104
|
-
var
|
|
105
|
+
var _d = React.useState(false), isHovered = _d[0], setIsHovered = _d[1];
|
|
105
106
|
var t = useTranslation().t;
|
|
107
|
+
var data = useAppSelector(connectSelector).data;
|
|
106
108
|
var control = useFormContext().control;
|
|
107
109
|
var brandControl = useController({ control: control, name: 'brandName' });
|
|
108
110
|
var brandNameValue = brandControl.field.value;
|
|
@@ -125,8 +127,10 @@ var BrandName = function (_a) {
|
|
|
125
127
|
brandControl.field.onChange(value);
|
|
126
128
|
};
|
|
127
129
|
React.useEffect(function () {
|
|
130
|
+
var _a, _b, _c;
|
|
128
131
|
var isValid = brandNameValue && !error && brandNameValue.length > 2;
|
|
129
|
-
|
|
132
|
+
var brand = (_c = (_b = (_a = data.otpData.responseBody) === null || _a === void 0 ? void 0 : _a.brand) === null || _b === void 0 ? void 0 : _b.name) === null || _c === void 0 ? void 0 : _c.en;
|
|
133
|
+
if (isValid && (brandNameValue === null || brandNameValue === void 0 ? void 0 : brandNameValue.toLowerCase()) != brand) {
|
|
130
134
|
fetchingBrandName(true);
|
|
131
135
|
checkBrand(brandNameValue);
|
|
132
136
|
}
|
|
@@ -37,7 +37,7 @@ var Merchant = function (_a) {
|
|
|
37
37
|
var _f = React.useState(false), listActive = _f[0], setListActive = _f[1];
|
|
38
38
|
var _g = useAppSelector(connectSelector), data = _g.data, loading = _g.loading, error = _g.error;
|
|
39
39
|
var settingsData = useAppSelector(settingsSelector).data;
|
|
40
|
-
var isNewUser = (_b = data.otpData.responseBody) === null || _b === void 0 ? void 0 : _b.
|
|
40
|
+
var isNewUser = (_b = data.otpData.responseBody) === null || _b === void 0 ? void 0 : _b.is_new_individual;
|
|
41
41
|
var isAbsher = data.otpData.isAbsher;
|
|
42
42
|
var _h = data.brandData.responseBody || {}, brands = _h.brands, channelList = _h.channelList;
|
|
43
43
|
var brandList = brands || [];
|