@tap-payments/auth-jsconnect 2.6.12-test → 2.6.16-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/@types/app.d.ts +2 -1
- package/build/@types/app.js +1 -0
- package/build/app/settings.js +2 -5
- package/build/constants/app.js +11 -5
- package/build/constants/dummy.d.ts +45 -0
- package/build/constants/dummy.js +330 -0
- package/build/features/app/brand/brandStore.js +2 -2
- package/build/features/app/business/businessStore.d.ts +9 -2
- package/build/features/app/business/businessStore.js +42 -23
- package/build/features/app/connectExpress/connectExpressStore.d.ts +2 -1
- package/build/features/app/connectExpress/connectExpressStore.js +38 -14
- package/build/features/app/individual/individualStore.js +5 -5
- package/build/features/business/screens/BusinessType/BusinessType.js +13 -5
- package/build/features/business/screens/BusinessType/EntityName.js +3 -3
- package/build/features/business/screens/BusinessType/LicenseList.js +3 -3
- package/build/features/business/screens/BusinessType/LicenseNumber.js +9 -8
- package/build/features/business/screens/BusinessType/validation.d.ts +10 -0
- package/build/features/business/screens/BusinessType/validation.js +16 -0
- package/build/features/business/screens/IDBOD/ID.js +6 -2
- package/build/features/business/screens/IDBOD/IDBOD.js +8 -17
- package/build/features/business/screens/IDBOD/validation.d.ts +10 -0
- package/build/features/business/screens/IDBOD/validation.js +4 -0
- package/build/features/connect/Connect.js +14 -18
- package/build/features/connect/screens/Mobile/Mobile.js +7 -6
- package/build/features/connect/screens/Mobile/MobileNumber.js +9 -6
- package/build/features/connectExpress/ConnectExpress.js +10 -4
- package/build/features/connectExpress/screens/CollectBusinessInfo/CollectBusinessInfo.js +12 -4
- package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseList.js +6 -6
- package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseNumber.js +8 -7
- package/build/features/connectExpress/screens/CollectBusinessInfo/validation.d.ts +13 -0
- package/build/features/connectExpress/screens/CollectBusinessInfo/validation.js +67 -0
- package/build/features/connectExpress/screens/CollectIndividualInfo/CollectIndividualInfo.js +4 -0
- package/build/features/connectExpress/screens/IdentityOTP/OTP.js +1 -1
- package/build/features/connectExpress/screens/IdentityOTP/OTPInput.js +1 -1
- package/build/features/connectExpress/screens/Mobile/Mobile.js +2 -2
- package/build/features/connectExpress/screens/Mobile/MobileNumber.js +9 -6
- package/build/features/connectExpress/screens/NIDMissed/IDNumber.js +6 -2
- package/build/features/connectExpress/screens/NIDMissed/NID.js +6 -4
- package/build/features/connectExpress/screens/NIDMissed/validation.d.ts +10 -0
- package/build/features/connectExpress/screens/NIDMissed/validation.js +4 -0
- package/build/features/entity/screens/EntityName/EntityName.js +11 -4
- package/build/features/entity/screens/EntityName/LicenseNumber.js +5 -4
- package/build/features/entity/screens/EntityName/validation.d.ts +28 -0
- package/build/features/entity/screens/EntityName/validation.js +38 -0
- package/build/features/individual/screens/AdditionalIndividualInfo/AdditionalIndividualInfo.js +4 -4
- package/build/features/individual/screens/AdditionalIndividualInfo/validation.d.ts +1 -1
- package/build/features/individual/screens/AdditionalIndividualInfo/validation.js +2 -2
- package/build/features/shared/SuccessScreen/SuccessScreen.js +1 -1
- package/build/hooks/useCountry.d.ts +1 -0
- package/build/hooks/useCountry.js +4 -3
- package/build/utils/string.d.ts +1 -0
- package/build/utils/string.js +3 -0
- package/package.json +1 -1
|
@@ -58,8 +58,8 @@ var _a;
|
|
|
58
58
|
import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
|
59
59
|
import API from '../../../api';
|
|
60
60
|
import { BusinessType, FlowsTypes, DocumentPurpose, LicenseType } from '../../../@types';
|
|
61
|
-
import { BUSINESS_STEP_NAMES, IDENTIFICATION_TYPE, OTHER_CR_LICENSE, OTHER_ENTITY_LICENSE, OTHER_FL_LICENSE } from '../../../constants';
|
|
62
|
-
import { convertNumbers2English, hasKey, sleep, isKW, isSA, dateFormat, isOtherLicense } from '../../../utils';
|
|
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 } 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 settings, payload, data, publicKey, countryIso2, boardData, brandData, currencyData, isicActivityList, leadData, _a, steps, brand, board_id, business_id, entity, brandID, hasBusinessCompleted, hasBusinessCRInfoCompleted, hasBusinessCRActivitiesCompleted, hasBusinessCustomersCompleted, list, list;
|
|
@@ -98,7 +98,7 @@ export var verifyLeadToken = createAsyncThunk('businessVerifyLeadToken', functio
|
|
|
98
98
|
if (data.step_name === BUSINESS_STEP_NAMES.IDENTITY_AUTH && isKW(countryIso2)) {
|
|
99
99
|
thunkApi.dispatch(handleNextScreenStep('BUSINESS_CIVIL_ID_STEP'));
|
|
100
100
|
}
|
|
101
|
-
if (data.step_name === BUSINESS_STEP_NAMES.IDENTITY_AUTH &&
|
|
101
|
+
if (data.step_name === BUSINESS_STEP_NAMES.IDENTITY_AUTH && (isSA(countryIso2) || isOtherThanKWOrSA(countryIso2))) {
|
|
102
102
|
thunkApi.dispatch(handleNextScreenStep('BUSINESS_IDBOD_STEP'));
|
|
103
103
|
}
|
|
104
104
|
if (!(data.step_name === BUSINESS_STEP_NAMES.BUSINESS_INFO)) return [3, 20];
|
|
@@ -389,7 +389,7 @@ export var createCivilIdAuth = createAsyncThunk('createCivilIdAuth', function (p
|
|
|
389
389
|
});
|
|
390
390
|
}); });
|
|
391
391
|
export var updateLeadIdentity = createAsyncThunk('updateLeadIdentity', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
392
|
-
var _a, settings, business, identification_id_type, stepName, lead_id, requestBody, data;
|
|
392
|
+
var _a, settings, business, identification_id_type, stepName, lead_id, countryIso2, requestBody, data, business_id, entity, screen;
|
|
393
393
|
var _b, _c;
|
|
394
394
|
return __generator(this, function (_d) {
|
|
395
395
|
switch (_d.label) {
|
|
@@ -398,11 +398,15 @@ export var updateLeadIdentity = createAsyncThunk('updateLeadIdentity', function
|
|
|
398
398
|
identification_id_type = params.nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
|
|
399
399
|
stepName = BUSINESS_STEP_NAMES.IDENTITY_AUTH;
|
|
400
400
|
lead_id = (business.data.verify.responseBody || {}).lead_id;
|
|
401
|
+
countryIso2 = settings.data.businessCountry.iso2;
|
|
402
|
+
if (isOtherThanKWOrSA(countryIso2)) {
|
|
403
|
+
identification_id_type = IDENTIFICATION_TYPE.NID;
|
|
404
|
+
}
|
|
401
405
|
requestBody = {
|
|
402
406
|
id: lead_id || '',
|
|
403
407
|
identification: {
|
|
404
408
|
id: params.nid,
|
|
405
|
-
issued_country_code:
|
|
409
|
+
issued_country_code: countryIso2,
|
|
406
410
|
type: identification_id_type
|
|
407
411
|
},
|
|
408
412
|
date_of_birth: params.dob,
|
|
@@ -412,7 +416,20 @@ export var updateLeadIdentity = createAsyncThunk('updateLeadIdentity', function
|
|
|
412
416
|
return [4, API.leadService.updateLead(requestBody)];
|
|
413
417
|
case 1:
|
|
414
418
|
data = _d.sent();
|
|
415
|
-
|
|
419
|
+
business_id = data.business_id, entity = data.entity;
|
|
420
|
+
screen = 'BUSINESS_OTP_STEP';
|
|
421
|
+
if (!isOtherThanKWOrSA(countryIso2)) return [3, 4];
|
|
422
|
+
screen = 'BUSINESS_BUSINESS_TYPE_STEP';
|
|
423
|
+
return [4, thunkApi.dispatch(retrieveAllEntityList({ businessId: business_id, entityId: entity === null || entity === void 0 ? void 0 : entity.id }))];
|
|
424
|
+
case 2:
|
|
425
|
+
_d.sent();
|
|
426
|
+
if (!isSA(countryIso2)) return [3, 4];
|
|
427
|
+
return [4, thunkApi.dispatch(retrieveEntityList({ leadId: data === null || data === void 0 ? void 0 : data.id }))];
|
|
428
|
+
case 3:
|
|
429
|
+
_d.sent();
|
|
430
|
+
_d.label = 4;
|
|
431
|
+
case 4:
|
|
432
|
+
thunkApi.dispatch(handleNextScreenStep(screen));
|
|
416
433
|
(_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, requestBody);
|
|
417
434
|
return [2, { data: data, formData: __assign(__assign({}, params), { type: identification_id_type }) }];
|
|
418
435
|
}
|
|
@@ -484,24 +501,24 @@ export var retrieveBoardDetails = createAsyncThunk('retrieveBoardDetails', funct
|
|
|
484
501
|
});
|
|
485
502
|
}); });
|
|
486
503
|
export var updateLeadBusinessType = createAsyncThunk('updateLeadBusinessType', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
487
|
-
var _a, settings, business,
|
|
504
|
+
var _a, settings, business, isKWCountry, selectedLicense, licenseNumber, entityLegalName, certificateId, articleId, selectedEntityLicense, isFL, _b, lead_id, brand, stepName, payload, data, accountBody, accountData, brandData, brandRes, _c, message, error, list, documentData, entityData, entityId, documentBody, payload_1;
|
|
488
505
|
var _d, _e;
|
|
489
506
|
return __generator(this, function (_f) {
|
|
490
507
|
switch (_f.label) {
|
|
491
508
|
case 0:
|
|
492
509
|
_a = thunkApi.getState(), settings = _a.settings, business = _a.business;
|
|
493
|
-
|
|
510
|
+
isKWCountry = isKW(settings.data.businessCountry.iso2);
|
|
494
511
|
selectedLicense = params.selectedLicense, licenseNumber = params.licenseNumber, entityLegalName = params.entityLegalName, certificateId = params.certificateId, articleId = params.articleId, selectedEntityLicense = params.selectedEntityLicense;
|
|
495
512
|
isFL = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.FL;
|
|
496
513
|
_b = business.data.verify.responseBody || {}, lead_id = _b.lead_id, brand = _b.brand;
|
|
497
514
|
stepName = 'BUSINESS_ACTIVITIES_STEP';
|
|
498
515
|
payload = __assign(__assign(__assign(__assign({ id: lead_id || '', entity: {
|
|
499
|
-
id: (selectedEntityLicense === null || selectedEntityLicense === void 0 ? void 0 : selectedEntityLicense.id) && (
|
|
516
|
+
id: (selectedEntityLicense === null || selectedEntityLicense === void 0 ? void 0 : selectedEntityLicense.id) && (isKWCountry ? !isFL : true) ? selectedEntityLicense === null || selectedEntityLicense === void 0 ? void 0 : selectedEntityLicense.id : ''
|
|
500
517
|
} }, (!(selectedEntityLicense === null || selectedEntityLicense === void 0 ? void 0 : selectedEntityLicense.id) && {
|
|
501
|
-
license_number:
|
|
518
|
+
license_number: isKWCountry && isFL ? '' : licenseNumber,
|
|
502
519
|
license_type: isFL ? LicenseType.FL : LicenseType.CR,
|
|
503
520
|
business_type: selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type
|
|
504
|
-
})), { step_name: BUSINESS_STEP_NAMES.BUSINESS_CR_INFO }), (
|
|
521
|
+
})), { step_name: BUSINESS_STEP_NAMES.BUSINESS_CR_INFO }), (isKWCountry && {
|
|
505
522
|
business_name: isFL ? undefined : { ar: entityLegalName, en: entityLegalName }
|
|
506
523
|
})), { encryption_contract: ['license_number', 'business_type', 'license_type'] });
|
|
507
524
|
return [4, API.leadService.updateLead(payload)];
|
|
@@ -630,7 +647,7 @@ export var updateActivitiesInfo = createAsyncThunk('updateActivitiesInfo', funct
|
|
|
630
647
|
thunkApi.dispatch(updateStepName(stepName));
|
|
631
648
|
thunkApi.dispatch(handleNextScreenStep());
|
|
632
649
|
(_e = (_d = settings.data.appConfig).onStepCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, settings.data.activeScreen.name, requestBody);
|
|
633
|
-
return [2,
|
|
650
|
+
return [2, { data: data === null || data === void 0 ? void 0 : data.brand, formData: __assign({}, params), currencyData: currencyData }];
|
|
634
651
|
}
|
|
635
652
|
});
|
|
636
653
|
}); });
|
|
@@ -657,7 +674,7 @@ export var retrieveDataList = createAsyncThunk('businessRetrieveDataList', funct
|
|
|
657
674
|
_a = _b.sent(), customerBases = _a[0].list, expectedSales = _a[1].list, expectedCustomerSales = _a[2].list;
|
|
658
675
|
return [2, {
|
|
659
676
|
customerBases: customerBases,
|
|
660
|
-
expectedSales: expectedSales,
|
|
677
|
+
expectedSales: (expectedSales === null || expectedSales === void 0 ? void 0 : expectedSales.length) ? expectedSales : EXPECTED_SALES_LIST,
|
|
661
678
|
expectedCustomerSales: expectedCustomerSales,
|
|
662
679
|
countryISO2: countryISO2
|
|
663
680
|
}];
|
|
@@ -830,10 +847,10 @@ export var businessSlice = createSlice({
|
|
|
830
847
|
state.customLoading = true;
|
|
831
848
|
})
|
|
832
849
|
.addCase(verifyLeadToken.fulfilled, function (state, action) {
|
|
833
|
-
var _a, _b, _c;
|
|
850
|
+
var _a, _b, _c, _d, _e, _f;
|
|
834
851
|
state.error = null;
|
|
835
852
|
state.customLoading = false;
|
|
836
|
-
var
|
|
853
|
+
var _g = action.payload, data = _g.data, boardId = _g.boardId, brandData = _g.brandData, leadData = _g.leadData, token = _g.token, isRequireOTP = _g.isRequireOTP, isicActivityList = _g.isicActivityList, currencyData = _g.currencyData;
|
|
837
854
|
var responseBody = state.data.verify.responseBody;
|
|
838
855
|
state.data.verify.responseBody = __assign(__assign(__assign(__assign(__assign({}, data), leadData), responseBody), { board_id: boardId, lead_id: data === null || data === void 0 ? void 0 : data.id }), (brandData && { brand: brandData }));
|
|
839
856
|
if (token)
|
|
@@ -841,13 +858,13 @@ export var businessSlice = createSlice({
|
|
|
841
858
|
state.data.otpData.isNID = false;
|
|
842
859
|
if (isRequireOTP)
|
|
843
860
|
return;
|
|
844
|
-
var
|
|
861
|
+
var _h = state.data.verify.responseBody || {}, entity = _h.entity, entity_activities = _h.entity_activities, business_name = _h.business_name;
|
|
845
862
|
if (business_name === null || business_name === void 0 ? void 0 : business_name.en)
|
|
846
863
|
state.data.businessTypeData.entityLegalName = business_name === null || business_name === void 0 ? void 0 : business_name.en;
|
|
847
864
|
var issuingDate = ((_a = brandData === null || brandData === void 0 ? void 0 : brandData.operations) === null || _a === void 0 ? void 0 : _a.start_date) || ((_b = entity === null || entity === void 0 ? void 0 : entity.license) === null || _b === void 0 ? void 0 : _b.issuing_date);
|
|
848
865
|
if (issuingDate)
|
|
849
866
|
state.data.activitiesData.operationStartDate = convertNumbers2English(dateFormat(issuingDate));
|
|
850
|
-
var
|
|
867
|
+
var _j = brandData || {}, terms = _j.terms, activities = _j.activities;
|
|
851
868
|
var entityActivities = (entity_activities === null || entity_activities === void 0 ? void 0 : entity_activities.filter(function (activity) {
|
|
852
869
|
return !(activities === null || activities === void 0 ? void 0 : activities.some(function (value) { return value.id === activity.id; }));
|
|
853
870
|
})) || [];
|
|
@@ -861,7 +878,8 @@ export var businessSlice = createSlice({
|
|
|
861
878
|
if ((_c = currencyData === null || currencyData === void 0 ? void 0 : currencyData.code) === null || _c === void 0 ? void 0 : _c.english)
|
|
862
879
|
state.data.currency = currencyData.code.english;
|
|
863
880
|
state.data.activitiesData.activities = selectedActivity;
|
|
864
|
-
|
|
881
|
+
var licenseList = [OTHER_CR_LICENSE, OTHER_FL_LICENSE];
|
|
882
|
+
state.data.businessTypeData.responseBody = __assign(__assign(__assign({}, state.data.businessTypeData.responseBody), { entity_id: entity === null || entity === void 0 ? void 0 : entity.id, activityList: isicActivityList }), (!((_f = (_e = (_d = state.data.businessTypeData) === null || _d === void 0 ? void 0 : _d.responseBody) === null || _e === void 0 ? void 0 : _e.licenseList) === null || _f === void 0 ? void 0 : _f.length) && { licenseList: licenseList }));
|
|
865
883
|
})
|
|
866
884
|
.addCase(verifyLeadToken.rejected, function (state, action) {
|
|
867
885
|
state.error = action.error.message;
|
|
@@ -889,22 +907,22 @@ export var businessSlice = createSlice({
|
|
|
889
907
|
state.error = null;
|
|
890
908
|
})
|
|
891
909
|
.addCase(verifyLeadOTP.fulfilled, function (state, action) {
|
|
892
|
-
var _a, _b, _c;
|
|
910
|
+
var _a, _b, _c, _d, _e, _f;
|
|
893
911
|
state.loading = false;
|
|
894
912
|
state.error = null;
|
|
895
|
-
var
|
|
913
|
+
var _g = action.payload, data = _g.data, formData = _g.formData, brand = _g.brand, leadData = _g.leadData, isicActivityList = _g.isicActivityList, currencyData = _g.currencyData;
|
|
896
914
|
state.data.otpData = formData;
|
|
897
915
|
state.data.otpData.responseBody = data;
|
|
898
916
|
if ((_a = currencyData === null || currencyData === void 0 ? void 0 : currencyData.code) === null || _a === void 0 ? void 0 : _a.english)
|
|
899
917
|
state.data.currency = currencyData.code.english;
|
|
900
918
|
state.data.verify.responseBody = __assign(__assign(__assign(__assign({}, leadData), state.data.verify.responseBody), (brand && { brand: brand })), { flows: (leadData === null || leadData === void 0 ? void 0 : leadData.flows) || [] });
|
|
901
|
-
var
|
|
919
|
+
var _h = leadData || {}, entity = _h.entity, entity_activities = _h.entity_activities, business_name = _h.business_name;
|
|
902
920
|
if (business_name === null || business_name === void 0 ? void 0 : business_name.en)
|
|
903
921
|
state.data.businessTypeData.entityLegalName = business_name === null || business_name === void 0 ? void 0 : business_name.en;
|
|
904
922
|
var issuingDate = ((_b = brand === null || brand === void 0 ? void 0 : brand.operations) === null || _b === void 0 ? void 0 : _b.start_date) || ((_c = entity === null || entity === void 0 ? void 0 : entity.license) === null || _c === void 0 ? void 0 : _c.issuing_date);
|
|
905
923
|
if (issuingDate)
|
|
906
924
|
state.data.activitiesData.operationStartDate = convertNumbers2English(dateFormat(issuingDate));
|
|
907
|
-
var
|
|
925
|
+
var _j = brand || {}, terms = _j.terms, activities = _j.activities;
|
|
908
926
|
var entityActivities = (entity_activities === null || entity_activities === void 0 ? void 0 : entity_activities.filter(function (activity) {
|
|
909
927
|
return !(activities === null || activities === void 0 ? void 0 : activities.some(function (value) { return value.id === activity.id; }));
|
|
910
928
|
})) || [];
|
|
@@ -916,7 +934,8 @@ export var businessSlice = createSlice({
|
|
|
916
934
|
}
|
|
917
935
|
});
|
|
918
936
|
state.data.activitiesData.activities = selectedActivity;
|
|
919
|
-
|
|
937
|
+
var licenseList = [OTHER_CR_LICENSE, OTHER_FL_LICENSE];
|
|
938
|
+
state.data.businessTypeData.responseBody = __assign(__assign(__assign({}, state.data.businessTypeData.responseBody), { entity_id: entity === null || entity === void 0 ? void 0 : entity.id, activityList: isicActivityList }), (!((_f = (_e = (_d = state.data.businessTypeData) === null || _d === void 0 ? void 0 : _d.responseBody) === null || _e === void 0 ? void 0 : _e.licenseList) === null || _f === void 0 ? void 0 : _f.length) && { licenseList: licenseList }));
|
|
920
939
|
})
|
|
921
940
|
.addCase(verifyLeadOTP.rejected, function (state, action) {
|
|
922
941
|
state.loading = false;
|
|
@@ -134,12 +134,13 @@ export declare const connectSlice: import("@reduxjs/toolkit").Slice<ConnectExpre
|
|
|
134
134
|
stopLoader: (state: ConnectExpressState) => void;
|
|
135
135
|
resetMobileScreen: (state: ConnectExpressState, action: ActionState<CountryCode>) => void;
|
|
136
136
|
resetNIDScreen: (state: ConnectExpressState) => void;
|
|
137
|
+
setDefaultCountryCode: (state: ConnectExpressState, action: ActionState<CountryCode>) => void;
|
|
137
138
|
resetCivilScreen: (state: ConnectExpressState) => void;
|
|
138
139
|
resetOTPValue: (state: ConnectExpressState) => void;
|
|
139
140
|
resetStore: (state: ConnectExpressState) => void;
|
|
140
141
|
resetIndividualScreen: (state: ConnectExpressState) => void;
|
|
141
142
|
}, "connectExpress/store">;
|
|
142
|
-
export declare const clearError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, stopLoader: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setIsLeadIdPassed: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, resetMobileScreen: import("@reduxjs/toolkit").ActionCreatorWithPayload<CountryCode, string>, resetOTPValue: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetNIDScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCivilScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetStore: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setError: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, setLeadId: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, setShowBoard: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, resetIndividualScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>;
|
|
143
|
+
export declare const clearError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, stopLoader: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setIsLeadIdPassed: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, resetMobileScreen: import("@reduxjs/toolkit").ActionCreatorWithPayload<CountryCode, string>, resetOTPValue: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetNIDScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetCivilScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, resetStore: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setError: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, setLeadId: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, string>, setShowBoard: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, string>, resetIndividualScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<string>, setDefaultCountryCode: import("@reduxjs/toolkit").ActionCreatorWithPayload<CountryCode, string>;
|
|
143
144
|
declare const _default: import("redux").Reducer<ConnectExpressState, import("redux").AnyAction>;
|
|
144
145
|
export default _default;
|
|
145
146
|
export declare const connectExpressSelector: (state: RootState) => ConnectExpressState;
|
|
@@ -61,7 +61,7 @@ import { FlowsTypes, AuthForType, BusinessType, LicenseType } from '../../../@ty
|
|
|
61
61
|
import API from '../../../api';
|
|
62
62
|
import { 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 } from '../../../utils';
|
|
64
|
+
import { getIndividualName, capitalizeTheFirstLetterOfEachWord, sleep, findCountryByIddPrefix, concatenateObjectValues, isSA, isKW, isOtherThanKWOrSA } from '../../../utils';
|
|
65
65
|
export var retrieveLeadIdentityByIdAsync = createAsyncThunk('expressConnect/retrieveLeadIdentityByIdAsync', function (leadId, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
66
66
|
var _a, settings, connectExpress, countryCode, showBoard, data, _b, country_code, contact, phone, status, board_id, board_info_id, isRegistered, _c, boardInfo, boardData, error_1;
|
|
67
67
|
var _d, _e, _f, _g;
|
|
@@ -370,7 +370,7 @@ export var createCivilIdAuthAsync = createAsyncThunk('connectExpress/createCivil
|
|
|
370
370
|
});
|
|
371
371
|
}); });
|
|
372
372
|
export var verifyMobileOtpAsync = createAsyncThunk('connectExpress/verifyMobileOtpAsync', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
373
|
-
var _a, settings, connectExpress, _b, responseData, leadId, isLeadIdPassed, mobileData, _c, auth_token, device_token, service_name, _d, scope, redirectUrl, authData, isScopeAuthentication, bi, isDataHasOperator, payload, data, authId, urlQueryStart, _e, brandList, entityList,
|
|
373
|
+
var _a, settings, connectExpress, _b, responseData, leadId, isLeadIdPassed, mobileData, _c, auth_token, device_token, service_name, _d, scope, redirectUrl, authData, isScopeAuthentication, bi, isDataHasOperator, payload, data, authId, urlQueryStart, _e, brandList, entityList, isKuwait, next;
|
|
374
374
|
var _f, _g;
|
|
375
375
|
return __generator(this, function (_h) {
|
|
376
376
|
switch (_h.label) {
|
|
@@ -426,8 +426,10 @@ export var verifyMobileOtpAsync = createAsyncThunk('connectExpress/verifyMobileO
|
|
|
426
426
|
case 3: return [4, thunkApi.dispatch(getLeadByIdAsync(data.lead_id)).unwrap()];
|
|
427
427
|
case 4:
|
|
428
428
|
_h.sent();
|
|
429
|
-
|
|
430
|
-
next =
|
|
429
|
+
isKuwait = isKW(settings.data.businessCountry.iso2);
|
|
430
|
+
next = 'CONNECT_EXPRESS_NID_MISSED_STEP';
|
|
431
|
+
if (isKuwait)
|
|
432
|
+
next = 'CONNECT_EXPRESS_CIVIL_ID_MISSED_STEP';
|
|
431
433
|
sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep(next)); });
|
|
432
434
|
return [2, data];
|
|
433
435
|
}
|
|
@@ -547,6 +549,9 @@ export var createNIDAuthIdentityAsync = createAsyncThunk('connectExpress/createN
|
|
|
547
549
|
dob = params.dob, nid = params.nid;
|
|
548
550
|
nidType = nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
|
|
549
551
|
countryCode = settings.data.businessCountry.iso2;
|
|
552
|
+
if (isOtherThanKWOrSA(countryCode)) {
|
|
553
|
+
nidType = IDENTIFICATION_TYPE.NID;
|
|
554
|
+
}
|
|
550
555
|
requestBody = {
|
|
551
556
|
id: (_b = connectExpress.data.responseData) === null || _b === void 0 ? void 0 : _b.authData.lead_id,
|
|
552
557
|
identification: {
|
|
@@ -562,7 +567,17 @@ export var createNIDAuthIdentityAsync = createAsyncThunk('connectExpress/createN
|
|
|
562
567
|
return [4, API.leadService.updateLead(requestBody)];
|
|
563
568
|
case 1:
|
|
564
569
|
data = _e.sent();
|
|
565
|
-
|
|
570
|
+
if (!((data === null || data === void 0 ? void 0 : data.verify_token) !== 'null')) return [3, 2];
|
|
571
|
+
thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_OTP_IDENTITY_STEP'));
|
|
572
|
+
return [3, 4];
|
|
573
|
+
case 2:
|
|
574
|
+
if (!isOtherThanKWOrSA(countryCode)) return [3, 4];
|
|
575
|
+
return [4, thunkApi.dispatch(getLeadByIdAsync(data.id)).unwrap()];
|
|
576
|
+
case 3:
|
|
577
|
+
_e.sent();
|
|
578
|
+
thunkApi.dispatch(handleNextScreenStep('CONNECT_EXPRESS_COLLECT_INDIVIDUAL_INFO_STEP'));
|
|
579
|
+
_e.label = 4;
|
|
580
|
+
case 4:
|
|
566
581
|
(_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, requestBody.identification);
|
|
567
582
|
return [2, { response: { verify_token: data.verify_token }, formData: params }];
|
|
568
583
|
}
|
|
@@ -578,6 +593,9 @@ export var resendNIDAuthIdentityOTP = createAsyncThunk('connectExpress/resendNID
|
|
|
578
593
|
dob = params.dob, nid = params.nid;
|
|
579
594
|
nidType = nid.startsWith('1') ? IDENTIFICATION_TYPE.NID : IDENTIFICATION_TYPE.IQAMA;
|
|
580
595
|
countryCode = settings.data.businessCountry.iso2;
|
|
596
|
+
if (isOtherThanKWOrSA(countryCode)) {
|
|
597
|
+
nidType = IDENTIFICATION_TYPE.NID;
|
|
598
|
+
}
|
|
581
599
|
requestBody = {
|
|
582
600
|
id: (_b = connectExpress.data.responseData) === null || _b === void 0 ? void 0 : _b.authData.lead_id,
|
|
583
601
|
identification: {
|
|
@@ -800,14 +818,14 @@ export var updateLeadIndividualAsync = createAsyncThunk('connectExpress/updateLe
|
|
|
800
818
|
export var updateLeadBusinessDataAsync = createAsyncThunk('updateLeadBusinessDataAsync ', function (_a, thunkApi) {
|
|
801
819
|
var formData = _a.formData, originalFormData = _a.originalFormData;
|
|
802
820
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
803
|
-
var _b, settings, connectExpress, selectedLicense, brandName, licenseNumber, termAndConditionChecked,
|
|
821
|
+
var _b, settings, connectExpress, selectedLicense, brandName, licenseNumber, termAndConditionChecked, isKWCountry, isFL, _c, responseData, isLeadIdPassed, id, brandNameBody, payload, data;
|
|
804
822
|
var _d, _e;
|
|
805
823
|
return __generator(this, function (_f) {
|
|
806
824
|
switch (_f.label) {
|
|
807
825
|
case 0:
|
|
808
826
|
_b = thunkApi.getState(), settings = _b.settings, connectExpress = _b.connectExpress;
|
|
809
827
|
selectedLicense = formData.selectedLicense, brandName = formData.brandName, licenseNumber = formData.licenseNumber, termAndConditionChecked = formData.termAndConditionChecked;
|
|
810
|
-
|
|
828
|
+
isKWCountry = isKW(settings.data.businessCountry.iso2);
|
|
811
829
|
isFL = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.FL;
|
|
812
830
|
_c = connectExpress.data, responseData = _c.responseData, isLeadIdPassed = _c.isLeadIdPassed;
|
|
813
831
|
id = ((responseData === null || responseData === void 0 ? void 0 : responseData.leadData) || {}).id;
|
|
@@ -820,13 +838,13 @@ export var updateLeadBusinessDataAsync = createAsyncThunk('updateLeadBusinessDat
|
|
|
820
838
|
payload = {
|
|
821
839
|
id: id || '',
|
|
822
840
|
brand: brandNameBody,
|
|
823
|
-
license_number:
|
|
841
|
+
license_number: isKWCountry && isFL ? '' : licenseNumber,
|
|
824
842
|
license_type: (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) ? (isFL ? LicenseType.FL : LicenseType.CR) : undefined,
|
|
825
843
|
business_type: selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type,
|
|
826
844
|
is_acknowledged: true,
|
|
827
845
|
terms_conditions_accepted: !isLeadIdPassed ? termAndConditionChecked : undefined,
|
|
828
846
|
step_name: CONNECT_EXPRESS_STEP_NAMES.UPDATE_LEAD_BRAND_BUSINESS,
|
|
829
|
-
encryption_contract: [
|
|
847
|
+
encryption_contract: []
|
|
830
848
|
};
|
|
831
849
|
return [4, API.leadService.updateLeadExpress(payload)];
|
|
832
850
|
case 1:
|
|
@@ -966,6 +984,10 @@ export var connectSlice = createSlice({
|
|
|
966
984
|
resetNIDScreen: function (state) {
|
|
967
985
|
state.data.nidData = __assign(__assign({}, state.data.nidData), initialState.data.nidData);
|
|
968
986
|
},
|
|
987
|
+
setDefaultCountryCode: function (state, action) {
|
|
988
|
+
state.data.mobileData.countryCode = action.payload;
|
|
989
|
+
state.data.individualData.countryCode = action.payload;
|
|
990
|
+
},
|
|
969
991
|
resetCivilScreen: function (state) {
|
|
970
992
|
state.data.civilIdData = __assign(__assign({}, state.data.civilIdData), initialState.data.civilIdData);
|
|
971
993
|
},
|
|
@@ -1115,7 +1137,7 @@ export var connectSlice = createSlice({
|
|
|
1115
1137
|
var _a;
|
|
1116
1138
|
state.loading = false;
|
|
1117
1139
|
state.data.civilIdData = action.payload.formData;
|
|
1118
|
-
state.data.otpData.authFor = AuthForType.
|
|
1140
|
+
state.data.otpData.authFor = AuthForType.NATIONAL_ID_MISSED;
|
|
1119
1141
|
state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: __assign(__assign({}, (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.authData), action.payload.response) });
|
|
1120
1142
|
})
|
|
1121
1143
|
.addCase(createCivilIDAuthIdentityAsync.rejected, function (state, action) {
|
|
@@ -1130,7 +1152,7 @@ export var connectSlice = createSlice({
|
|
|
1130
1152
|
var _a;
|
|
1131
1153
|
state.loading = false;
|
|
1132
1154
|
state.data.nidData = action.payload.formData;
|
|
1133
|
-
state.data.otpData.authFor = AuthForType.
|
|
1155
|
+
state.data.otpData.authFor = AuthForType.NATIONAL_ID_MISSED;
|
|
1134
1156
|
state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: __assign(__assign({}, (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.authData), action.payload.response) });
|
|
1135
1157
|
})
|
|
1136
1158
|
.addCase(createNIDAuthIdentityAsync.rejected, function (state, action) {
|
|
@@ -1143,7 +1165,7 @@ export var connectSlice = createSlice({
|
|
|
1143
1165
|
.addCase(resendNIDAuthIdentityOTP.fulfilled, function (state, action) {
|
|
1144
1166
|
var _a;
|
|
1145
1167
|
state.data.nidData = action.payload.formData;
|
|
1146
|
-
state.data.otpData.authFor = AuthForType.
|
|
1168
|
+
state.data.otpData.authFor = AuthForType.NATIONAL_ID_MISSED;
|
|
1147
1169
|
state.data.responseData = __assign(__assign({}, state.data.responseData), { authData: __assign(__assign({}, (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.authData), action.payload.response) });
|
|
1148
1170
|
})
|
|
1149
1171
|
.addCase(resendNIDAuthIdentityOTP.rejected, function (state, action) {
|
|
@@ -1294,10 +1316,12 @@ export var connectSlice = createSlice({
|
|
|
1294
1316
|
state.error = action.error.message;
|
|
1295
1317
|
})
|
|
1296
1318
|
.addCase(updateLeadIndividualAsync.fulfilled, function (state, action) {
|
|
1319
|
+
var _a, _b;
|
|
1297
1320
|
state.loading = false;
|
|
1298
1321
|
state.error = null;
|
|
1322
|
+
var licenseList = [OTHER_CR_LICENSE, OTHER_FL_LICENSE];
|
|
1299
1323
|
state.data.individualData = action.payload.formData;
|
|
1300
|
-
state.data.responseData = __assign(__assign({}, state.data.responseData), { individualData: action.payload.response });
|
|
1324
|
+
state.data.responseData = __assign(__assign(__assign({}, state.data.responseData), { individualData: action.payload.response }), (!((_b = (_a = state.data.responseData) === null || _a === void 0 ? void 0 : _a.licenseList) === null || _b === void 0 ? void 0 : _b.length) && { licenseList: licenseList }));
|
|
1301
1325
|
})
|
|
1302
1326
|
.addCase(updateLeadIndividualAsync.pending, function (state) {
|
|
1303
1327
|
state.loading = true;
|
|
@@ -1391,6 +1415,6 @@ export var connectSlice = createSlice({
|
|
|
1391
1415
|
});
|
|
1392
1416
|
}
|
|
1393
1417
|
});
|
|
1394
|
-
export var clearError = (_a = connectSlice.actions, _a.clearError), stopLoader = _a.stopLoader, setIsLeadIdPassed = _a.setIsLeadIdPassed, resetMobileScreen = _a.resetMobileScreen, resetOTPValue = _a.resetOTPValue, resetNIDScreen = _a.resetNIDScreen, resetCivilScreen = _a.resetCivilScreen, resetStore = _a.resetStore, setError = _a.setError, setLeadId = _a.setLeadId, setShowBoard = _a.setShowBoard, resetIndividualScreen = _a.resetIndividualScreen;
|
|
1418
|
+
export var clearError = (_a = connectSlice.actions, _a.clearError), stopLoader = _a.stopLoader, setIsLeadIdPassed = _a.setIsLeadIdPassed, resetMobileScreen = _a.resetMobileScreen, resetOTPValue = _a.resetOTPValue, resetNIDScreen = _a.resetNIDScreen, resetCivilScreen = _a.resetCivilScreen, resetStore = _a.resetStore, setError = _a.setError, setLeadId = _a.setLeadId, setShowBoard = _a.setShowBoard, resetIndividualScreen = _a.resetIndividualScreen, setDefaultCountryCode = _a.setDefaultCountryCode;
|
|
1395
1419
|
export default connectSlice.reducer;
|
|
1396
1420
|
export var connectExpressSelector = function (state) { return state.connectExpress; };
|
|
@@ -70,7 +70,7 @@ import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
|
|
70
70
|
import API from '../../../api';
|
|
71
71
|
import { FlowsTypes, IndividualGender, DocumentPurpose } from '../../../@types';
|
|
72
72
|
import { handleNextScreenStep, handlePrevScreenStep, handlePublicKey, handleSetCountryByIso2, onCloseComplete } from '../../../app/settings';
|
|
73
|
-
import { defaultCountry, IDENTIFICATION_TYPE, INDIVIDUAl_STEP_NAMES } from '../../../constants';
|
|
73
|
+
import { defaultCountry, IDENTIFICATION_TYPE, INDIVIDUAl_STEP_NAMES, MONTHLY_INCOME_LIST } from '../../../constants';
|
|
74
74
|
import { convertNumbers2English, dateFormat, findCountryByIddPrefix, findCountryByIso2, hasNoneEditableValue, getUserNameObject, getUserName, sleep, isValidEmail, getRecentDocumentBasedOnPurpose, formatNumberAsCurrency, removeAllCharsFromNumber, mapUserList, sortUserList, getIndividualType } from '../../../utils';
|
|
75
75
|
export var verifyToken = createAsyncThunk('individual/verifyToken', function (_a, thunkApi) {
|
|
76
76
|
var token = _a.token, isInternally = _a.isInternally, isUpdatePhoneInfo = _a.isUpdatePhoneInfo;
|
|
@@ -1159,16 +1159,16 @@ export var individualSlice = createSlice({
|
|
|
1159
1159
|
state.error = null;
|
|
1160
1160
|
})
|
|
1161
1161
|
.addCase(retrieveDataList.fulfilled, function (state, action) {
|
|
1162
|
-
var _a;
|
|
1162
|
+
var _a, _b;
|
|
1163
1163
|
state.loading = false;
|
|
1164
1164
|
state.error = null;
|
|
1165
|
-
var
|
|
1165
|
+
var _c = action.payload, sourceIncome = _c.sourceIncome, monthlyIncome = _c.monthlyIncome, occupationData = _c.occupation;
|
|
1166
1166
|
var data = state.data.individualData.responseBody;
|
|
1167
1167
|
var sourceIncomeList = (sourceIncome === null || sourceIncome === void 0 ? void 0 : sourceIncome.list) || [];
|
|
1168
|
-
var monthlyIncomeList = (monthlyIncome === null || monthlyIncome === void 0 ? void 0 : monthlyIncome.list) ||
|
|
1168
|
+
var monthlyIncomeList = ((_a = monthlyIncome === null || monthlyIncome === void 0 ? void 0 : monthlyIncome.list) === null || _a === void 0 ? void 0 : _a.length) ? monthlyIncome === null || monthlyIncome === void 0 ? void 0 : monthlyIncome.list : MONTHLY_INCOME_LIST;
|
|
1169
1169
|
var occupationList = (occupationData === null || occupationData === void 0 ? void 0 : occupationData.list) || [];
|
|
1170
1170
|
state.data.individualData.responseBody = __assign(__assign({}, data), { sourceIncomeList: sourceIncomeList, monthlyIncomeList: monthlyIncomeList, occupationList: occupationList });
|
|
1171
|
-
var
|
|
1171
|
+
var _d = ((_b = state.data.verify.responseBody) === null || _b === void 0 ? void 0 : _b.user) || {}, source_income = _d.source_income, monthly_income = _d.monthly_income, occupation = _d.occupation;
|
|
1172
1172
|
var selectedSourceIncome = (sourceIncomeList === null || sourceIncomeList === void 0 ? void 0 : sourceIncomeList.find(function (source) { var _a; return (source === null || source === void 0 ? void 0 : source.id) === ((_a = source_income === null || source_income === void 0 ? void 0 : source_income[0]) === null || _a === void 0 ? void 0 : _a.id); })) || (sourceIncomeList === null || sourceIncomeList === void 0 ? void 0 : sourceIncomeList[0]);
|
|
1173
1173
|
if (!!selectedSourceIncome)
|
|
1174
1174
|
state.data.individualData.sourceIncome = selectedSourceIncome;
|
|
@@ -23,8 +23,8 @@ import ScreenContainer from '../../../shared/Containers/ScreenContainer';
|
|
|
23
23
|
import { businessSelector, clearError, updateLeadBusinessType } from '../../../app/business/businessStore';
|
|
24
24
|
import { BusinessType as Type } from '../../../../@types';
|
|
25
25
|
import Button from '../../../shared/Button';
|
|
26
|
-
import { deepCopy, isKW, isOtherLicense, isSA } from '../../../../utils';
|
|
27
|
-
import { KWLicenseValidationSchema, LicenseValidationSchema } from './validation';
|
|
26
|
+
import { deepCopy, isKW, isOtherLicense, isOtherThanKWOrSA, isSA } from '../../../../utils';
|
|
27
|
+
import { KWLicenseValidationSchema, LicenseValidationSchema, OtherCountryLicenseValidationSchema } from './validation';
|
|
28
28
|
import LicenseList from './LicenseList';
|
|
29
29
|
import LicenseCertificate from './LicenseCertificate';
|
|
30
30
|
import LicenseType from './LicenseType';
|
|
@@ -51,8 +51,16 @@ var BusinessType = function (_a) {
|
|
|
51
51
|
};
|
|
52
52
|
var isSACountry = React.useMemo(function () { return isSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
|
|
53
53
|
var isKWCountry = React.useMemo(function () { return isKW(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
|
|
54
|
+
var isOtherCountry = React.useMemo(function () { return isOtherThanKWOrSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
|
|
55
|
+
var getSchema = function () {
|
|
56
|
+
if (isSACountry)
|
|
57
|
+
return LicenseValidationSchema;
|
|
58
|
+
if (isKWCountry)
|
|
59
|
+
return KWLicenseValidationSchema;
|
|
60
|
+
return OtherCountryLicenseValidationSchema;
|
|
61
|
+
};
|
|
54
62
|
var methods = useForm({
|
|
55
|
-
resolver: yupResolver(
|
|
63
|
+
resolver: yupResolver(getSchema()),
|
|
56
64
|
defaultValues: {
|
|
57
65
|
selectedLicense: selectedLicense,
|
|
58
66
|
selectedEntityLicense: selectedEntityLicense,
|
|
@@ -89,10 +97,10 @@ var BusinessType = function (_a) {
|
|
|
89
97
|
var selectedLicenseEntity = methods.getValues('selectedEntityLicense');
|
|
90
98
|
var isCR = (selected === null || selected === void 0 ? void 0 : selected.type) === Type.CR;
|
|
91
99
|
var hasEntityList = !!(entityLicenseList === null || entityLicenseList === void 0 ? void 0 : entityLicenseList.length);
|
|
92
|
-
var showLicenseList = hasEntityList ? isSACountry && isOtherLicense(selectedLicenseEntity) : isSACountry;
|
|
100
|
+
var showLicenseList = hasEntityList ? (isSACountry || isOtherCountry) && isOtherLicense(selectedLicenseEntity) : isSACountry || isOtherCountry;
|
|
93
101
|
var showEntityList = isKWCountry ? hasEntityList && !isLicenseListActive && isCR : hasEntityList && !isLicenseListActive;
|
|
94
102
|
var disabled = !methods.formState.isValid || !!error || uploading || uploadingArticle;
|
|
95
103
|
var disableBack = !data.otpData.isNID;
|
|
96
|
-
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(Form, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(LicenseType, { show: !listActive &&
|
|
104
|
+
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(Form, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(LicenseType, { show: !listActive && isKWCountry }), _jsx(EntityLicenseList, { show: showEntityList, onListOpen: function () { return handleMenuClick(ListType.EntityLicenseList); }, onListClose: function () { return handleMenuClick(); } }), _jsx(LicenseList, { show: showLicenseList && !isEntityLicenseListActive, onListOpen: function () { return handleMenuClick(ListType.LicenseList); }, onListClose: function () { return handleMenuClick(); } }), _jsx(EntityName, { show: !isAnyListActive && isKWCountry && isCR }), _jsx(LicenseNumber, { show: isKWCountry ? !isAnyListActive && isCR : !isAnyListActive }), _jsx(LicenseCertificate, { show: !isAnyListActive && isKWCountry && isCR }), _jsx(Article, { show: !isAnyListActive && isKWCountry && isCR }), _jsx(Collapse, __assign({ in: !isAnyListActive, timeout: 500 }, { children: _jsx(Button, __assign({ disableBack: disableBack, onBackClicked: function () { return onBack(); }, isAr: isAr, disabled: disabled, loading: loading, error: t(error || '') }, { children: t('next') })) }))] })) })) }));
|
|
97
105
|
};
|
|
98
106
|
export default React.memo(BusinessType);
|
|
@@ -16,7 +16,7 @@ import { useController, useFormContext } from 'react-hook-form';
|
|
|
16
16
|
import { styled } from '@mui/material/styles';
|
|
17
17
|
import Box from '@mui/material/Box';
|
|
18
18
|
import { settingsSelector } from '../../../../app/settings';
|
|
19
|
-
import {
|
|
19
|
+
import { isKW, removeAllOtherThanCharsNumbersAndSpace } from '../../../../utils';
|
|
20
20
|
import { useAppSelector } from '../../../../hooks';
|
|
21
21
|
import Collapse from '../../../../components/Collapse';
|
|
22
22
|
import Input from '../../../shared/Input';
|
|
@@ -41,7 +41,7 @@ var EntityName = function (_a) {
|
|
|
41
41
|
var entityNameValue = entityNameControl.field.value;
|
|
42
42
|
var error = (_b = entityNameControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
43
43
|
var settingsData = useAppSelector(settingsSelector).data;
|
|
44
|
-
var
|
|
44
|
+
var isKWCountry = React.useMemo(function () { return isKW(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
|
|
45
45
|
var handleChange = function (_a) {
|
|
46
46
|
var target = _a.target;
|
|
47
47
|
var value = removeAllOtherThanCharsNumbersAndSpace(target.value);
|
|
@@ -50,6 +50,6 @@ var EntityName = function (_a) {
|
|
|
50
50
|
var clearEntityName = function () {
|
|
51
51
|
entityNameControl.field.onChange('');
|
|
52
52
|
};
|
|
53
|
-
return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(BoxStyled, { children: _jsx(Input, { label: t('entity_legal_name_title'), onChange: handleChange, value: entityNameValue, required:
|
|
53
|
+
return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(BoxStyled, { children: _jsx(Input, { label: t('entity_legal_name_title'), onChange: handleChange, value: entityNameValue, required: isKWCountry, endAdornment: _jsx(EndAdornment, { value: entityNameValue, error: error, onClear: clearEntityName }), placeholder: t('entity_legal_name_placeholder'), warningType: 'alert', warningMessage: error && t(error) }) }) })));
|
|
54
54
|
};
|
|
55
55
|
export default EntityName;
|
|
@@ -36,7 +36,7 @@ import { businessSelector, clearError } from '../../../app/business/businessStor
|
|
|
36
36
|
import Text from '../../../../components/Text';
|
|
37
37
|
import ExpandIcon from '../../../../components/ExpandIcon';
|
|
38
38
|
import Collapse from '../../../../components/Collapse';
|
|
39
|
-
import {
|
|
39
|
+
import { isKW, isOtherLicense } from '../../../../utils';
|
|
40
40
|
import { OTHER_CR_LICENSE, OTHER_FL_LICENSE } from '../../../../constants';
|
|
41
41
|
import { settingsSelector } from '../../../../app/settings';
|
|
42
42
|
var InputStyled = styled(InputSelect)(function (_a) {
|
|
@@ -90,8 +90,8 @@ var LicenseList = function (_a) {
|
|
|
90
90
|
}, [licenseList, selectedLicense]);
|
|
91
91
|
React.useEffect(function () {
|
|
92
92
|
if (!!country_code) {
|
|
93
|
-
var
|
|
94
|
-
if (
|
|
93
|
+
var isKWCountry = isKW(country_code);
|
|
94
|
+
if (isKWCountry) {
|
|
95
95
|
var license = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR ? OTHER_CR_LICENSE : OTHER_FL_LICENSE;
|
|
96
96
|
setValue('selectedLicense', license, { shouldValidate: true });
|
|
97
97
|
setValue('entityLegalName', entityLegalName, { shouldValidate: true });
|
|
@@ -14,7 +14,7 @@ import * as React from 'react';
|
|
|
14
14
|
import { useTranslation } from 'react-i18next';
|
|
15
15
|
import { useController, useFormContext } from 'react-hook-form';
|
|
16
16
|
import { CR_MIN_LICENSE_LENGTH, CR_NUMBER_MAX_LENGTH, FL_MIN_LICENSE_LENGTH, FL_NUMBER_MAX_LENGTH, KW_MAX_LICENSE_LENGTH, KW_MIN_LICENSE_LENGTH } from '../../../../constants';
|
|
17
|
-
import { removeAllOtherThanCharsAndNumber,
|
|
17
|
+
import { removeAllOtherThanCharsAndNumber, isOtherLicense, isKW, isOtherThanKWOrSA } from '../../../../utils';
|
|
18
18
|
import ScreenContainer from '../../../shared/Containers/ScreenContainer';
|
|
19
19
|
import ClearIcon from '../../../shared/ClearIcon';
|
|
20
20
|
import CheckIcon from '../../../shared/CheckIcon';
|
|
@@ -30,9 +30,10 @@ var LicenseNumber = function (_a) {
|
|
|
30
30
|
var _c = useFormContext(), control = _c.control, watch = _c.watch, getValues = _c.getValues;
|
|
31
31
|
var licenseNumberControl = useController({ control: control, name: 'licenseNumber' });
|
|
32
32
|
var settingsData = useAppSelector(settingsSelector).data;
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
var
|
|
33
|
+
var isKWCountry = React.useMemo(function () { return isKW(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
|
|
34
|
+
var isOtherThanKWOrSACountry = React.useMemo(function () { return isOtherThanKWOrSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
|
|
35
|
+
var selectedLicense = isKWCountry ? watch('selectedLicense') : getValues('selectedLicense');
|
|
36
|
+
var selectedEntityLicense = isKWCountry ? watch('selectedEntityLicense') : getValues('selectedEntityLicense');
|
|
36
37
|
var isCR = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR;
|
|
37
38
|
var readOnly = !isOtherLicense(selectedLicense) || (selectedEntityLicense && !isOtherLicense(selectedEntityLicense));
|
|
38
39
|
var handleFLNumberChange = function (_a) {
|
|
@@ -45,10 +46,10 @@ var LicenseNumber = function (_a) {
|
|
|
45
46
|
};
|
|
46
47
|
var licenseNumberValue = licenseNumberControl.field.value;
|
|
47
48
|
var error = (_b = licenseNumberControl.fieldState.error) === null || _b === void 0 ? void 0 : _b.message;
|
|
48
|
-
var length =
|
|
49
|
-
var minLength =
|
|
49
|
+
var length = isKWCountry || isOtherThanKWOrSACountry ? KW_MAX_LICENSE_LENGTH : isCR ? CR_NUMBER_MAX_LENGTH : FL_NUMBER_MAX_LENGTH;
|
|
50
|
+
var minLength = isKWCountry || isOtherThanKWOrSACountry ? KW_MIN_LICENSE_LENGTH : isCR ? CR_MIN_LICENSE_LENGTH : FL_MIN_LICENSE_LENGTH;
|
|
50
51
|
var label = isCR ? 'cr_number' : 'fl_number';
|
|
51
|
-
var showCheckIcon =
|
|
52
|
-
return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(ScreenContainer, { children: _jsx(Input, { readOnly: readOnly, label: t(label), required:
|
|
52
|
+
var showCheckIcon = isKWCountry || isOtherThanKWOrSACountry ? (licenseNumberValue === null || licenseNumberValue === void 0 ? void 0 : licenseNumberValue.length) >= minLength : (licenseNumberValue === null || licenseNumberValue === void 0 ? void 0 : licenseNumberValue.length) === length;
|
|
53
|
+
return (_jsx(Collapse, __assign({ in: show }, { children: _jsx(ScreenContainer, { children: _jsx(Input, { readOnly: readOnly, label: t(label), required: isKWCountry, onChange: handleFLNumberChange, inputProps: { maxLength: length }, value: licenseNumberValue, endAdornment: showCheckIcon ? _jsx(CheckIcon, {}) : licenseNumberValue && _jsx(ClearIcon, { onClick: clearLicenseNumber }), placeholder: isCR ? t('cr_number_hint') : t('fl_number_hint'), warningType: 'alert', warningMessage: error && t(error, { length: minLength }) }) }) })));
|
|
53
54
|
};
|
|
54
55
|
export default React.memo(LicenseNumber);
|
|
@@ -31,3 +31,13 @@ export declare const KWLicenseValidationSchema: yup.ObjectSchema<import("yup/lib
|
|
|
31
31
|
articleId: yup.StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
|
|
32
32
|
articleFile: any;
|
|
33
33
|
}>>>;
|
|
34
|
+
export declare const OtherCountryLicenseValidationSchema: yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
35
|
+
selectedLicense: any;
|
|
36
|
+
licenseNumber: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
|
|
37
|
+
}>, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
38
|
+
selectedLicense: any;
|
|
39
|
+
licenseNumber: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
|
|
40
|
+
}>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
41
|
+
selectedLicense: any;
|
|
42
|
+
licenseNumber: import("yup/lib/string").RequiredStringSchema<string | undefined, import("yup/lib/types").AnyObject>;
|
|
43
|
+
}>>>;
|
|
@@ -87,3 +87,19 @@ export var KWLicenseValidationSchema = yup.object().shape({
|
|
|
87
87
|
})
|
|
88
88
|
.optional()
|
|
89
89
|
});
|
|
90
|
+
export var OtherCountryLicenseValidationSchema = yup.object().shape({
|
|
91
|
+
selectedLicense: yup.object().shape(objectElements).required(''),
|
|
92
|
+
licenseNumber: yup
|
|
93
|
+
.string()
|
|
94
|
+
.test({
|
|
95
|
+
test: function (value) {
|
|
96
|
+
var selectedLicense = this.parent.selectedLicense;
|
|
97
|
+
var isCR = (selectedLicense === null || selectedLicense === void 0 ? void 0 : selectedLicense.type) === BusinessType.CR;
|
|
98
|
+
var length = (value === null || value === void 0 ? void 0 : value.length) || 0;
|
|
99
|
+
if (length === 0)
|
|
100
|
+
return true;
|
|
101
|
+
return length >= KW_MIN_LICENSE_LENGTH ? true : this.createError({ message: isCR ? 'cr_kw_max_length' : 'fl_max_length' });
|
|
102
|
+
}
|
|
103
|
+
})
|
|
104
|
+
.required('')
|
|
105
|
+
});
|