@tap-payments/auth-jsconnect 2.11.14-development → 2.11.14-sandbox
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/form.d.ts +2 -2
- package/build/api/account.d.ts +2 -2
- package/build/api/account.js +7 -4
- package/build/api/auth.d.ts +1 -1
- package/build/api/auth.js +7 -3
- package/build/api/headers.d.ts +5 -0
- package/build/api/headers.js +3 -0
- package/build/api/index.d.ts +4 -4
- package/build/api/operator.d.ts +1 -1
- package/build/api/operator.js +5 -2
- package/build/assets/locales/ar.json +5 -0
- package/build/assets/locales/en.json +7 -2
- package/build/components/Tooltip/Tooltip.js +1 -1
- package/build/constants/app.d.ts +1 -0
- package/build/constants/app.js +105 -18
- package/build/constants/flows.d.ts +1 -0
- package/build/constants/flows.js +2 -1
- package/build/features/app/auth/authStore.js +64 -54
- package/build/features/app/bank/bankStore.js +24 -20
- package/build/features/app/board/boardStore.js +11 -7
- package/build/features/app/brand/brandStore.js +22 -18
- package/build/features/app/business/businessStore.js +30 -26
- package/build/features/app/connect/connectStore.js +26 -22
- package/build/features/app/connectExpress/connectExpressStore.js +20 -7
- package/build/features/app/entity/entityStore.js +21 -17
- package/build/features/app/individual/individualStore.js +33 -28
- package/build/features/app/password/passwordStore.js +44 -46
- package/build/features/app/signIn/signInStore.js +12 -16
- package/build/features/app/tax/taxStore.js +20 -16
- package/build/features/app/terminal/terminalStore.js +5 -3
- package/build/features/auth/screens/AuthenticationList/AuthenticationList.js +10 -7
- package/build/features/auth/screens/AuthenticationList/EntityLicenseType.d.ts +4 -1
- package/build/features/auth/screens/AuthenticationList/EntityLicenseType.js +6 -4
- package/build/features/auth/screens/AuthenticationList/EntityList.js +9 -1
- package/build/features/business/screens/BusinessType/BusinessType.js +2 -3
- package/build/features/business/screens/BusinessType/LicenseList.js +5 -5
- package/build/features/connectExpress/screens/AuthenticationList/AuthenticationList.js +10 -10
- package/build/features/connectExpress/screens/AuthenticationList/EntityLicenseType.d.ts +4 -1
- package/build/features/connectExpress/screens/AuthenticationList/EntityLicenseType.js +6 -4
- package/build/features/connectExpress/screens/AuthenticationList/EntityList.js +9 -1
- package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseList.js +6 -11
- package/build/features/connectExpress/screens/Mobile/Mobile.js +7 -6
- package/build/features/featuresScreens.js +60 -0
- package/build/features/shared/OTPVerifySecurityError/OTPVerifySecurityError.d.ts +3 -0
- package/build/features/shared/OTPVerifySecurityError/OTPVerifySecurityError.js +9 -0
- package/build/features/shared/OTPVerifySecurityError/index.d.ts +2 -0
- package/build/features/shared/OTPVerifySecurityError/index.js +2 -0
- package/build/features/terminal/screens/NoTerminalDeviceLinked/NoTerminalDeviceLinked.js +59 -14
- package/build/features/terminal/screens/POSDeviceListPage/POSDeviceListPage.js +5 -2
- package/build/features/terminal/screens/Verify/Verify.js +6 -2
- package/build/utils/common.js +3 -3
- package/build/utils/error.d.ts +1 -0
- package/build/utils/error.js +3 -0
- package/package.json +2 -2
|
@@ -51,7 +51,7 @@ import API from '../../../api';
|
|
|
51
51
|
import { FlowsTypes } from '../../../@types';
|
|
52
52
|
import { handleCurrentActiveScreen, handleNextScreenStep, handlePrevScreenStep, handlePublicKey, handleSetCountryByIso2, onCloseComplete } from '../../../app/settings';
|
|
53
53
|
import { PASSWORD_OPERATION_TYPE, PASSWORD_STEP_NAMES } from '../../../constants';
|
|
54
|
-
import { retrieveIndividualData, sendCustomEventToGTM, sleep } from '../../../utils';
|
|
54
|
+
import { isAuthenticationVerificationFailed, retrieveIndividualData, sendCustomEventToGTM, sleep } from '../../../utils';
|
|
55
55
|
export var verifyLeadToken = createAsyncThunk('passwordVerifyLeadToken', function (_a, thunkApi) {
|
|
56
56
|
var token = _a.token, isInternally = _a.isInternally;
|
|
57
57
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -156,9 +156,9 @@ export var retrieveBoardDetails = createAsyncThunk('retrievePasswordBoardDetails
|
|
|
156
156
|
});
|
|
157
157
|
export var verifyPasswordLeadOTP = createAsyncThunk('verifyPasswordLeadOTP', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
158
158
|
var _a, password, settings, responseBody, payload, data, _b, config, board_info_password_status, country_code, board_id, recipient, countryIso2, publicKey, flows, data_3, data_4;
|
|
159
|
-
var _c, _d, _e, _f
|
|
160
|
-
return __generator(this, function (
|
|
161
|
-
switch (
|
|
159
|
+
var _c, _d, _e, _f;
|
|
160
|
+
return __generator(this, function (_g) {
|
|
161
|
+
switch (_g.label) {
|
|
162
162
|
case 0:
|
|
163
163
|
_a = thunkApi.getState(), password = _a.password, settings = _a.settings;
|
|
164
164
|
responseBody = password.data.verify.responseBody;
|
|
@@ -169,11 +169,13 @@ export var verifyPasswordLeadOTP = createAsyncThunk('verifyPasswordLeadOTP', fun
|
|
|
169
169
|
step_name: PASSWORD_STEP_NAMES.PHONE_AUTH,
|
|
170
170
|
encryption_contract: ['data']
|
|
171
171
|
};
|
|
172
|
-
return [4, API.leadService.
|
|
172
|
+
return [4, API.leadService.verifyTokenOTP(payload).catch(function (err) {
|
|
173
|
+
if (isAuthenticationVerificationFailed(err === null || err === void 0 ? void 0 : err.message))
|
|
174
|
+
thunkApi.dispatch(handleNextScreenStep('PASSWORD_OTP_VERIFY_SECURITY_ERROR_STEP'));
|
|
175
|
+
throw new Error(err === null || err === void 0 ? void 0 : err.message);
|
|
176
|
+
})];
|
|
173
177
|
case 1:
|
|
174
|
-
data =
|
|
175
|
-
if ((_d = data === null || data === void 0 ? void 0 : data.errors) === null || _d === void 0 ? void 0 : _d.length)
|
|
176
|
-
throw new Error(data.errors[0].description);
|
|
178
|
+
data = _g.sent();
|
|
177
179
|
_b = data || {}, config = _b.config, board_info_password_status = _b.board_info_password_status, country_code = _b.country_code, board_id = _b.id, recipient = _b.recipient;
|
|
178
180
|
countryIso2 = country_code;
|
|
179
181
|
if (countryIso2)
|
|
@@ -181,7 +183,7 @@ export var verifyPasswordLeadOTP = createAsyncThunk('verifyPasswordLeadOTP', fun
|
|
|
181
183
|
publicKey = config === null || config === void 0 ? void 0 : config.public_key;
|
|
182
184
|
if (publicKey)
|
|
183
185
|
thunkApi.dispatch(handlePublicKey(publicKey));
|
|
184
|
-
(
|
|
186
|
+
(_e = (_d = settings.data.appConfig).onStepCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, settings.data.activeScreen.name, { otp: params.otp });
|
|
185
187
|
flows = [];
|
|
186
188
|
if (!(board_info_password_status === 'completed')) return [3, 3];
|
|
187
189
|
return [4, Promise.all([
|
|
@@ -189,7 +191,7 @@ export var verifyPasswordLeadOTP = createAsyncThunk('verifyPasswordLeadOTP', fun
|
|
|
189
191
|
thunkApi.dispatch(retrieveBoardDetails({ boardId: board_id, individualId: recipient === null || recipient === void 0 ? void 0 : recipient.id, individualType: recipient === null || recipient === void 0 ? void 0 : recipient.type })).unwrap()
|
|
190
192
|
])];
|
|
191
193
|
case 2:
|
|
192
|
-
data_3 = (
|
|
194
|
+
data_3 = (_g.sent())[0];
|
|
193
195
|
flows = (data_3 === null || data_3 === void 0 ? void 0 : data_3.info) || [];
|
|
194
196
|
thunkApi.dispatch(handleNextScreenStep('PASSWORD_SUCCESS_FOUR_FLOWS_BUTTONS_STEP'));
|
|
195
197
|
return [3, 6];
|
|
@@ -197,13 +199,13 @@ export var verifyPasswordLeadOTP = createAsyncThunk('verifyPasswordLeadOTP', fun
|
|
|
197
199
|
if (!!country_code) return [3, 5];
|
|
198
200
|
return [4, API.boardService.retrieveBoardDetails(board_id)];
|
|
199
201
|
case 4:
|
|
200
|
-
data_4 =
|
|
201
|
-
if ((
|
|
202
|
+
data_4 = _g.sent();
|
|
203
|
+
if ((_f = data_4 === null || data_4 === void 0 ? void 0 : data_4.entity) === null || _f === void 0 ? void 0 : _f.country)
|
|
202
204
|
thunkApi.dispatch(handleSetCountryByIso2(data_4.entity.country));
|
|
203
|
-
|
|
205
|
+
_g.label = 5;
|
|
204
206
|
case 5:
|
|
205
207
|
thunkApi.dispatch(handleNextScreenStep('PASSWORD_CREATE_PASSWORD_STEP'));
|
|
206
|
-
|
|
208
|
+
_g.label = 6;
|
|
207
209
|
case 6: return [2, { data: data, formData: __assign({}, params), flows: flows }];
|
|
208
210
|
}
|
|
209
211
|
});
|
|
@@ -296,9 +298,9 @@ export var retrieveBoardStatus = createAsyncThunk('password/retrieveBoardStatus'
|
|
|
296
298
|
}); });
|
|
297
299
|
export var verifyOperationToken = createAsyncThunk('verifyOperationToken', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
298
300
|
var token, boardId, boardInfoId, userId, userType, payload, data, countryIso2, publicKey, data_5;
|
|
299
|
-
var _a, _b
|
|
300
|
-
return __generator(this, function (
|
|
301
|
-
switch (
|
|
301
|
+
var _a, _b;
|
|
302
|
+
return __generator(this, function (_c) {
|
|
303
|
+
switch (_c.label) {
|
|
302
304
|
case 0:
|
|
303
305
|
token = params.token, boardId = params.boardId, boardInfoId = params.boardInfoId, userId = params.userId, userType = params.userType;
|
|
304
306
|
payload = {
|
|
@@ -307,22 +309,20 @@ export var verifyOperationToken = createAsyncThunk('verifyOperationToken', funct
|
|
|
307
309
|
};
|
|
308
310
|
return [4, API.authService.verifyAuth(payload)];
|
|
309
311
|
case 1:
|
|
310
|
-
data =
|
|
311
|
-
if ((_a = data === null || data === void 0 ? void 0 : data.errors) === null || _a === void 0 ? void 0 : _a.length)
|
|
312
|
-
throw new Error(data.errors[0].description);
|
|
312
|
+
data = _c.sent();
|
|
313
313
|
countryIso2 = data === null || data === void 0 ? void 0 : data.country;
|
|
314
314
|
if (countryIso2)
|
|
315
315
|
thunkApi.dispatch(handleSetCountryByIso2(countryIso2));
|
|
316
|
-
publicKey = (
|
|
316
|
+
publicKey = (_a = data === null || data === void 0 ? void 0 : data.config) === null || _a === void 0 ? void 0 : _a.public_key;
|
|
317
317
|
if (publicKey)
|
|
318
318
|
thunkApi.dispatch(handlePublicKey(publicKey));
|
|
319
319
|
if (!!(data === null || data === void 0 ? void 0 : data.country)) return [3, 3];
|
|
320
320
|
return [4, API.boardService.retrieveBoardDetails(boardId)];
|
|
321
321
|
case 2:
|
|
322
|
-
data_5 =
|
|
323
|
-
if ((
|
|
322
|
+
data_5 = _c.sent();
|
|
323
|
+
if ((_b = data_5 === null || data_5 === void 0 ? void 0 : data_5.entity) === null || _b === void 0 ? void 0 : _b.country)
|
|
324
324
|
thunkApi.dispatch(handleSetCountryByIso2(data_5.entity.country));
|
|
325
|
-
|
|
325
|
+
_c.label = 3;
|
|
326
326
|
case 3:
|
|
327
327
|
thunkApi.dispatch(handleNextScreenStep('PASSWORD_CREATE_PASSWORD_STEP'));
|
|
328
328
|
return [2, __assign({ data: data, token: token, boardId: boardId, boardInfoId: boardInfoId }, (userId &&
|
|
@@ -347,16 +347,16 @@ export var resendOperationOTP = createAsyncThunk('resendOperationOTPPassword', f
|
|
|
347
347
|
};
|
|
348
348
|
return [4, API.authService.verifyAuth(payload)];
|
|
349
349
|
case 1:
|
|
350
|
-
data =
|
|
350
|
+
data = _a.sent();
|
|
351
351
|
return [2, { data: data }];
|
|
352
352
|
}
|
|
353
353
|
});
|
|
354
354
|
}); });
|
|
355
355
|
export var resetPassword = createAsyncThunk('resetPassword', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
356
356
|
var _a, password, settings, responseBody, passwordData, payload, data;
|
|
357
|
-
var _b, _c
|
|
358
|
-
return __generator(this, function (
|
|
359
|
-
switch (
|
|
357
|
+
var _b, _c;
|
|
358
|
+
return __generator(this, function (_d) {
|
|
359
|
+
switch (_d.label) {
|
|
360
360
|
case 0:
|
|
361
361
|
_a = thunkApi.getState(), password = _a.password, settings = _a.settings;
|
|
362
362
|
responseBody = password.data.verify.responseBody;
|
|
@@ -371,15 +371,15 @@ export var resetPassword = createAsyncThunk('resetPassword', function (params, t
|
|
|
371
371
|
},
|
|
372
372
|
encryption_contract: ['user_credentail.otp', 'user_credentail.new_password']
|
|
373
373
|
};
|
|
374
|
-
return [4, API.authService.verifyAuth(payload)
|
|
374
|
+
return [4, API.authService.verifyAuth(payload).catch(function (err) {
|
|
375
|
+
if (isAuthenticationVerificationFailed(err === null || err === void 0 ? void 0 : err.message))
|
|
376
|
+
thunkApi.dispatch(handleNextScreenStep('PASSWORD_OTP_VERIFY_SECURITY_ERROR_STEP'));
|
|
377
|
+
throw new Error(err === null || err === void 0 ? void 0 : err.message);
|
|
378
|
+
})];
|
|
375
379
|
case 1:
|
|
376
|
-
data =
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
if (!(data === null || data === void 0 ? void 0 : data.errors)) {
|
|
380
|
-
sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('PASSWORD_SUCCESS_STEP')); });
|
|
381
|
-
(_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, payload);
|
|
382
|
-
}
|
|
380
|
+
data = _d.sent();
|
|
381
|
+
sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('PASSWORD_SUCCESS_STEP')); });
|
|
382
|
+
(_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, payload);
|
|
383
383
|
return [2, { data: data, formData: __assign(__assign({}, params), passwordData) }];
|
|
384
384
|
}
|
|
385
385
|
});
|
|
@@ -511,9 +511,11 @@ export var passwordSlice = createSlice({
|
|
|
511
511
|
flows: flows
|
|
512
512
|
}));
|
|
513
513
|
})
|
|
514
|
-
.addCase(verifyPasswordLeadOTP.rejected, function (state,
|
|
514
|
+
.addCase(verifyPasswordLeadOTP.rejected, function (state, _a) {
|
|
515
|
+
var message = _a.error.message;
|
|
515
516
|
state.loading = false;
|
|
516
|
-
|
|
517
|
+
if (!isAuthenticationVerificationFailed(message))
|
|
518
|
+
state.error = message;
|
|
517
519
|
})
|
|
518
520
|
.addCase(createPassword.pending, function (state) {
|
|
519
521
|
state.loading = true;
|
|
@@ -599,14 +601,8 @@ export var passwordSlice = createSlice({
|
|
|
599
601
|
state.error = null;
|
|
600
602
|
})
|
|
601
603
|
.addCase(resendOperationOTP.fulfilled, function (state, action) {
|
|
602
|
-
var _a;
|
|
603
604
|
state.error = null;
|
|
604
605
|
var data = action.payload.data;
|
|
605
|
-
var description = (((_a = data === null || data === void 0 ? void 0 : data.errors) === null || _a === void 0 ? void 0 : _a[0]) || {}).description;
|
|
606
|
-
if (description) {
|
|
607
|
-
state.error = description;
|
|
608
|
-
return;
|
|
609
|
-
}
|
|
610
606
|
state.data.verify.responseBody = __assign(__assign({}, state.data.verify.responseBody), data);
|
|
611
607
|
})
|
|
612
608
|
.addCase(resendOperationOTP.rejected, function (state, action) {
|
|
@@ -624,8 +620,10 @@ export var passwordSlice = createSlice({
|
|
|
624
620
|
state.loading = true;
|
|
625
621
|
state.error = null;
|
|
626
622
|
})
|
|
627
|
-
.addCase(resetPassword.rejected, function (state,
|
|
628
|
-
|
|
623
|
+
.addCase(resetPassword.rejected, function (state, _a) {
|
|
624
|
+
var message = _a.error.message;
|
|
625
|
+
if (!isAuthenticationVerificationFailed(message))
|
|
626
|
+
state.error = message;
|
|
629
627
|
state.loading = false;
|
|
630
628
|
})
|
|
631
629
|
.addCase(retrieveBoardResetPasswordSuccess.fulfilled, function (state, action) {
|
|
@@ -189,12 +189,10 @@ export var verifyAuthOTP = createAsyncThunk('signIn/verifyAuthOTP', function (pa
|
|
|
189
189
|
};
|
|
190
190
|
return [4, API.authService.verifyAuth(requestBody)];
|
|
191
191
|
case 1:
|
|
192
|
-
data =
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
(_e = (_d = settings.data.appConfig).onFlowCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, data);
|
|
197
|
-
}
|
|
192
|
+
data = _f.sent();
|
|
193
|
+
(_c = (_b = settings.data.appConfig).onStepCompleted) === null || _c === void 0 ? void 0 : _c.call(_b, settings.data.activeScreen.name, { otp: params.otp });
|
|
194
|
+
thunkApi.dispatch(handleOpen(false));
|
|
195
|
+
(_e = (_d = settings.data.appConfig).onFlowCompleted) === null || _e === void 0 ? void 0 : _e.call(_d, data);
|
|
198
196
|
return [2, { data: data, formData: params }];
|
|
199
197
|
}
|
|
200
198
|
});
|
|
@@ -221,16 +219,14 @@ export var verifyAuthPassword = createAsyncThunk('signIn/verifyAuthPassword', fu
|
|
|
221
219
|
};
|
|
222
220
|
return [4, API.authService.verifyAuth(requestBody)];
|
|
223
221
|
case 1:
|
|
224
|
-
data =
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
(_f = (_e = settings.data.appConfig).onFlowCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, data);
|
|
233
|
-
}
|
|
222
|
+
data = _g.sent();
|
|
223
|
+
(_d = (_c = settings.data.appConfig).onStepCompleted) === null || _d === void 0 ? void 0 : _d.call(_c, settings.data.activeScreen.name, { otp: params.password });
|
|
224
|
+
if ((data === null || data === void 0 ? void 0 : data.status) === 'pending') {
|
|
225
|
+
thunkApi.dispatch(handleNextScreenStep('SIGIN_OTP_STEP'));
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
thunkApi.dispatch(handleOpen(false));
|
|
229
|
+
(_f = (_e = settings.data.appConfig).onFlowCompleted) === null || _f === void 0 ? void 0 : _f.call(_e, data);
|
|
234
230
|
}
|
|
235
231
|
return [2, data];
|
|
236
232
|
}
|
|
@@ -51,7 +51,7 @@ import API from '../../../api';
|
|
|
51
51
|
import { DocumentPurpose, FlowsTypes } from '../../../@types';
|
|
52
52
|
import { handleNextScreenStep, handleCurrentActiveScreen, handleSetCountryByIso2, handlePrevScreenStep, handlePublicKey, onCloseComplete } from '../../../app/settings';
|
|
53
53
|
import { TAX_STEP_NAMES } from '../../../constants';
|
|
54
|
-
import { getRecentDocumentBasedOnPurpose, hasNoneEditableValue, retrieveIndividualData, sleep } from '../../../utils';
|
|
54
|
+
import { getRecentDocumentBasedOnPurpose, hasNoneEditableValue, isAuthenticationVerificationFailed, retrieveIndividualData, sleep } from '../../../utils';
|
|
55
55
|
export var verifyLeadToken = createAsyncThunk('taxVerifyLeadToken', function (_a, thunkApi) {
|
|
56
56
|
var token = _a.token, isInternally = _a.isInternally;
|
|
57
57
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -178,9 +178,9 @@ export var retrieveBoardDetails = createAsyncThunk('tax/retrieveBrandInfo', func
|
|
|
178
178
|
});
|
|
179
179
|
export var verifyTaxLeadOTP = createAsyncThunk('verifyTaxLeadOTP', function (params, thunkApi) { return __awaiter(void 0, void 0, void 0, function () {
|
|
180
180
|
var _a, tax, settings, responseBody, payload, data, _b, config, entity_id, boardId, country_code, entityData, publicKey, countryIso2, data_2;
|
|
181
|
-
var _c, _d, _e, _f, _g
|
|
182
|
-
return __generator(this, function (
|
|
183
|
-
switch (
|
|
181
|
+
var _c, _d, _e, _f, _g;
|
|
182
|
+
return __generator(this, function (_h) {
|
|
183
|
+
switch (_h.label) {
|
|
184
184
|
case 0:
|
|
185
185
|
_a = thunkApi.getState(), tax = _a.tax, settings = _a.settings;
|
|
186
186
|
responseBody = tax.data.verify.responseBody;
|
|
@@ -191,11 +191,13 @@ export var verifyTaxLeadOTP = createAsyncThunk('verifyTaxLeadOTP', function (par
|
|
|
191
191
|
step_name: TAX_STEP_NAMES.PHONE_AUTH,
|
|
192
192
|
encryption_contract: ['data']
|
|
193
193
|
};
|
|
194
|
-
return [4, API.leadService.
|
|
194
|
+
return [4, API.leadService.verifyTokenOTP(payload).catch(function (err) {
|
|
195
|
+
if (isAuthenticationVerificationFailed(err === null || err === void 0 ? void 0 : err.message))
|
|
196
|
+
thunkApi.dispatch(handleNextScreenStep('TAX_OTP_VERIFY_SECURITY_ERROR_STEP'));
|
|
197
|
+
throw new Error(err === null || err === void 0 ? void 0 : err.message);
|
|
198
|
+
})];
|
|
195
199
|
case 1:
|
|
196
|
-
data =
|
|
197
|
-
if ((_d = data.errors) === null || _d === void 0 ? void 0 : _d.length)
|
|
198
|
-
throw new Error(data.errors[0].description);
|
|
200
|
+
data = _h.sent();
|
|
199
201
|
_b = data || {}, config = _b.config, entity_id = _b.entity_id, boardId = _b.id, country_code = _b.country_code;
|
|
200
202
|
entityData = undefined;
|
|
201
203
|
publicKey = config === null || config === void 0 ? void 0 : config.public_key;
|
|
@@ -207,19 +209,19 @@ export var verifyTaxLeadOTP = createAsyncThunk('verifyTaxLeadOTP', function (par
|
|
|
207
209
|
if (!!entity_id) return [3, 3];
|
|
208
210
|
return [4, API.boardService.retrieveBoardDetails(boardId)];
|
|
209
211
|
case 2:
|
|
210
|
-
data_2 =
|
|
211
|
-
if (!((
|
|
212
|
+
data_2 = _h.sent();
|
|
213
|
+
if (!((_d = data_2 === null || data_2 === void 0 ? void 0 : data_2.entity) === null || _d === void 0 ? void 0 : _d.id))
|
|
212
214
|
throw new Error('entity_id_missing');
|
|
213
215
|
entityData = data_2;
|
|
214
216
|
return [3, 5];
|
|
215
217
|
case 3: return [4, API.entityService.retrieveEntity(entity_id)];
|
|
216
218
|
case 4:
|
|
217
|
-
entityData =
|
|
218
|
-
|
|
219
|
+
entityData = _h.sent();
|
|
220
|
+
_h.label = 5;
|
|
219
221
|
case 5:
|
|
220
|
-
if (!countryIso2 && ((
|
|
222
|
+
if (!countryIso2 && ((_e = entityData === null || entityData === void 0 ? void 0 : entityData.entity) === null || _e === void 0 ? void 0 : _e.country))
|
|
221
223
|
thunkApi.dispatch(handleSetCountryByIso2(entityData.entity.country));
|
|
222
|
-
(
|
|
224
|
+
(_g = (_f = settings.data.appConfig).onStepCompleted) === null || _g === void 0 ? void 0 : _g.call(_f, settings.data.activeScreen.name, { otp: params.otp });
|
|
223
225
|
sleep(100).then(function () { return thunkApi.dispatch(handleNextScreenStep('TAX_TAX_DETAILS_STEP')); });
|
|
224
226
|
return [2, { data: data, entityData: entityData === null || entityData === void 0 ? void 0 : entityData.entity, formData: params }];
|
|
225
227
|
}
|
|
@@ -426,9 +428,11 @@ export var taxSlice = createSlice({
|
|
|
426
428
|
if (is_vat_acknowledged)
|
|
427
429
|
state.data.taxData.confirmPolicy = is_vat_acknowledged;
|
|
428
430
|
})
|
|
429
|
-
.addCase(verifyTaxLeadOTP.rejected, function (state,
|
|
431
|
+
.addCase(verifyTaxLeadOTP.rejected, function (state, _a) {
|
|
432
|
+
var message = _a.error.message;
|
|
430
433
|
state.loading = false;
|
|
431
|
-
|
|
434
|
+
if (!isAuthenticationVerificationFailed(message))
|
|
435
|
+
state.error = message;
|
|
432
436
|
})
|
|
433
437
|
.addCase(updateTaxInfo.pending, function (state) {
|
|
434
438
|
state.loading = true;
|
|
@@ -51,7 +51,7 @@ import { handlePublicKey, handleSetCountryByIso2, onCloseComplete } from '../../
|
|
|
51
51
|
import { FlowsTypes } from '../../../@types';
|
|
52
52
|
import { CONNECT_FLOWS, NAFATH_PACI_TIMEOUT_DURATION, SELECTED_POS_DEFAULT_INFO, SELECTED_TERMINAL_DEFAULT_INFO, TERMINAL_PUSH_NOTIFICATION_DURATION, TERMINAL_PUSH_NOTIFICATION_FAILED, TERMINAL_STEP_NAMES } from '../../../constants';
|
|
53
53
|
import API from '../../../api';
|
|
54
|
-
import { isNetworkError, isTimeoutError, retrieveIndividualData, sleep } from '../../../utils';
|
|
54
|
+
import { isAuthenticationVerificationFailed, isNetworkError, isTimeoutError, retrieveIndividualData, sleep } from '../../../utils';
|
|
55
55
|
export var verifyToken = createAsyncThunk('terminal/verifyLeadToken', function (_a, thunkApi) {
|
|
56
56
|
var token = _a.token, isInternally = _a.isInternally;
|
|
57
57
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -514,9 +514,11 @@ export var terminalSlice = createSlice({
|
|
|
514
514
|
state.data.otpData = formData;
|
|
515
515
|
state.data.responseData = { authData: data, boardData: { id: data === null || data === void 0 ? void 0 : data.id, board_info_id: data === null || data === void 0 ? void 0 : data.board_info_id }, terminalData: terminalData };
|
|
516
516
|
})
|
|
517
|
-
.addCase(verifyTokenOTP.rejected, function (state,
|
|
517
|
+
.addCase(verifyTokenOTP.rejected, function (state, _a) {
|
|
518
|
+
var message = _a.error.message;
|
|
518
519
|
state.loading = false;
|
|
519
|
-
|
|
520
|
+
if (!isAuthenticationVerificationFailed(message))
|
|
521
|
+
state.error = message;
|
|
520
522
|
})
|
|
521
523
|
.addCase(linkNewTerminal.pending, function (state) {
|
|
522
524
|
state.loading = true;
|
|
@@ -17,7 +17,7 @@ import Collapse from '@mui/material/Collapse';
|
|
|
17
17
|
import { yupResolver } from '@hookform/resolvers/yup';
|
|
18
18
|
import { useAppDispatch, useAppSelector, useLanguage } from '../../../../hooks';
|
|
19
19
|
import { handlePrevScreenStep, settingsSelector } from '../../../../app/settings';
|
|
20
|
-
import { deepCopy, sendCustomEventToGTM } from '../../../../utils';
|
|
20
|
+
import { deepCopy, isSA, sendCustomEventToGTM } from '../../../../utils';
|
|
21
21
|
import Form from '../../../../components/Form';
|
|
22
22
|
import { ScreenContainer } from '../../../shared/Containers';
|
|
23
23
|
import Button from '../../../shared/Button';
|
|
@@ -27,19 +27,22 @@ import BrandList from './BrandList';
|
|
|
27
27
|
import EntityList from './EntityList';
|
|
28
28
|
import EntityLegalName from './EntityLegalName';
|
|
29
29
|
import LicenseNumber from './LicenseNumber';
|
|
30
|
-
import
|
|
30
|
+
import EntityLicenseType from './EntityLicenseType';
|
|
31
31
|
var ListType;
|
|
32
32
|
(function (ListType) {
|
|
33
33
|
ListType["BrandList"] = "BrandList";
|
|
34
34
|
ListType["EntityList"] = "EntityList";
|
|
35
35
|
})(ListType || (ListType = {}));
|
|
36
36
|
var AuthenticationList = function (_a) {
|
|
37
|
+
var _b;
|
|
37
38
|
var settingsData = useAppSelector(settingsSelector).data;
|
|
38
|
-
var
|
|
39
|
-
var
|
|
40
|
-
var
|
|
39
|
+
var _c = useAppSelector(authSelector), data = _c.data, loading = _c.loading, error = _c.error;
|
|
40
|
+
var _d = data.authenticationData, brandInfo = _d.brandInfo, entityInfo = _d.entityInfo;
|
|
41
|
+
var _e = React.useState(), listActive = _e[0], setListActive = _e[1];
|
|
41
42
|
var brandList = (data.responseData || {}).brandList;
|
|
42
|
-
var
|
|
43
|
+
var _f = React.useState(false), isAddEntity = _f[0], setIsAddEntity = _f[1];
|
|
44
|
+
var code = (_b = settingsData.businessCountry) === null || _b === void 0 ? void 0 : _b.iso2;
|
|
45
|
+
var isSACountry = React.useMemo(function () { return isSA(code); }, [code]);
|
|
43
46
|
React.useEffect(function () {
|
|
44
47
|
sendCustomEventToGTM({
|
|
45
48
|
event: 'Send Event',
|
|
@@ -91,6 +94,6 @@ var AuthenticationList = function (_a) {
|
|
|
91
94
|
};
|
|
92
95
|
var isBrandList = listActive === ListType.BrandList;
|
|
93
96
|
var isEntityList = listActive === ListType.EntityList;
|
|
94
|
-
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(Form, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(BrandList, { list: brandList || [], show: !isAddEntity && !isEntityList, onListOpen: function () { return handleMenuClick(ListType.BrandList); }, onListClose: function () { return handleMenuClick(); } }), _jsx(EntityList, { countryList: settingsData.countries || [], show: !isBrandList, onListOpen: function () { return handleMenuClick(ListType.EntityList); }, onListClose: function () { return handleMenuClick(); }, handleAddEntity: function (flag) { return setIsAddEntity(flag); } }), _jsxs(Collapse, __assign({ in: isAddEntity && !isBrandList && !isEntityList }, { children: [_jsx(EntityLegalName, {}), _jsx(
|
|
97
|
+
return (_jsx(ScreenContainer, { children: _jsx(FormProvider, __assign({}, methods, { children: _jsxs(Form, __assign({ onSubmit: methods.handleSubmit(onSubmit) }, { children: [_jsx(BrandList, { list: brandList || [], show: !isAddEntity && !isEntityList, onListOpen: function () { return handleMenuClick(ListType.BrandList); }, onListClose: function () { return handleMenuClick(); } }), _jsx(EntityList, { countryList: settingsData.countries || [], show: !isBrandList, onListOpen: function () { return handleMenuClick(ListType.EntityList); }, onListClose: function () { return handleMenuClick(); }, handleAddEntity: function (flag) { return setIsAddEntity(flag); } }), _jsxs(Collapse, __assign({ in: isAddEntity && !isBrandList && !isEntityList }, { children: [_jsx(EntityLegalName, {}), _jsx(EntityLicenseType, { show: isSACountry }), _jsx(LicenseNumber, {})] })), _jsx(Collapse, __assign({ in: !listActive, timeout: 500 }, { children: _jsx(Button, __assign({ onBackClicked: function () { return onBack(); }, disabled: disabled, isAr: isAr, error: t(error || ''), loading: loading }, { children: isAddEntity ? t('create_new_entity') : t('next') })) }))] })) })) }));
|
|
95
98
|
};
|
|
96
99
|
export default React.memo(AuthenticationList);
|
|
@@ -27,5 +27,8 @@ export declare const InfoOutlinedIconStyled: import("@emotion/styled").StyledCom
|
|
|
27
27
|
} & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<React.SVGProps<SVGSVGElement>, "string" | "name" | "type" | "version" | "fr" | "in" | "className" | "style" | "display" | "overflow" | "visibility" | "order" | "color" | "width" | "height" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "clipPath" | "cursor" | "direction" | "filter" | "fontSizeAdjust" | "fontStretch" | "fontVariant" | "imageRendering" | "opacity" | "paintOrder" | "pointerEvents" | "rotate" | "scale" | "textRendering" | "transform" | "unicodeBidi" | "wordSpacing" | "writingMode" | "mask" | "offset" | "textDecoration" | "azimuth" | "clip" | "alignmentBaseline" | "baselineShift" | "clipRule" | "colorInterpolation" | "colorRendering" | "dominantBaseline" | "fill" | "fillOpacity" | "fillRule" | "floodColor" | "floodOpacity" | "glyphOrientationVertical" | "lightingColor" | "markerEnd" | "markerMid" | "markerStart" | "shapeRendering" | "stopColor" | "stopOpacity" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "textAnchor" | "vectorEffect" | "path" | "children" | "key" | "id" | "lang" | "tabIndex" | "role" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "mode" | "end" | "values" | "local" | "x" | "y" | "alphabetic" | "hanging" | "ideographic" | "mathematical" | "origin" | "method" | "operator" | "spacing" | "elevation" | "max" | "href" | "orientation" | "media" | "target" | "min" | "viewBox" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "baseFrequency" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clipPathUnits" | "colorInterpolationFilters" | "colorProfile" | "contentScriptType" | "contentStyleType" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "divisor" | "dur" | "dx" | "dy" | "edgeMode" | "enableBackground" | "exponent" | "externalResourcesRequired" | "filterRes" | "filterUnits" | "focusable" | "format" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "in2" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "limitingConeAngle" | "markerHeight" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "numOctaves" | "orient" | "overlinePosition" | "overlineThickness" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rx" | "ry" | "seed" | "slope" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "strikethroughPosition" | "strikethroughThickness" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textLength" | "to" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewTarget" | "vMathematical" | "widths" | "x1" | "x2" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "yChannelSelector" | "z" | "zoomAndPan"> & {
|
|
28
28
|
ref?: ((instance: SVGSVGElement | null) => void) | React.RefObject<SVGSVGElement> | null | undefined;
|
|
29
29
|
}, keyof import("@mui/material/OverridableComponent").CommonProps | "color" | "fontSize" | "shapeRendering" | "children" | "sx" | "htmlColor" | "inheritViewBox" | "titleAccess" | "viewBox"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
|
|
30
|
-
declare
|
|
30
|
+
declare type TypeProps = {
|
|
31
|
+
show: boolean;
|
|
32
|
+
};
|
|
33
|
+
declare const Type: ({ show }: TypeProps) => JSX.Element;
|
|
31
34
|
export default Type;
|
|
@@ -26,6 +26,7 @@ import Tooltip from '../../../../components/Tooltip';
|
|
|
26
26
|
import Radio from '../../../../components/Radio';
|
|
27
27
|
import { clearError, authSelector } from '../../../app/auth/authStore';
|
|
28
28
|
import { useAppDispatch, useAppSelector } from '../../../../hooks';
|
|
29
|
+
import Collapse from '../../../../components/Collapse';
|
|
29
30
|
var LabelTextStyled = styled(Text)(function (_a) {
|
|
30
31
|
var theme = _a.theme;
|
|
31
32
|
return (__assign(__assign({}, theme.typography.caption), { color: alpha(theme.palette.text.primary, 0.6), marginBlockEnd: theme.spacing(0.625) }));
|
|
@@ -70,12 +71,13 @@ export var InfoOutlinedIconStyled = styled(InfoOutlinedIcon)(function (_a) {
|
|
|
70
71
|
display: 'inline-flex'
|
|
71
72
|
});
|
|
72
73
|
});
|
|
73
|
-
var Type = function () {
|
|
74
|
+
var Type = function (_a) {
|
|
75
|
+
var show = _a.show;
|
|
74
76
|
var t = useTranslation().t;
|
|
75
77
|
var control = useFormContext().control;
|
|
76
78
|
var error = useAppSelector(authSelector).error;
|
|
77
|
-
var
|
|
78
|
-
var
|
|
79
|
+
var _b = React.useState(false), isCRHovered = _b[0], setIsCRHovered = _b[1];
|
|
80
|
+
var _c = React.useState(false), isFLHovered = _c[0], setIsFLHovered = _c[1];
|
|
79
81
|
var typeControl = useController({ control: control, name: 'licenseType' });
|
|
80
82
|
var dispatch = useAppDispatch();
|
|
81
83
|
var handleOnChange = function (_a) {
|
|
@@ -85,6 +87,6 @@ var Type = function () {
|
|
|
85
87
|
typeControl.field.onChange(target.value);
|
|
86
88
|
};
|
|
87
89
|
var typeValue = typeControl.field.value;
|
|
88
|
-
return (_jsxs(ScreenContainer, __assign({ sx: { pb: 1.5, pl: 2.5, pr: 2.5 } }, { children: [_jsxs(LabelTextStyled, { children: [t('signup_business_type_label'), _jsx(Mandatory, {})] }), _jsxs(RadioGroupStyled, __assign({ value: typeValue ? (typeValue === LicenseType.FL ? LicenseType.FL : LicenseType.CR) : false, onChange: handleOnChange }, { children: [_jsx(RadioLabel, { value: LicenseType.FL, label: _jsxs(LabelStyled, { children: [t('homemaker_reg'), _jsx(Tooltip, __assign({ title: t('homemaker_reg_hint'), onMouseOver: function () { return setIsFLHovered(true); }, onMouseLeave: function () { return setIsFLHovered(false); }, onTouchStartCapture: function () { return setIsFLHovered(true); } }, { children: isFLHovered ? _jsx(InfoIconStyled, {}) : _jsx(InfoOutlinedIconStyled, {}) }))] }), control: _jsx(RadioStyled, { color: 'primary', disableFocusRipple: true, disableRipple: true, disableTouchRipple: true, focusRipple: false }) }), _jsx(RadioLabel, { value: LicenseType.CR, sx: { marginInlineEnd: '0px' }, label: _jsxs(LabelStyled, { children: [t('commercial_reg'), _jsx(Tooltip, __assign({ title: t('commercial_reg_hint'), onMouseOver: function () { return setIsCRHovered(true); }, onMouseLeave: function () { return setIsCRHovered(false); }, onTouchStartCapture: function () { return setIsCRHovered(true); } }, { children: isCRHovered ? _jsx(InfoIconStyled, {}) : _jsx(InfoOutlinedIconStyled, {}) }))] }), control: _jsx(RadioStyled, { color: 'primary', disableFocusRipple: true, disableRipple: true, disableTouchRipple: true, focusRipple: false }) })] }))] })));
|
|
90
|
+
return (_jsx(Collapse, __assign({ in: show }, { children: _jsxs(ScreenContainer, __assign({ sx: { pb: 1.5, pl: 2.5, pr: 2.5 } }, { children: [_jsxs(LabelTextStyled, { children: [t('signup_business_type_label'), _jsx(Mandatory, {})] }), _jsxs(RadioGroupStyled, __assign({ value: typeValue ? (typeValue === LicenseType.FL ? LicenseType.FL : LicenseType.CR) : false, onChange: handleOnChange }, { children: [_jsx(RadioLabel, { value: LicenseType.FL, label: _jsxs(LabelStyled, { children: [t('homemaker_reg'), _jsx(Tooltip, __assign({ title: t('homemaker_reg_hint'), onMouseOver: function () { return setIsFLHovered(true); }, onMouseLeave: function () { return setIsFLHovered(false); }, onTouchStartCapture: function () { return setIsFLHovered(true); } }, { children: isFLHovered ? _jsx(InfoIconStyled, {}) : _jsx(InfoOutlinedIconStyled, {}) }))] }), control: _jsx(RadioStyled, { color: 'primary', disableFocusRipple: true, disableRipple: true, disableTouchRipple: true, focusRipple: false }) }), _jsx(RadioLabel, { value: LicenseType.CR, sx: { marginInlineEnd: '0px' }, label: _jsxs(LabelStyled, { children: [t('commercial_reg'), _jsx(Tooltip, __assign({ title: t('commercial_reg_hint'), onMouseOver: function () { return setIsCRHovered(true); }, onMouseLeave: function () { return setIsCRHovered(false); }, onTouchStartCapture: function () { return setIsCRHovered(true); } }, { children: isCRHovered ? _jsx(InfoIconStyled, {}) : _jsx(InfoOutlinedIconStyled, {}) }))] }), control: _jsx(RadioStyled, { color: 'primary', disableFocusRipple: true, disableRipple: true, disableTouchRipple: true, focusRipple: false }) })] }))] })) })));
|
|
89
91
|
};
|
|
90
92
|
export default Type;
|
|
@@ -43,9 +43,12 @@ import SimpleList from '../../../../components/SimpleList';
|
|
|
43
43
|
import Text from '../../../../components/Text';
|
|
44
44
|
import ExpandIcon from '../../../../components/ExpandIcon';
|
|
45
45
|
import Collapse from '../../../../components/Collapse';
|
|
46
|
+
import { LicenseType } from '../../../../@types';
|
|
46
47
|
import Icon from '../../../../components/Icon';
|
|
47
48
|
import { authSelector } from '../../../app/auth/authStore';
|
|
48
49
|
import { ADD_ENTITY } from '../../../../constants';
|
|
50
|
+
import { settingsSelector } from '../../../../app/settings';
|
|
51
|
+
import { isSA } from '../../../../utils';
|
|
49
52
|
var EntityContainer = styled(Box)(function () { return ({
|
|
50
53
|
display: 'flex',
|
|
51
54
|
alignItems: 'center'
|
|
@@ -74,6 +77,8 @@ var EntityList = function (_a) {
|
|
|
74
77
|
var entityList = ((_b = data.responseData) === null || _b === void 0 ? void 0 : _b.entityList) || [];
|
|
75
78
|
var selectedEntityControl = useController({ control: control, name: 'entityInfo' });
|
|
76
79
|
var selectedEntity = selectedEntityControl.field.value;
|
|
80
|
+
var businessCountry = useAppSelector(settingsSelector).data.businessCountry;
|
|
81
|
+
var isSACountry = React.useMemo(function () { return isSA(businessCountry === null || businessCountry === void 0 ? void 0 : businessCountry.iso2); }, [businessCountry === null || businessCountry === void 0 ? void 0 : businessCountry.iso2]);
|
|
77
82
|
React.useEffect(function () {
|
|
78
83
|
if (entityList.length > 0) {
|
|
79
84
|
var filteredEntityList = entityList.filter(function (entity) { return (brandInfo === null || brandInfo === void 0 ? void 0 : brandInfo.business_id) && entity.business_id === brandInfo.business_id; }) || [];
|
|
@@ -121,8 +126,11 @@ var EntityList = function (_a) {
|
|
|
121
126
|
};
|
|
122
127
|
var onSelectItem = function (entity) {
|
|
123
128
|
selectedEntityControl.field.onChange(entity);
|
|
124
|
-
if (entity.id === ADD_ENTITY)
|
|
129
|
+
if (entity.id === ADD_ENTITY) {
|
|
130
|
+
if (!isSACountry)
|
|
131
|
+
setValue('licenseType', LicenseType.CR);
|
|
125
132
|
handleAddEntity === null || handleAddEntity === void 0 ? void 0 : handleAddEntity(true);
|
|
133
|
+
}
|
|
126
134
|
else {
|
|
127
135
|
setValue('licenseNumber', '');
|
|
128
136
|
setValue('legalName', '');
|
|
@@ -23,7 +23,7 @@ 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,
|
|
26
|
+
import { deepCopy, isKW, isOtherLicense, isSA, sendCustomEventToGTM } from '../../../../utils';
|
|
27
27
|
import { KWLicenseValidationSchema, LicenseValidationSchema, OtherCountryLicenseValidationSchema } from './validation';
|
|
28
28
|
import LicenseList from './LicenseList';
|
|
29
29
|
import LicenseCertificate from './LicenseCertificate';
|
|
@@ -60,7 +60,6 @@ var BusinessType = function (_a) {
|
|
|
60
60
|
};
|
|
61
61
|
var isSACountry = React.useMemo(function () { return isSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
|
|
62
62
|
var isKWCountry = React.useMemo(function () { return isKW(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
|
|
63
|
-
var isOtherCountry = React.useMemo(function () { return isOtherThanKWOrSA(settingsData.businessCountry.iso2); }, [settingsData.businessCountry.iso2]);
|
|
64
63
|
var getSchema = function () {
|
|
65
64
|
if (isSACountry)
|
|
66
65
|
return LicenseValidationSchema;
|
|
@@ -116,7 +115,7 @@ var BusinessType = function (_a) {
|
|
|
116
115
|
var isCR = (selected === null || selected === void 0 ? void 0 : selected.type) === Type.CR;
|
|
117
116
|
var isFL = (selected === null || selected === void 0 ? void 0 : selected.type) === Type.FL;
|
|
118
117
|
var hasEntityList = !!(entityLicenseList === null || entityLicenseList === void 0 ? void 0 : entityLicenseList.length);
|
|
119
|
-
var showLicenseList = hasEntityList ?
|
|
118
|
+
var showLicenseList = hasEntityList ? isSACountry && isOtherLicense(selectedLicenseEntity) : isSACountry;
|
|
120
119
|
var showEntityList = isKWCountry ? hasEntityList && !isLicenseListActive && isCR : hasEntityList && !isLicenseListActive;
|
|
121
120
|
var disabled = !methods.formState.isValid || uploading || uploadingArticle;
|
|
122
121
|
var disableBack = !data.otpData.isNID;
|
|
@@ -37,7 +37,7 @@ import Text from '../../../../components/Text';
|
|
|
37
37
|
import ExpandIcon from '../../../../components/ExpandIcon';
|
|
38
38
|
import Collapse from '../../../../components/Collapse';
|
|
39
39
|
import { isKW, isOtherLicense, isSA } from '../../../../utils';
|
|
40
|
-
import { OTHER_CR_LICENSE
|
|
40
|
+
import { OTHER_CR_LICENSE } from '../../../../constants';
|
|
41
41
|
import { settingsSelector } from '../../../../app/settings';
|
|
42
42
|
var InputStyled = styled(InputSelect)(function (_a) {
|
|
43
43
|
var theme = _a.theme;
|
|
@@ -91,10 +91,10 @@ var LicenseList = function (_a) {
|
|
|
91
91
|
}, [licenseList, selectedLicense]);
|
|
92
92
|
React.useEffect(function () {
|
|
93
93
|
if (!!country_code) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
if (!isSA(country_code)) {
|
|
95
|
+
setValue('selectedLicense', OTHER_CR_LICENSE, { shouldValidate: true });
|
|
96
|
+
}
|
|
97
|
+
if (isKW(country_code)) {
|
|
98
98
|
setValue('entityLegalName', entityLegalName, { shouldValidate: true });
|
|
99
99
|
}
|
|
100
100
|
}
|