@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.
@@ -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: boolean;
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, params_1, params_2;
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
- if (!(responseBody === null || responseBody === void 0 ? void 0 : responseBody.new_user)) return [3, 2];
241
- params_1 = {
242
- leadId: data === null || data === void 0 ? void 0 : data.lead_id,
243
- stepName: 'CONNECT_INDIVIDUAL_STEP'
244
- };
245
- thunkApi.dispatch(retrieveLead(params_1));
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
- params_2 = {
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(params_2));
261
+ thunkApi.dispatch(createLead(params_1));
259
262
  }
260
263
  else {
261
- thunkApi.dispatch(handleNextScreenStep('CONNECT_MERCHANT_INFO_STEP'));
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, leadBody, leadBody;
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, 7];
288
+ if (!(count <= maxCalls)) return [3, 8];
284
289
  if (thunkApi.signal.aborted) {
285
- return [3, 7];
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, 4];
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
- if ((responseBody === null || responseBody === void 0 ? void 0 : responseBody.new_user) && (data === null || data === void 0 ? void 0 : data.lead_id)) {
301
- leadBody = {
302
- leadId: data === null || data === void 0 ? void 0 : data.lead_id,
303
- stepName: 'CONNECT_INDIVIDUAL_STEP'
304
- };
305
- thunkApi.dispatch(retrieveLead(leadBody));
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, 7];
318
- case 4: return [4, sleep(interval * 1000)];
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 7: return [2, { response: response }];
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, mobileData, nidData, otpData, brandData, isAbsher, responseBody, isExistingUser, isOther, brand, payload, data;
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, mobileData = _b.mobileData, nidData = _b.nidData, otpData = _b.otpData, brandData = _b.brandData;
448
+ _b = connect.data, otpData = _b.otpData, brandData = _b.brandData;
444
449
  isAbsher = otpData.isAbsher;
445
- responseBody = (isAbsher ? nidData : mobileData).responseBody;
446
- isExistingUser = (responseBody === null || responseBody === void 0 ? void 0 : responseBody.new_user) === false;
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, mobileData, nidData, otpData, brandData, isAbsher, responseBody, isExistingUser, leadId, payload, data;
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, mobileData = _b.mobileData, nidData = _b.nidData, otpData = _b.otpData, brandData = _b.brandData;
536
- isAbsher = otpData.isAbsher;
537
- responseBody = (isAbsher ? nidData : mobileData).responseBody;
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 _b = action.payload, formData = _b.formData, response = _b.response;
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
- state.data.otpData.responseBody = response;
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.StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
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.StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
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.StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
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.string().test({
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, { MobileButton } from '../../../shared/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: methods.formState.isValid ? 7.5 : 0, transition: 'mb 0.3s' } }), _jsx(Button, __assign({ loading: loading, isAr: isAr, disableBack: true, disabled: disabled || settingsStore.loading, error: t(error || '') }, { children: t('next') })), _jsxs(Collapse, __assign({ in: !methods.formState.isValid }, { children: [_jsxs(OrBoxStyled, { children: [_jsx(DividerStyled, {}), _jsx(TextStyled, { children: t('or') }), _jsx(DividerStyled, {})] }), _jsx(MobileButton, __assign({ onClick: function () { return onBack(); }, disabled: loading || settingsStore.loading }, { children: t('mobile_button_label') }))] }))] })) })) }));
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) { return obj.name.ar.toLowerCase().includes(value.toLowerCase()); }));
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 _e = React.useState(false), listActive = _e[0], setListActive = _e[1];
39
- var _f = React.useState(false), emailChecking = _f[0], setEmailChecking = _f[1];
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 _g = useAppSelector(connectSelector), data = _g.data, loading = _g.loading, error = _g.error;
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(!isMobile ? IndividualMobileValidation : IndividualValidation),
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 || !((_d = data.individualData.responseBody) === null || _d === void 0 ? void 0 : _d.is_available);
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 _c = React.useState(false), isHovered = _c[0], setIsHovered = _c[1];
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
- if (isValid) {
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.new_user;
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 || [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tap-payments/auth-jsconnect",
3
- "version": "2.0.69-test",
3
+ "version": "2.0.71-test",
4
4
  "description": "connect library, auth",
5
5
  "private": false,
6
6
  "main": "build/index.js",