@tap-payments/auth-jsconnect 2.8.45-test → 2.8.49-development

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/build/@types/app.d.ts +1 -0
  2. package/build/features/app/bank/bankStore.js +13 -6
  3. package/build/features/app/brand/brandStore.js +97 -69
  4. package/build/features/app/business/businessStore.js +7 -1
  5. package/build/features/app/connectExpress/connectExpressStore.js +8 -1
  6. package/build/features/app/entity/entityStore.d.ts +5 -1
  7. package/build/features/app/entity/entityStore.js +62 -43
  8. package/build/features/app/individual/individualStore.d.ts +1 -1
  9. package/build/features/app/individual/individualStore.js +27 -18
  10. package/build/features/app/tax/taxStore.js +1 -0
  11. package/build/features/auth/screens/AuthSwitch/AuthSwitch.js +13 -1
  12. package/build/features/auth/screens/BusinessCountry/BusinessCountry.js +7 -1
  13. package/build/features/bank/screens/BankDetails/BankDetails.js +7 -2
  14. package/build/features/brand/screens/BrandActivities/BrandActivities.js +48 -11
  15. package/build/features/brand/screens/BrandInfo/BrandInfo.js +22 -4
  16. package/build/features/brand/screens/BrandSegmentInfo/BrandSegmentInfo.js +22 -6
  17. package/build/features/business/screens/Activities/Activities.js +11 -2
  18. package/build/features/business/screens/BusinessType/BusinessType.js +9 -1
  19. package/build/features/business/screens/Customers/Customers.js +11 -2
  20. package/build/features/business/screens/IDBOD/IDBOD.js +9 -1
  21. package/build/features/business/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +12 -1
  22. package/build/features/business/screens/Verify/Verify.js +12 -2
  23. package/build/features/connect/Connect.js +3 -2
  24. package/build/features/connect/screens/BusinessCountry/BusinessCountry.js +7 -1
  25. package/build/features/connect/screens/Mobile/Mobile.js +10 -7
  26. package/build/features/connectExpress/ConnectExpress.js +2 -1
  27. package/build/features/connectExpress/screens/BusinessCountry/BusinessCountry.js +7 -1
  28. package/build/features/connectExpress/screens/Mobile/Mobile.js +8 -1
  29. package/build/features/entity/screens/EntityCapital/EntityCapital.js +33 -9
  30. package/build/features/entity/screens/EntityName/EntityName.js +31 -14
  31. package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.js +43 -10
  32. package/build/features/individual/screens/IndividualList/IndividualList.js +7 -0
  33. package/build/features/individual/screens/IndividualPersonalInfo/IndividualPersonalInfo.js +73 -18
  34. package/build/features/shared/Button/FlowsButtons.js +10 -1
  35. package/build/hooks/useFormDirtyCheck.d.ts +5 -1
  36. package/build/hooks/useFormDirtyCheck.js +47 -10
  37. package/package.json +2 -2
@@ -659,6 +659,7 @@ export interface EventPageTrackingData extends CommonDataLayer {
659
659
  }
660
660
  export interface PageTrackingData {
661
661
  title?: string;
662
+ connect_flow?: string;
662
663
  }
