@tap-payments/auth-jsconnect 2.0.50 → 2.0.51
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/features/app/brand/brandStore.d.ts +3 -3
- package/build/features/app/brand/brandStore.js +5 -7
- package/build/features/brand/screens/BrandInfo/BrandInfo.js +19 -14
- package/build/features/brand/screens/BrandInfo/SalesChannels.js +7 -25
- package/build/features/brand/screens/BrandInfo/validation.d.ts +1 -1
- package/build/features/brand/screens/BrandInfo/validation.js +3 -5
- package/package.json +1 -1
|
@@ -106,8 +106,8 @@ export declare const checkBrandNameAvailability: import("@reduxjs/toolkit").Asyn
|
|
|
106
106
|
}>;
|
|
107
107
|
export declare const updateBrand: import("@reduxjs/toolkit").AsyncThunk<{
|
|
108
108
|
data: any;
|
|
109
|
-
formData: BrandFormValues
|
|
110
|
-
}, BrandFormValues, {
|
|
109
|
+
formData: Omit<BrandFormValues, "termAndConditionChecked" | "selectedBrandItem">;
|
|
110
|
+
}, Omit<BrandFormValues, "termAndConditionChecked" | "selectedBrandItem">, {
|
|
111
111
|
state?: unknown;
|
|
112
112
|
dispatch?: import("redux").Dispatch<import("redux").AnyAction> | undefined;
|
|
113
113
|
extra?: unknown;
|
|
@@ -176,7 +176,7 @@ type VerifyData = {
|
|
|
176
176
|
export interface BrandData {
|
|
177
177
|
verify: ResponseData & VerifyData;
|
|
178
178
|
otpData: OTPFormValues & ResponseData;
|
|
179
|
-
brandData: BrandFormValues & ResponseData;
|
|
179
|
+
brandData: Omit<BrandFormValues, 'selectedBrandItem' | 'termAndConditionChecked'> & ResponseData;
|
|
180
180
|
brandActivities: BrandActivitiesFormValues & ResponseData;
|
|
181
181
|
flowName: FlowsTypes;
|
|
182
182
|
}
|
|
@@ -272,9 +272,9 @@ export var updateBrand = createAsyncThunk('brandUpdateBrand', function (params,
|
|
|
272
272
|
teamSizeId = teamSize && { id: teamSize.id };
|
|
273
273
|
getAddress = function (value, isTwitter, isWeb) {
|
|
274
274
|
if (isTwitter)
|
|
275
|
-
return '@' + value;
|
|
275
|
+
return '@' + value.replaceAll('@', '');
|
|
276
276
|
if (isWeb)
|
|
277
|
-
return 'https://' + value;
|
|
277
|
+
return 'https://www.' + value.replaceAll('https://www.', '');
|
|
278
278
|
return value;
|
|
279
279
|
};
|
|
280
280
|
channel_services = isChannelServicesEditable
|
|
@@ -444,9 +444,7 @@ var initialState = {
|
|
|
444
444
|
},
|
|
445
445
|
brandData: {
|
|
446
446
|
brandName: '',
|
|
447
|
-
salesChannels: []
|
|
448
|
-
termAndConditionChecked: false,
|
|
449
|
-
selectedBrandItem: {}
|
|
447
|
+
salesChannels: []
|
|
450
448
|
},
|
|
451
449
|
brandActivities: {
|
|
452
450
|
activities: [],
|
|
@@ -485,7 +483,7 @@ export var brandSlice = createSlice({
|
|
|
485
483
|
state.customLoading = false;
|
|
486
484
|
var _e = action.payload, data = _e.data, token = _e.token, boardResponse = _e.boardResponse, segmentsList = _e.segmentsList, teamSizeList = _e.teamSizeList, salesChannels = _e.salesChannels;
|
|
487
485
|
var brand = boardResponse.brand, entity = boardResponse.entity;
|
|
488
|
-
state.data.brandData.brandName = (_a = brand === null || brand === void 0 ? void 0 : brand.name) === null || _a === void 0 ? void 0 : _a.en;
|
|
486
|
+
state.data.brandData.brandName = (((_a = brand === null || brand === void 0 ? void 0 : brand.name) === null || _a === void 0 ? void 0 : _a.en) || '').trim();
|
|
489
487
|
var selectedSegment = (_b = segmentsList === null || segmentsList === void 0 ? void 0 : segmentsList.filter(function (segment) {
|
|
490
488
|
var _a, _b;
|
|
491
489
|
return segment.id === ((_b = (_a = brand === null || brand === void 0 ? void 0 : brand.segment) === null || _a === void 0 ? void 0 : _a.type) === null || _b === void 0 ? void 0 : _b.id);
|
|
@@ -538,7 +536,7 @@ export var brandSlice = createSlice({
|
|
|
538
536
|
var brand = boardResponse.brand, entity = boardResponse.entity;
|
|
539
537
|
state.data.otpData = formData;
|
|
540
538
|
state.data.otpData.responseBody = data;
|
|
541
|
-
state.data.brandData.brandName = (_a = brand === null || brand === void 0 ? void 0 : brand.name) === null || _a === void 0 ? void 0 : _a.en;
|
|
539
|
+
state.data.brandData.brandName = (((_a = brand === null || brand === void 0 ? void 0 : brand.name) === null || _a === void 0 ? void 0 : _a.en) || '').trim();
|
|
542
540
|
var selectedSegment = (_b = segmentsList === null || segmentsList === void 0 ? void 0 : segmentsList.filter(function (segment) {
|
|
543
541
|
var _a, _b;
|
|
544
542
|
return segment.id === ((_b = (_a = brand === null || brand === void 0 ? void 0 : brand.segment) === null || _a === void 0 ? void 0 : _a.type) === null || _b === void 0 ? void 0 : _b.id);
|
|
@@ -19,32 +19,40 @@ import { useAppDispatch, useAppSelector, useLanguage, useSetFromDefaultValues }
|
|
|
19
19
|
import { yupResolver } from '@hookform/resolvers/yup';
|
|
20
20
|
import { BrandValidationSchema } from './validation';
|
|
21
21
|
import Button from '../../../shared/Button';
|
|
22
|
+
import { settingsSelector } from '../../../../app/settings';
|
|
22
23
|
import { clearError, brandSelector, updateBrand } from '../../../app/brand/brandStore';
|
|
23
24
|
import { useTranslation } from 'react-i18next';
|
|
25
|
+
import TeamSize from '../../../../features/brand/screens/BrandInfo/TeamSize';
|
|
26
|
+
import Collapse from '../../../../components/Collapse';
|
|
27
|
+
import { mapSalesChannel } from '../../../../utils';
|
|
24
28
|
import BrandName from './BrandName';
|
|
25
29
|
import Segments from './Segments';
|
|
26
30
|
import SalesChannels from './SalesChannels';
|
|
27
|
-
import TeamSize from '../../../../features/brand/screens/BrandInfo/TeamSize';
|
|
28
|
-
import Collapse from '../../../../components/Collapse';
|
|
29
31
|
var FormStyled = styled(Form)(function () { return ({
|
|
30
32
|
display: 'flex',
|
|
31
33
|
flexDirection: 'column'
|
|
32
34
|
}); });
|
|
35
|
+
var ListType;
|
|
36
|
+
(function (ListType) {
|
|
37
|
+
ListType["SegmentsList"] = "SegmentsList";
|
|
38
|
+
ListType["TeamSizeList"] = "TeamSizeList";
|
|
39
|
+
})(ListType || (ListType = {}));
|
|
33
40
|
var BrandInfo = function (_a) {
|
|
34
41
|
var _b = React.useState(), listActive = _b[0], setListActive = _b[1];
|
|
35
42
|
var _c = React.useState(false), brandNameChecking = _c[0], setBrandNameChecking = _c[1];
|
|
36
43
|
var dispatch = useAppDispatch();
|
|
44
|
+
var t = useTranslation().t;
|
|
45
|
+
var isAr = useLanguage().isAr;
|
|
46
|
+
var settingData = useAppSelector(settingsSelector).data;
|
|
37
47
|
var _d = useAppSelector(brandSelector), data = _d.data, loading = _d.loading, error = _d.error;
|
|
38
|
-
var _e = data.brandData, brandName = _e.brandName, segment = _e.segment, teamSize = _e.teamSize, salesChannels = _e.salesChannels,
|
|
48
|
+
var _e = data.brandData, brandName = _e.brandName, segment = _e.segment, teamSize = _e.teamSize, salesChannels = _e.salesChannels, responseBody = _e.responseBody;
|
|
39
49
|
var methods = useForm({
|
|
40
|
-
resolver: yupResolver(BrandValidationSchema(
|
|
50
|
+
resolver: yupResolver(BrandValidationSchema()),
|
|
41
51
|
defaultValues: {
|
|
42
52
|
brandName: brandName,
|
|
43
53
|
segment: segment,
|
|
44
54
|
teamSize: teamSize,
|
|
45
|
-
salesChannels: salesChannels
|
|
46
|
-
termAndConditionChecked: termAndConditionChecked,
|
|
47
|
-
selectedBrandItem: selectedBrandItem
|
|
55
|
+
salesChannels: salesChannels
|
|
48
56
|
},
|
|
49
57
|
mode: 'onChange'
|
|
50
58
|
});
|
|
@@ -52,21 +60,18 @@ var BrandInfo = function (_a) {
|
|
|
52
60
|
var onSubmit = function (data) {
|
|
53
61
|
dispatch(updateBrand(data));
|
|
54
62
|
};
|
|
55
|
-
var ListType;
|
|
56
|
-
(function (ListType) {
|
|
57
|
-
ListType["SegmentsList"] = "SegmentsList";
|
|
58
|
-
ListType["TeamSizeList"] = "TeamSizeList";
|
|
59
|
-
})(ListType || (ListType = {}));
|
|
60
63
|
React.useEffect(function () {
|
|
61
64
|
if (error)
|
|
62
65
|
dispatch(clearError());
|
|
63
66
|
}, [methods.formState.isValid]);
|
|
67
|
+
React.useEffect(function () {
|
|
68
|
+
if (salesChannels.length)
|
|
69
|
+
methods.setValue('salesChannels', mapSalesChannel(salesChannels), { shouldValidate: true });
|
|
70
|
+
}, []);
|
|
64
71
|
React.useEffect(function () {
|
|
65
72
|
if ((responseBody === null || responseBody === void 0 ? void 0 : responseBody.response_code) === '5')
|
|
66
73
|
methods.setError('brandName', { message: 'brand_name_already_exist' });
|
|
67
74
|
}, [responseBody]);
|
|
68
|
-
var t = useTranslation().t;
|
|
69
|
-
var isAr = useLanguage().isAr;
|
|
70
75
|
var brandErrChecks = !methods.formState.isValid || !!methods.formState.errors.brandName || !!error;
|
|
71
76
|
var disabled = brandErrChecks || brandNameChecking;
|
|
72
77
|
var handleMenuClick = function (flag) {
|
|
@@ -1,42 +1,24 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useController, useFormContext } from 'react-hook-form';
|
|
4
|
-
import { FieldType } from '../../../../@types';
|
|
5
4
|
import { useAppSelector, useAppDispatch } from '../../../../hooks';
|
|
6
5
|
import { mapSalesChannel } from '../../../../utils';
|
|
7
6
|
import { brandSelector, clearError } from '../../../app/brand/brandStore';
|
|
8
7
|
import SalesChannel from '../../../shared/SalesChannels';
|
|
9
8
|
var SalesChannels = function (_a) {
|
|
10
|
-
var _b
|
|
11
|
-
var
|
|
9
|
+
var _b;
|
|
10
|
+
var control = useFormContext().control;
|
|
12
11
|
var dispatch = useAppDispatch();
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var _g = verify.responseBody || {}, channelList = _g.channel_list, brand = _g.brand;
|
|
18
|
-
var isNonEditable = ((_b = brand === null || brand === void 0 ? void 0 : brand.data_status) === null || _b === void 0 ? void 0 : _b.name) === FieldType.NON_EDITABLE;
|
|
19
|
-
var selectedBrandControl = getValues('selectedBrandItem');
|
|
20
|
-
React.useEffect(function () {
|
|
21
|
-
if (selectedBrandItem.id) {
|
|
22
|
-
setValue('selectedBrandItem', selectedBrandItem);
|
|
23
|
-
var sales = mapSalesChannel(selectedBrandItem.channel_services || []);
|
|
24
|
-
field.onChange(sales);
|
|
25
|
-
}
|
|
26
|
-
}, [selectedBrandItem]);
|
|
27
|
-
React.useEffect(function () {
|
|
28
|
-
var _a;
|
|
29
|
-
if ((defaultSalesChannels === null || defaultSalesChannels === void 0 ? void 0 : defaultSalesChannels.length) > 0 && ((_a = field === null || field === void 0 ? void 0 : field.value) === null || _a === void 0 ? void 0 : _a.length) === 0) {
|
|
30
|
-
var sales = mapSalesChannel(defaultSalesChannels);
|
|
31
|
-
field.onChange(sales);
|
|
32
|
-
}
|
|
33
|
-
}, [defaultSalesChannels]);
|
|
12
|
+
var _c = useController({ control: control, name: 'salesChannels' }), fieldState = _c.fieldState, field = _c.field;
|
|
13
|
+
var _d = useAppSelector(brandSelector), data = _d.data, error = _d.error;
|
|
14
|
+
var channelList = (data.verify.responseBody || {}).channel_list;
|
|
15
|
+
var isNonEditable = false;
|
|
34
16
|
var selectedSalesChannels = React.useMemo(function () { return mapSalesChannel(field.value); }, [(field.value || []).length]);
|
|
35
17
|
var onChange = function (channels) {
|
|
36
18
|
if (error)
|
|
37
19
|
dispatch(clearError());
|
|
38
20
|
field.onChange(channels);
|
|
39
21
|
};
|
|
40
|
-
return (_jsx(SalesChannel, { disabled: isNonEditable, error: (
|
|
22
|
+
return (_jsx(SalesChannel, { disabled: isNonEditable, error: (_b = fieldState.error) === null || _b === void 0 ? void 0 : _b.message, list: channelList, onChange: onChange, defaultValue: selectedSalesChannels }));
|
|
41
23
|
};
|
|
42
24
|
export default SalesChannels;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as yup from 'yup';
|
|
2
|
-
export declare const BrandValidationSchema: (
|
|
2
|
+
export declare const BrandValidationSchema: () => yup.ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
3
3
|
brandName: yup.StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
|
|
4
4
|
segment: import("yup/lib/object").RequiredObjectSchema<import("yup/lib/object").ObjectShape, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
|
|
5
5
|
teamSize: import("yup/lib/object").RequiredObjectSchema<import("yup/lib/object").ObjectShape, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
|
|
@@ -7,7 +7,6 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
7
7
|
}
|
|
8
8
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
9
|
};
|
|
10
|
-
import { FieldType } from '../../../../@types';
|
|
11
10
|
import { REGEX_WEBSITE, LINKEDIN_URL, SOCIAL_USERNAME, DIGITS_ONLY, REGEX_ALPHANUMERIC } from '../../../../constants';
|
|
12
11
|
import * as yup from 'yup';
|
|
13
12
|
var validationSalesChannels = function (channels) {
|
|
@@ -70,10 +69,9 @@ var validationSalesChannels = function (channels) {
|
|
|
70
69
|
}
|
|
71
70
|
return true;
|
|
72
71
|
};
|
|
73
|
-
export var BrandValidationSchema = function (
|
|
74
|
-
var
|
|
75
|
-
var
|
|
76
|
-
var isSalesChannelsOptional = !channel_services && (data_status === null || data_status === void 0 ? void 0 : data_status.channel_services) === FieldType.NON_EDITABLE;
|
|
72
|
+
export var BrandValidationSchema = function () {
|
|
73
|
+
var isNameOptional = false;
|
|
74
|
+
var isSalesChannelsOptional = false;
|
|
77
75
|
return yup.object().shape({
|
|
78
76
|
brandName: isNameOptional
|
|
79
77
|
? yup.string().optional()
|