663
664
  export type VerifyExpressTokenParams = {
664
665
  public_key: string;
@@ -51,7 +51,7 @@ import API from '../../../api';
51
51
  import { DocumentPurpose, FlowsTypes } from '../../../@types';
52
52
  import { handleCurrentActiveScreen, handleNextScreenStep, handlePrevScreenStep, handlePublicKey, handleSetCountryByIso2, onCloseComplete } from '../../../app/settings';
53
53
  import { BANK_STEP_NAMES } from '../../../constants';
54
- import { hasNoneEditableValue, isStringHasOneAsterisk, retrieveIndividualData, sleep } from '../../../utils';
54
+ import { hasNoneEditableValue, isStringHasOneAsterisk, retrieveIndividualData, sendCustomEventToGTM, sleep } from '../../../utils';
55
55
  export var verifyLeadToken = createAsyncThunk('bankVerifyLeadToken', function (_a, thunkApi) {
56
56
  var token = _a.token, isInternally = _a.isInternally;
57
57
  return __awaiter(void 0, void 0, void 0, function () {
@@ -255,14 +255,15 @@ export var createBankAccount = createAsyncThunk('createBankAccount', function (_
255
255
  isConfirmPolicyNonEditable = hasNoneEditableValue(data_status, 'is_acknowledged');
256
256
  documentResponse = undefined;
257
257
  data = bank_account || {};
258
- hasDocument = (bankStatementId || []).length > 0;
258
+ hasDocument = !isBankStatementIdNonEditable && (bankStatementId || []).length > 0;
259
259
  documentId = document === null || document === void 0 ? void 0 : document.id;
260
260
  requestBody = {
261
261
  wallet_id: wallet_id,
262
262
  bank_account: __assign(__assign({ iban: isIBANNonEditable || isIBANMasked ? undefined : iban, beneficiary_name: isBeneficiaryNameNonEditable ? undefined : beneficiaryName, bank_name: isBankNameNonEditable ? undefined : bankName }, (!isConfirmPolicyNonEditable && {
263
263
  acknowledged_by: recipient === null || recipient === void 0 ? void 0 : recipient.id,
264
264
  is_acknowledged: confirmPolicy
265
- })), (!(isBankStatementIdNonEditable || documentId || !hasDocument) && {
265
+ })), (!documentId &&
266
+ hasDocument && {
266
267
  document: {
267
268
  type: DocumentPurpose.BANK_STATEMENT,
268
269
  files: bankStatementId || []
@@ -271,13 +272,13 @@ export var createBankAccount = createAsyncThunk('createBankAccount', function (_
271
272
  step_name: BANK_STEP_NAMES.BANK_INFO,
272
273
  encryption_contract: ['bank_account.iban', 'bank_account.beneficiary_name', 'bank_account.bank_name']
273
274
  };
274
- if (!isDirty) return [3, 2];
275
+ if (!(isDirty || (!documentId && hasDocument))) return [3, 2];
275
276
  return [4, API.entityService.createBankAccount(requestBody)];
276
277
  case 1:
277
278
  data = _g.sent();
278
279
  _g.label = 2;
279
280
  case 2:
280
- if (!(!isBankStatementIdNonEditable && documentId && hasDocument)) return [3, 4];
281
+ if (!(documentId && hasDocument)) return [3, 4];
281
282
  documentBody = {
282
283
  id: documentId,
283
284
  files: bankStatementId || []
@@ -333,6 +334,12 @@ export var updateBoardSuccess = createAsyncThunk('updateBoardBankSuccess', funct
333
334
  return [4, API.boardService.updateBoardInfo(__assign({ id: board_id, infoId: infoId }, payload))];
334
335
  case 1:
335
336
  data = _p.sent();
337
+ sendCustomEventToGTM({
338
+ event: 'Send Event',
339
+ event_category: 'Board Flows - Wallet',
340
+ event_action: 'Wallet Update Success Page',
341
+ event_label: settings.data.businessCountry.iso2
342
+ });
336
343
  if (!showBoard && mode === 'content') {
337
344
  (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, {});
338
345
  (_h = (_g = settings.data.appConfig).onFlowCompleted) === null || _h === void 0 ? void 0 : _h.call(_g, { data: data });
@@ -517,7 +524,7 @@ export var bankSlice = createSlice({
517
524
  state.loading = false;
518
525
  state.error = null;
519
526
  var _a = action.payload, data = _a.data, formData = _a.formData;
520
- state.data.bankData = formData;
527
+ state.data.bankData = __assign(__assign({}, formData), { bankStatementId: undefined });
521
528
  state.data.bankData.responseBody = data;
522
529
  })
523
530
  .addCase(createBankAccount.rejected, function (state, action) {
@@ -62,7 +62,7 @@ import API from '../../../api';
62
62
  import { FlowsTypes } from '../../../@types';
63
63
  import { handleNextScreenStep, handlePrevScreenStep, handlePublicKey, handleSetCountryByIso2, onCloseComplete } from '../../../app/settings';
64
64
  import { BRAND_STEP_NAMES, EXPECTED_SALES_LIST } from '../../../constants';
65
- import { hasNoneEditableValue, isKW, isTwitter, isWebsite, mapSalesChannel, retrieveIndividualData, sleep } from '../../../utils';
65
+ import { hasNoneEditableValue, isKW, isTwitter, isWebsite, mapSalesChannel, retrieveIndividualData, sendCustomEventToGTM, sleep } from '../../../utils';
66
66
  export var verifyLeadToken = createAsyncThunk('brand/verifyLeadToken', function (_a, thunkApi) {
67
67
  var token = _a.token, isInternally = _a.isInternally;
68
68
  return __awaiter(void 0, void 0, void 0, function () {
@@ -294,12 +294,12 @@ export var checkBrandNameAvailability = createAsyncThunk('checkBrandNameAvailabi
294
294
  });
295
295
  });
296
296
  export var updateBrand = createAsyncThunk('brandUpdateBrand', function (_a, thunkApi) {
297
- var formData = _a.formData, originalFormData = _a.originalFormData;
297
+ var formData = _a.formData, originalFormData = _a.originalFormData, isDirty = _a.isDirty;
298
298
  return __awaiter(void 0, void 0, void 0, function () {
299
- var _b, settings, brand, brandRes, _c, id, data_status, isNameENNonEditable, isNameARNonEditable, isChannelServicesNonEditable, salesChannels, brandName, brandLogoId, getAddress, channel_services, brandNameIsEditable, requestBody, _d, brandData, teamSizeList, _e, segmentLocation, segmentProfit, segmentTech;
300
- var _f, _g;
301
- return __generator(this, function (_h) {
302
- switch (_h.label) {
299
+ var _b, settings, brand, brandRes, _c, id, data_status, isNameENNonEditable, isNameARNonEditable, isChannelServicesNonEditable, salesChannels, brandName, brandLogoId, brandData, getAddress, channel_services, brandNameIsEditable, requestBody, brand_1, _d, teamSizeList, _e, segmentLocation, segmentProfit, segmentTech, _f, _g, _h;
300
+ var _j, _k;
301
+ return __generator(this, function (_l) {
302
+ switch (_l.label) {
303
303
  case 0:
304
304
  _b = thunkApi.getState(), settings = _b.settings, brand = _b.brand;
305
305
  brandRes = (brand.data.verify.responseBody || {}).brand;
@@ -308,6 +308,7 @@ export var updateBrand = createAsyncThunk('brandUpdateBrand', function (_a, thun
308
308
  isNameARNonEditable = hasNoneEditableValue(data_status, 'name.ar');
309
309
  isChannelServicesNonEditable = hasNoneEditableValue(data_status, 'channel_services');
310
310
  salesChannels = formData.salesChannels, brandName = formData.brandName, brandLogoId = formData.brandLogoId;
311
+ brandData = brandRes;
311
312
  getAddress = function (value, isTwitter, isWeb) {
312
313
  if (isTwitter)
313
314
  return '@' + value.replaceAll('@', '');
@@ -334,17 +335,23 @@ export var updateBrand = createAsyncThunk('brandUpdateBrand', function (_a, thun
334
335
  ar: !isNameARNonEditable ? brandName : undefined
335
336
  }
336
337
  })), { logo: brandLogoId, channel_services: channel_services });
337
- return [4, Promise.all([
338
- API.brandService.updateBrandInfo(requestBody),
339
- API.dataService.getTeamSize({ page: 0 })
340
- ])];
338
+ if (!isDirty) return [3, 2];
339
+ return [4, API.brandService.updateBrandInfo(requestBody)];
341
340
  case 1:
342
- _d = _h.sent(), brandData = _d[0].brand, teamSizeList = _d[1];
343
- return [4, thunkApi.dispatch(retrieveSegmentDataList()).unwrap()];
341
+ brand_1 = (_l.sent()).brand;
342
+ brandData = brand_1;
343
+ _l.label = 2;
344
344
  case 2:
345
- _e = _h.sent(), segmentLocation = _e.segmentLocation, segmentProfit = _e.segmentProfit, segmentTech = _e.segmentTech;
345
+ _g = (_f = Promise).all;
346
+ _h = [API.dataService.getTeamSize({ page: 0 })];
347
+ return [4, thunkApi.dispatch(retrieveSegmentDataList()).unwrap()];
348
+ case 3: return [4, _g.apply(_f, [_h.concat([
349
+ _l.sent()
350
+ ])])];
351
+ case 4:
352
+ _d = _l.sent(), teamSizeList = _d[0], _e = _d[1], segmentLocation = _e.segmentLocation, segmentProfit = _e.segmentProfit, segmentTech = _e.segmentTech;
346
353
  sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep()); });
347
- (_g = (_f = settings.data.appConfig).onStepCompleted) === null || _g === void 0 ? void 0 : _g.call(_f, settings.data.activeScreen.name, id);
354
+ (_k = (_j = settings.data.appConfig).onStepCompleted) === null || _k === void 0 ? void 0 : _k.call(_j, settings.data.activeScreen.name, id);
348
355
  return [2, {
349
356
  data: __assign({}, brandData),
350
357
  formData: originalFormData,
@@ -358,9 +365,9 @@ export var updateBrand = createAsyncThunk('brandUpdateBrand', function (_a, thun
358
365
  });
359
366
  });
360
367
  export var updateSegmentBrand = createAsyncThunk('brandUpdateBrandSegment', function (_a, thunkApi) {
361
- var formData = _a.formData, originalFormData = _a.originalFormData;
368
+ var formData = _a.formData, originalFormData = _a.originalFormData, isDirty = _a.isDirty;
362
369
  return __awaiter(void 0, void 0, void 0, function () {
363
- var _b, settings, brand, _c, brandRes, entityInfoId, _d, id, data_status, isSegmentLocationNonEditable, isSegmentProfitNonEditable, isSegmentTechNonEditable, isSegmentTeamsNonEditable, segmentLocation, segmentProfit, segmentTech, teamSize, segmentLocationId, segmentProfitId, segmentTechId, teamSizeId, hasSegment, requestBody, entityData, brandData, entity, activityList;
370
+ var _b, settings, brand, _c, brandRes, entityInfoId, _d, id, data_status, isSegmentLocationNonEditable, isSegmentProfitNonEditable, isSegmentTechNonEditable, isSegmentTeamsNonEditable, segmentLocation, segmentProfit, segmentTech, teamSize, segmentLocationId, segmentProfitId, segmentTechId, teamSizeId, hasSegment, requestBody, entityData, brandData, brand_2, entity, activityList;
364
371
  var _e, _f;
365
372
  return __generator(this, function (_g) {
366
373
  switch (_g.label) {
@@ -382,27 +389,32 @@ export var updateSegmentBrand = createAsyncThunk('brandUpdateBrandSegment', func
382
389
  segment: { location_type: segmentLocationId, profit_type: segmentProfitId, tech_type: segmentTechId, team: teamSizeId }
383
390
  }));
384
391
  entityData = undefined;
392
+ brandData = brandRes;
393
+ if (!isDirty) return [3, 2];
385
394
  return [4, API.brandService.updateBrandInfo(requestBody)];
386
395
  case 1:
387
- brandData = (_g.sent()).brand;
388
- if (!entityInfoId) return [3, 3];
389
- return [4, API.entityService.retrieveEntity(entityInfoId)];
396
+ brand_2 = (_g.sent()).brand;
397
+ brandData = brand_2;
398
+ _g.label = 2;
390
399
  case 2:
400
+ if (!entityInfoId) return [3, 4];
401
+ return [4, API.entityService.retrieveEntity(entityInfoId)];
402
+ case 3:
391
403
  entity = (_g.sent()).entity;
392
404
  entityData = entity;
393
- _g.label = 3;
394
- case 3:
405
+ _g.label = 4;
406
+ case 4:
395
407
  if (entityData === null || entityData === void 0 ? void 0 : entityData.activities) {
396
408
  entityData = __assign(__assign({}, entityData), { entity_activities: entityData.activities });
397
409
  }
398
- if (!!(entityData === null || entityData === void 0 ? void 0 : entityData.activities)) return [3, 5];
410
+ if (!!(entityData === null || entityData === void 0 ? void 0 : entityData.activities)) return [3, 6];
399
411
  return [4, API.dataService.getActivities()];
400
- case 4:
412
+ case 5:
401
413
  activityList = (_g.sent()).list;
402
414
  entityData = __assign(__assign({}, entityData), { entity_activities: activityList });
403
- _g.label = 5;
404
- case 5: return [4, thunkApi.dispatch(retrieveDataList())];
405
- case 6:
415
+ _g.label = 6;
416
+ case 6: return [4, thunkApi.dispatch(retrieveDataList())];
417
+ case 7:
406
418
  _g.sent();
407
419
  sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep()); });
408
420
  (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, id);
@@ -423,9 +435,9 @@ export var retrieveEntityList = createAsyncThunk('retrieveEntityList', function
423
435
  });
424
436
  }); });
425
437
  export var updateBrandActivities = createAsyncThunk('brandUpdateBrandActivities', function (_a, thunkApi) {
426
- var formData = _a.formData, originalFormData = _a.originalFormData;
438
+ var formData = _a.formData, originalFormData = _a.originalFormData, isDirty = _a.isDirty;
427
439
  return __awaiter(void 0, void 0, void 0, function () {
428
- var _b, settings, brand, _c, brandRes, recipient, _d, data_status, id, brandActivities, terms, isActivitiesNonEditable, isCustomerBaseLocationNonEditable, isCustomerBaseNonEditable, isTermsNonEditable, isSalesRangeNonEditable, activities, customerLocations, expectedCustomer, expectedSale, termAndConditionChecked, refundPolicy, transactionPolicy, isTermsUndefined, isAllTermsAgreed, isTermsAvailable, removedActivities, payload, requestBody, customerLocation, customerBaseId, salesId, customerBase, brandData;
440
+ var _b, settings, brand, _c, brandRes, recipient, _d, data_status, id, brandActivities, terms, isActivitiesNonEditable, isCustomerBaseLocationNonEditable, isCustomerBaseNonEditable, isTermsNonEditable, isSalesRangeNonEditable, activities, customerLocations, expectedCustomer, expectedSale, termAndConditionChecked, refundPolicy, transactionPolicy, isTermsUndefined, isAllTermsAgreed, isTermsAvailable, brandData, removedActivities, payload, requestBody, customerLocation, customerBaseId, salesId, customerBase, brand_3;
429
441
  var _e, _f, _g;
430
442
  return __generator(this, function (_h) {
431
443
  switch (_h.label) {
@@ -442,9 +454,10 @@ export var updateBrandActivities = createAsyncThunk('brandUpdateBrandActivities'
442
454
  isTermsUndefined = termAndConditionChecked === undefined && refundPolicy === undefined && transactionPolicy === undefined;
443
455
  isAllTermsAgreed = ((_e = terms === null || terms === void 0 ? void 0 : terms.filter(function (t) { return t === null || t === void 0 ? void 0 : t.agree; })) === null || _e === void 0 ? void 0 : _e.length) === 3;
444
456
  isTermsAvailable = !(isTermsNonEditable && isTermsUndefined) && !isAllTermsAgreed;
457
+ brandData = brandRes;
445
458
  removedActivities = (activities === null || activities === void 0 ? void 0 : activities.length) > 0 &&
446
459
  (brandActivities || []).filter(function (brandActivity) { return !(activities || []).some(function (activity) { return activity.id === brandActivity.id; }); });
447
- if (!(!isActivitiesNonEditable && (removedActivities === null || removedActivities === void 0 ? void 0 : removedActivities.length) > 0)) return [3, 2];
460
+ if (!(!isActivitiesNonEditable && (removedActivities === null || removedActivities === void 0 ? void 0 : removedActivities.length) > 0 && isDirty)) return [3, 2];
448
461
  payload = {
449
462
  id: id,
450
463
  activities: removedActivities.map(function (a) { return ({
@@ -471,9 +484,13 @@ export var updateBrandActivities = createAsyncThunk('brandUpdateBrandActivities'
471
484
  if (salesId && !isSalesRangeNonEditable) {
472
485
  requestBody = __assign(__assign({}, requestBody), { operations: __assign(__assign({}, requestBody.operations), { sales: salesId }) });
473
486
  }
487
+ if (!isDirty) return [3, 4];
474
488
  return [4, API.brandService.updateBrandInfo(requestBody)];
475
489
  case 3:
476
- brandData = (_h.sent()).data;
490
+ brand_3 = (_h.sent()).brand;
491
+ brandData = brand_3;
492
+ _h.label = 4;
493
+ case 4:
477
494
  thunkApi.dispatch(handleNextScreenStep());
478
495
  (_g = (_f = settings.data.appConfig).onStepCompleted) === null || _g === void 0 ? void 0 : _g.call(_f, settings.data.activeScreen.name, id);
479
496
  return [2, { data: __assign({}, brandData), formData: originalFormData }];
@@ -529,6 +546,12 @@ export var updateBoardSuccess = createAsyncThunk('updateBoardBrandSuccess', func
529
546
  return [4, API.boardService.updateBoardInfo(__assign({ id: board_id, infoId: infoId }, payload))];
530
547
  case 1:
531
548
  data = _p.sent();
549
+ sendCustomEventToGTM({
550
+ event: 'Send Event',
551
+ event_category: 'Board Flows - Brand',
552
+ event_action: 'Brand Update Success Page',
553
+ event_label: settings.data.businessCountry.iso2
554
+ });
532
555
  if (!showBoard && mode === 'content') {
533
556
  (_f = (_e = settings.data.appConfig).onStepCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, settings.data.activeScreen.name, {});
534
557
  (_h = (_g = settings.data.appConfig).onFlowCompleted) === null || _h === void 0 ? void 0 : _h.call(_g, { data: data });
@@ -625,18 +648,15 @@ export var brandSlice = createSlice({
625
648
  state.customLoading = true;
626
649
  })
627
650
  .addCase(verifyLeadToken.fulfilled, function (state, action) {
628
- var _a, _b;
651
+ var _a, _b, _c;
629
652
  state.error = null;
630
653
  state.customLoading = false;
631
- var _c = action.payload, data = _c.data, brand = _c.brandData, token = _c.token, salesChannels = _c.salesChannels, entityInfoId = _c.entityInfoId;
654
+ var _d = action.payload, data = _d.data, brand = _d.brandData, token = _d.token, salesChannels = _d.salesChannels, entityInfoId = _d.entityInfoId;
632
655
  state.data.brandData.brandName = (((_a = brand === null || brand === void 0 ? void 0 : brand.name) === null || _a === void 0 ? void 0 : _a.en) || '').trim();
633
- (_b = brand === null || brand === void 0 ? void 0 : brand.terms) === null || _b === void 0 ? void 0 : _b.forEach(function (element) {
634
- if ((element === null || element === void 0 ? void 0 : element.term) === 'general') {
635
- state.data.brandActivities.termAndConditionChecked = element.agree;
636
- state.data.brandActivities.transactionPolicy = element.agree;
637
- state.data.brandActivities.refundPolicy = element.agree;
638
- }
639
- });
656
+ var termFlag = ((_c = (_b = brand === null || brand === void 0 ? void 0 : brand.terms) === null || _b === void 0 ? void 0 : _b.find(function (element) { return (element === null || element === void 0 ? void 0 : element.term) === 'general'; })) === null || _c === void 0 ? void 0 : _c.agree) || false;
657
+ state.data.brandActivities.termAndConditionChecked = termFlag;
658
+ state.data.brandActivities.transactionPolicy = termFlag;
659
+ state.data.brandActivities.refundPolicy = termFlag;
640
660
  var mappedSalesChannels = mapSalesChannel((brand === null || brand === void 0 ? void 0 : brand.channel_services) || []);
641
661
  state.data.brandData.salesChannels = mappedSalesChannels;
642
662
  state.data.verify.responseBody = __assign(__assign(__assign({}, data), state.data.verify.responseBody), { brand: brand, board_id: data.id, channel_list: (salesChannels === null || salesChannels === void 0 ? void 0 : salesChannels.list) || [], salesChannels: mappedSalesChannels, entityInfoId: entityInfoId });
@@ -662,22 +682,19 @@ export var brandSlice = createSlice({
662
682
  state.error = null;
663
683
  })
664
684
  .addCase(verifyBrandLeadOTP.fulfilled, function (state, action) {
665
- var _a, _b;
685
+ var _a, _b, _c;
666
686
  state.loading = false;
667
687
  state.error = null;
668
- var _c = action.payload, data = _c.data, brand = _c.brandData, formData = _c.formData, salesChannels = _c.salesChannels, entityInfoId = _c.entityInfoId;
688
+ var _d = action.payload, data = _d.data, brand = _d.brandData, formData = _d.formData, salesChannels = _d.salesChannels, entityInfoId = _d.entityInfoId;
669
689
  state.data.otpData = formData;
670
690
  state.data.otpData.responseBody = data;
671
691
  state.data.brandData.brandName = (((_a = brand === null || brand === void 0 ? void 0 : brand.name) === null || _a === void 0 ? void 0 : _a.en) || '').trim();
672
692
  var mappedSalesChannels = mapSalesChannel((brand === null || brand === void 0 ? void 0 : brand.channel_services) || []);
673
693
  state.data.brandData.salesChannels = mappedSalesChannels;
674
- (_b = brand === null || brand === void 0 ? void 0 : brand.terms) === null || _b === void 0 ? void 0 : _b.forEach(function (element) {
675
- if ((element === null || element === void 0 ? void 0 : element.term) === 'general') {
676
- state.data.brandActivities.termAndConditionChecked = element.agree;
677
- state.data.brandActivities.transactionPolicy = element.agree;
678
- state.data.brandActivities.refundPolicy = element.agree;
679
- }
680
- });
694
+ var termFlag = ((_c = (_b = brand === null || brand === void 0 ? void 0 : brand.terms) === null || _b === void 0 ? void 0 : _b.find(function (element) { return (element === null || element === void 0 ? void 0 : element.term) === 'general'; })) === null || _c === void 0 ? void 0 : _c.agree) || false;
695
+ state.data.brandActivities.termAndConditionChecked = termFlag;
696
+ state.data.brandActivities.transactionPolicy = termFlag;
697
+ state.data.brandActivities.refundPolicy = termFlag;
681
698
  state.data.verify.responseBody = __assign(__assign(__assign({}, data), state.data.verify.responseBody), { brand: brand, board_id: data.id, channel_list: (salesChannels === null || salesChannels === void 0 ? void 0 : salesChannels.list) || [], salesChannels: mappedSalesChannels, entityInfoId: entityInfoId });
682
699
  })
683
700
  .addCase(verifyBrandLeadOTP.rejected, function (state, action) {
@@ -707,27 +724,32 @@ export var brandSlice = createSlice({
707
724
  var _a = action.payload, data = _a.data, formData = _a.formData, segmentLocationList = _a.segmentLocationList, segmentProfitList = _a.segmentProfitList, segmentTechList = _a.segmentTechList, teamSizeList = _a.teamSizeList;
708
725
  var segment = data.segment;
709
726
  state.data.brandData = formData;
710
- var selectedSegmentLocation = segmentLocationList === null || segmentLocationList === void 0 ? void 0 : segmentLocationList.find(function (location) {
727
+ var selectedSegmentLocation = (segmentLocationList === null || segmentLocationList === void 0 ? void 0 : segmentLocationList.find(function (location) {
711
728
  var _a;
712
729
  return location.id === ((_a = segment === null || segment === void 0 ? void 0 : segment.location_type) === null || _a === void 0 ? void 0 : _a.id);
713
- });
714
- var selectedSegmentProfit = segmentProfitList === null || segmentProfitList === void 0 ? void 0 : segmentProfitList.find(function (profit) {
730
+ })) || (segmentLocationList === null || segmentLocationList === void 0 ? void 0 : segmentLocationList[0]);
731
+ var selectedSegmentProfit = (segmentProfitList === null || segmentProfitList === void 0 ? void 0 : segmentProfitList.find(function (profit) {
715
732
  var _a;
716
733
  return profit.id === ((_a = segment === null || segment === void 0 ? void 0 : segment.profit_type) === null || _a === void 0 ? void 0 : _a.id);
717
- });
718
- var selectedSegmentTech = segmentTechList === null || segmentTechList === void 0 ? void 0 : segmentTechList.find(function (tech) {
734
+ })) || (segmentProfitList === null || segmentProfitList === void 0 ? void 0 : segmentProfitList[0]);
735
+ var selectedSegmentTech = (segmentTechList === null || segmentTechList === void 0 ? void 0 : segmentTechList.find(function (tech) {
719
736
  var _a;
720
737
  return tech.id === ((_a = segment === null || segment === void 0 ? void 0 : segment.tech_type) === null || _a === void 0 ? void 0 : _a.id);
721
- });
738
+ })) || (segmentTechList === null || segmentTechList === void 0 ? void 0 : segmentTechList[1]);
722
739
  var selectedTeamSize = teamSizeList === null || teamSizeList === void 0 ? void 0 : teamSizeList.find(function (team) {
723
740
  var _a;
724
741
  return team.id === ((_a = segment === null || segment === void 0 ? void 0 : segment.team) === null || _a === void 0 ? void 0 : _a.id);
725
742
  });
726
- state.data.brandSegmentData.segmentLocation = selectedSegmentLocation || (segmentLocationList === null || segmentLocationList === void 0 ? void 0 : segmentLocationList[0]);
727
- state.data.brandSegmentData.segmentProfit = selectedSegmentProfit || (segmentProfitList === null || segmentProfitList === void 0 ? void 0 : segmentProfitList[0]);
728
- state.data.brandSegmentData.segmentTech = selectedSegmentTech || (segmentTechList === null || segmentTechList === void 0 ? void 0 : segmentTechList[1]);
743
+ state.data.brandSegmentData.segmentLocation = selectedSegmentLocation;
744
+ state.data.brandSegmentData.segmentProfit = selectedSegmentProfit;
745
+ state.data.brandSegmentData.segmentTech = selectedSegmentTech;
729
746
  state.data.brandSegmentData.teamSize = selectedTeamSize;
730
- state.data.verify.responseBody = __assign(__assign({}, state.data.verify.responseBody), { teamSizeList: teamSizeList, segmentLocationList: segmentLocationList, segmentProfitList: segmentProfitList, segmentTechList: segmentTechList });
747
+ state.data.verify.responseBody = __assign(__assign({}, state.data.verify.responseBody), { brand: data, teamSizeList: teamSizeList, segmentLocationList: segmentLocationList, segmentProfitList: segmentProfitList, segmentTechList: segmentTechList, segmentDefaultValues: {
748
+ segmentLocation: selectedSegmentLocation,
749
+ segmentProfit: selectedSegmentProfit,
750
+ segmentTech: selectedSegmentTech,
751
+ teamSize: selectedTeamSize
752
+ } });
731
753
  })
732
754
  .addCase(updateBrand.rejected, function (state, action) {
733
755
  state.loading = false;
@@ -738,9 +760,10 @@ export var brandSlice = createSlice({
738
760
  state.error = null;
739
761
  })
740
762
  .addCase(updateSegmentBrand.fulfilled, function (state, action) {
763
+ var _a;
741
764
  state.loading = false;
742
765
  state.error = null;
743
- var _a = action.payload, data = _a.data, entityData = _a.entityData, formData = _a.formData;
766
+ var _b = action.payload, data = _b.data, entityData = _b.entityData, formData = _b.formData;
744
767
  var activities = data.activities, operations = data.operations, terms = data.terms;
745
768
  var entity_activities = (entityData || {}).entity_activities;
746
769
  var selectedActivity = entity_activities === null || entity_activities === void 0 ? void 0 : entity_activities.filter(function (activity) {
@@ -748,22 +771,27 @@ export var brandSlice = createSlice({
748
771
  });
749
772
  state.data.brandSegmentData = formData;
750
773
  state.data.brandActivities.activities = (selectedActivity === null || selectedActivity === void 0 ? void 0 : selectedActivity.length) > 0 ? selectedActivity : [];
751
- var _b = operations || {}, customer_base = _b.customer_base, sales = _b.sales;
752
- var _c = customer_base || {}, locations = _c.locations, customerBase = __rest(_c, ["locations"]);
774
+ var _c = operations || {}, customer_base = _c.customer_base, sales = _c.sales;
775
+ var _d = customer_base || {}, locations = _d.locations, customerBase = __rest(_d, ["locations"]);
753
776
  if (locations && locations.length)
754
777
  state.data.brandActivities.customerLocations = locations;
755
778
  if (!!sales)
756
779
  state.data.brandActivities.expectedSale = sales;
757
780
  if (!!customerBase)
758
781
  state.data.brandActivities.expectedCustomer = customerBase;
759
- terms === null || terms === void 0 ? void 0 : terms.forEach(function (element) {
760
- if ((element === null || element === void 0 ? void 0 : element.term) === 'general') {
761
- state.data.brandActivities.termAndConditionChecked = element.agree;
762
- state.data.brandActivities.transactionPolicy = element.agree;
763
- state.data.brandActivities.refundPolicy = element.agree;
764
- }
765
- });
766
- state.data.verify.responseBody = __assign(__assign(__assign({}, state.data.verify.responseBody), { activities: entity_activities }), (entityData && { entity: entityData }));
782
+ var termFlag = ((_a = terms === null || terms === void 0 ? void 0 : terms.find(function (element) { return (element === null || element === void 0 ? void 0 : element.term) === 'general'; })) === null || _a === void 0 ? void 0 : _a.agree) || false;
783
+ state.data.brandActivities.termAndConditionChecked = termFlag;
784
+ state.data.brandActivities.transactionPolicy = termFlag;
785
+ state.data.brandActivities.refundPolicy = termFlag;
786
+ state.data.verify.responseBody = __assign(__assign(__assign(__assign({}, state.data.verify.responseBody), { activities: entity_activities }), (entityData && { entity: entityData })), { activitiesDefaultValues: {
787
+ activities: selectedActivity,
788
+ customerLocations: locations,
789
+ expectedSale: sales,
790
+ expectedCustomer: customerBase,
791
+ termAndConditionChecked: termFlag,
792
+ transactionPolicy: termFlag,
793
+ refundPolicy: termFlag
794
+ }, segmentDefaultValues: formData });
767
795
  })
768
796
  .addCase(updateSegmentBrand.rejected, function (state, action) {
769
797
  state.loading = false;
@@ -59,7 +59,7 @@ import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
59
59
  import API from '../../../api';
60
60
  import { BusinessType, FlowsTypes, DocumentPurpose, LicenseType } from '../../../@types';
61
61
  import { BUSINESS_STEP_NAMES, EXPECTED_SALES_LIST, IDENTIFICATION_TYPE, OTHER_CR_LICENSE, OTHER_ENTITY_LICENSE, OTHER_FL_LICENSE } from '../../../constants';
62
- import { convertNumbers2English, hasKey, sleep, isKW, isSA, dateFormat, isOtherLicense, isOtherThanKWOrSA, hasNoneEditableValue } from '../../../utils';
62
+ import { convertNumbers2English, hasKey, sleep, isKW, isSA, dateFormat, isOtherLicense, isOtherThanKWOrSA, hasNoneEditableValue, sendCustomEventToGTM } from '../../../utils';
63
63
  import { handleNextScreenStep, handlePublicKey, handleSetCountryByIso2 } from '../../../app/settings';
64
64
  export var verifyLeadToken = createAsyncThunk('businessVerifyLeadToken', function (token, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
65
65
  var payload, data, publicKey, countryIso2, boardData, brandData, isicActivityList, leadData, _a, steps, brand, board_id, business_id, entity, brandID, hasBusinessCompleted, hasBusinessCRInfoCompleted, hasBusinessCRActivitiesCompleted, hasBusinessCustomersCompleted, list, list;
@@ -759,6 +759,12 @@ export var updateLeadSuccess = createAsyncThunk('businessUpdateLeadSuccess', fun
759
759
  return [4, API.leadService.updateLead(payload)];
760
760
  case 1:
761
761
  data = _g.sent();
762
+ sendCustomEventToGTM({
763
+ event: 'Send Event',
764
+ event_category: 'Account Creation Flow',
765
+ event_action: 'Account Creation Success',
766
+ event_label: settings.data.businessCountry.iso2
767
+ });
762
768
  board_id = data === null || data === void 0 ? void 0 : data.board_id;
763
769
  if (!board_id) return [3, 4];
764
770
  return [4, API.boardService.retrieveBoardInfoStatus(board_id)];
@@ -61,7 +61,7 @@ import { FlowsTypes, AuthForType, BusinessType, LicenseType } from '../../../@ty
61
61
  import API from '../../../api';
62
62
  import { ADD_NEW_ENTITY, CONNECT_EXPRESS_STEP_NAMES, IDENTIFICATION_TYPE, OTHER_CR_LICENSE, OTHER_FL_LICENSE, SCOPE_AUTH } from '../../../constants';
63
63
  import { defaultCountry } from '../../../constants';
64
- import { getIndividualName, capitalizeTheFirstLetterOfEachWord, sleep, findCountryByIddPrefix, concatenateObjectValues, isSA, isKW, isOtherThanKWOrSA } from '../../../utils';
64
+ import { getIndividualName, capitalizeTheFirstLetterOfEachWord, sleep, findCountryByIddPrefix, concatenateObjectValues, isSA, isKW, isOtherThanKWOrSA, sendCustomEventToGTM } from '../../../utils';
65
65
  export var updateBusinessCountryAsync = createAsyncThunk('connectExpress/updateBusinessCountryAsync', function (countryCode, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
66
66
  var connectExpress, payload, data;
67
67
  return __generator(this, function (_a) {
@@ -909,6 +909,13 @@ export var createAccountAsync = createAsyncThunk('connectExpress/createAccountAs
909
909
  accountData = _v.sent();
910
910
  _v.label = 4;
911
911
  case 4:
912
+ sendCustomEventToGTM({
913
+ event: 'Send Event',
914
+ event_category: 'User Registration Flow',
915
+ event_action: 'Registration Completed',
916
+ event_label: 'Product Type',
917
+ event_value: leadId
918
+ });
912
919
  (_m = (_l = settings.data.appConfig).onCreated) === null || _m === void 0 ? void 0 : _m.call(_l, accountData);
913
920
  (_p = (_o = settings.data.appConfig).onFlowCompleted) === null || _p === void 0 ? void 0 : _p.call(_o, accountData);
914
921
  (_r = (_q = settings.data.appConfig).onStepCompleted) === null || _r === void 0 ? void 0 : _r.call(_q, settings.data.activeScreen.name, accountData);
@@ -74,7 +74,11 @@ export declare const retrieveBoardDetails: import("@reduxjs/toolkit").AsyncThunk
74
74
  rejectedMeta?: unknown;
75
75
  }>;
76
76
  export declare const updateEntityName: import("@reduxjs/toolkit").AsyncThunk<{
77
- data: any;
77
+ data: {
78
+ entity: any;
79
+ documentData: any;
80
+ activityList: any;
81
+ };
78
82
  formData: EntityNameFormValues;
79
83
  }, AsyncThunkParams<EntityNameFormValues>, {
80
84
  state?: unknown;