@sentecacommerce-theme/lib 0.12.100 → 0.13.1
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/dist/cjs/analytics/Pixel/mainScript.js +1 -2
- package/dist/cjs/api/getSDKConfig.js +2 -4
- package/dist/cjs/api/myCartApi/index.js +2 -8
- package/dist/cjs/config/SentecaProvider.js +1 -3
- package/dist/cjs/hooks/useAvailability/index.js +1 -1
- package/dist/cjs/hooks/useProduct/index.js +5 -15
- package/dist/cjs/hooks/wishlist-hooks/useWishlistItem/index.js +15 -39
- package/dist/cjs/listing/api/queries/useListingQuery.js +1 -1
- package/dist/cjs/listing/hooks/useListingMeta.js +40 -49
- package/dist/cjs/listing/hooks/useSlideFilter.js +3 -24
- package/dist/cjs/listing/ssr/prefetchCategories.js +6 -5
- package/dist/cjs/listing/ssr/prefetchPredicate.js +4 -4
- package/dist/cjs/navigation/components/SearchBox/Components/EmptyBox/index.js +7 -7
- package/dist/cjs/navigation/components/SearchBox/index.js +4 -4
- package/dist/cjs/seo/components/TranslationsMeta/index.js +14 -43
- package/dist/cjs/seo/components/index.js +0 -12
- package/dist/cjs/seo/hooks/useSeoTranslations.js +14 -55
- package/dist/cjs/ui/components/GridStyles.js +2 -2
- package/dist/cjs/ui/components/RangeSliderInput.js +1 -14
- package/dist/cjs/utils/index.js +0 -12
- package/dist/cjs/utils/isTouchDevice.js +1 -2
- package/dist/esm/analytics/Pixel/mainScript.js +1 -2
- package/dist/esm/api/getSDKConfig.js +3 -5
- package/dist/esm/api/myCartApi/index.js +2 -8
- package/dist/esm/config/SentecaProvider.js +1 -3
- package/dist/esm/hooks/useAvailability/index.js +1 -1
- package/dist/esm/hooks/useProduct/index.js +16 -26
- package/dist/esm/hooks/wishlist-hooks/useWishlistItem/index.js +13 -21
- package/dist/esm/listing/api/queries/useListingQuery.js +1 -1
- package/dist/esm/listing/hooks/useListingMeta.js +40 -49
- package/dist/esm/listing/hooks/useSlideFilter.js +3 -24
- package/dist/esm/listing/ssr/prefetchCategories.js +7 -6
- package/dist/esm/listing/ssr/prefetchPredicate.js +4 -4
- package/dist/esm/navigation/components/SearchBox/Components/EmptyBox/index.js +7 -7
- package/dist/esm/navigation/components/SearchBox/index.js +4 -4
- package/dist/esm/seo/components/TranslationsMeta/index.js +14 -43
- package/dist/esm/seo/components/index.js +0 -1
- package/dist/esm/seo/hooks/useSeoTranslations.js +14 -55
- package/dist/esm/ui/components/GridStyles.js +2 -2
- package/dist/esm/ui/components/RangeSliderInput.js +1 -14
- package/dist/esm/utils/index.js +0 -1
- package/dist/esm/utils/isTouchDevice.js +1 -2
- package/dist/types/listing/hooks/useSlideFilter.d.ts +0 -4
- package/dist/types/listing/types.d.ts +0 -10
- package/dist/types/navigation/components/SearchBox/Components/EmptyBox/index.d.ts +4 -5
- package/dist/types/navigation/components/SearchBox/index.d.ts +6 -7
- package/dist/types/seo/components/index.d.ts +0 -1
- package/dist/types/seo/hooks/useSeoTranslations.d.ts +3 -5
- package/dist/types/ui/components/GridStyles.d.ts +1 -2
- package/dist/types/ui/components/RangeSliderInput.d.ts +1 -2
- package/dist/types/utils/index.d.ts +0 -1
- package/package.json +4 -4
- package/dist/cjs/utils/getLocaleFromPath.js +0 -13
- package/dist/esm/utils/getLocaleFromPath.js +0 -8
- package/dist/types/seo/components/TranslationsMeta/index.d.ts +0 -1
- package/dist/types/utils/getLocaleFromPath.d.ts +0 -1
@@ -158,8 +158,7 @@ function _objectSpread(target) {
|
|
158
158
|
mode: 'cors',
|
159
159
|
cache: 'no-cache',
|
160
160
|
headers: {
|
161
|
-
'Content-Type': 'application/json'
|
162
|
-
'senteca-locale': global.location.pathname.split('/')[1] || ''
|
161
|
+
'Content-Type': 'application/json'
|
163
162
|
},
|
164
163
|
body: JSON.stringify(payload)
|
165
164
|
});
|
@@ -44,16 +44,14 @@ var getSDKConfig = function() {
|
|
44
44
|
var defaultConfig = getOptions(options);
|
45
45
|
var headers = ((ref = _sdk.HttpClient.defaultConfig) === null || ref === void 0 ? void 0 : ref.options.headers) || (defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.headers) || {};
|
46
46
|
var config = new _sdk.Configuration(_objectSpread({}, ((ref1 = _sdk.HttpClient.defaultConfig) === null || ref1 === void 0 ? void 0 : ref1.options) || defaultConfig, options, {
|
47
|
-
headers: _objectSpread({}, headers, options.headers || {}
|
48
|
-
'senteca-locale': (0, _utils).getLocaleFromPath()
|
49
|
-
})
|
47
|
+
headers: _objectSpread({}, headers, options.headers || {})
|
50
48
|
}));
|
51
49
|
return config;
|
52
50
|
};
|
53
51
|
exports.getSDKConfig = getSDKConfig;
|
54
52
|
var getOptions = function() {
|
55
53
|
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
56
|
-
if (
|
54
|
+
if (typeof window === 'undefined') {
|
57
55
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
58
56
|
var nodeFetch = require('node-fetch');
|
59
57
|
var ref;
|
@@ -10,7 +10,6 @@ var _utils = require("../../utils");
|
|
10
10
|
var _getSDKConfig = require("../getSDKConfig");
|
11
11
|
var _utils1 = require("./utils");
|
12
12
|
var _promoCode = require("../../api.v2/core/misc/promo-code");
|
13
|
-
var _ = require("../..");
|
14
13
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
15
14
|
try {
|
16
15
|
var info = gen[key](arg);
|
@@ -123,7 +122,6 @@ var MyCartApiFactory = function() {
|
|
123
122
|
}(),
|
124
123
|
useGet: function() {
|
125
124
|
var queryCache = (0, _reactQuery).useQueryCache();
|
126
|
-
var isLoading = (0, _).useIsAuthenticated().isLoading;
|
127
125
|
return (0, _reactQuery).useQuery(myCartCacheKeys.useGet, _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee() {
|
128
126
|
var data;
|
129
127
|
return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
|
@@ -142,14 +140,12 @@ var MyCartApiFactory = function() {
|
|
142
140
|
}
|
143
141
|
}, _callee);
|
144
142
|
})), {
|
145
|
-
enabled: !isLoading,
|
146
143
|
retry: false,
|
147
|
-
refetchOnMount:
|
144
|
+
refetchOnMount: false,
|
148
145
|
refetchOnWindowFocus: false
|
149
146
|
});
|
150
147
|
},
|
151
148
|
useGetCompact: function() {
|
152
|
-
var isLoading = (0, _).useIsAuthenticated().isLoading;
|
153
149
|
return (0, _reactQuery).useQuery(myCartCacheKeys.useGetCompact, _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee() {
|
154
150
|
var compactBasket;
|
155
151
|
return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
|
@@ -162,9 +158,7 @@ var MyCartApiFactory = function() {
|
|
162
158
|
return _ctx.stop();
|
163
159
|
}
|
164
160
|
}, _callee);
|
165
|
-
}))
|
166
|
-
enabled: !isLoading
|
167
|
-
});
|
161
|
+
})));
|
168
162
|
},
|
169
163
|
useIsExisting: function(productId, variantId, collapseKey) {
|
170
164
|
return (0, _reactQuery).useQuery([
|
@@ -8,7 +8,6 @@ var _nodeFetch = _interopRequireDefault(require("node-fetch"));
|
|
8
8
|
var _getSDKConfig = require("../api/getSDKConfig");
|
9
9
|
var _reactQuery = require("react-query");
|
10
10
|
var _tokens = require("../utils/tokens");
|
11
|
-
var _utils = require("../utils");
|
12
11
|
var _router = require("next/router");
|
13
12
|
function _defineProperty(obj, key, value) {
|
14
13
|
if (key in obj) {
|
@@ -52,8 +51,7 @@ function SentecaProvider(param) {
|
|
52
51
|
if (localeData) {
|
53
52
|
options.headers = _objectSpread({}, options.headers || {}, {
|
54
53
|
InterfaceKey: localeData.interfaceKey,
|
55
|
-
StoreKey: localeData.storeKey
|
56
|
-
'senteca-locale': (0, _utils).getLocaleFromPath()
|
54
|
+
StoreKey: localeData.storeKey
|
57
55
|
});
|
58
56
|
}
|
59
57
|
_sdk.HttpClient.defaultConfig = new _sdk.Configuration(options);
|
@@ -70,7 +70,7 @@ var useAvailability = function(param) {
|
|
70
70
|
setStatus(ProductQuantityStatusEnum.OutOfStock);
|
71
71
|
return;
|
72
72
|
}
|
73
|
-
if (quantity
|
73
|
+
if ((quantity !== null && quantity !== void 0 ? quantity : 0) < (quantityInBasket || 1)) {
|
74
74
|
setStatus(ProductQuantityStatusEnum.MaxQuantityReached);
|
75
75
|
return;
|
76
76
|
}
|
@@ -317,26 +317,16 @@ function ProductProvider(param) {
|
|
317
317
|
return variants === null || variants === void 0 ? void 0 : variants[id];
|
318
318
|
}
|
319
319
|
function getVariantByCombination(key, value) {
|
320
|
-
var
|
321
|
-
var
|
322
|
-
|
323
|
-
var id = Object.keys(variants).find(function(el) {
|
324
|
-
var ref;
|
325
|
-
return variants[el].collapseKey === (split === null || split === void 0 ? void 0 : split[1]) && ((ref = variants[el].attributes.find(function(attr) {
|
326
|
-
return attr.name === 'size';
|
327
|
-
})) === null || ref === void 0 ? void 0 : ref.value) === key;
|
328
|
-
});
|
329
|
-
return variants[id];
|
330
|
-
}
|
331
|
-
var id3 = (ref42 = combinations[key]) === null || ref42 === void 0 ? void 0 : ref42.params[value];
|
332
|
-
return variants === null || variants === void 0 ? void 0 : variants[id3];
|
320
|
+
var ref;
|
321
|
+
var id = (ref = combinations[key]) === null || ref === void 0 ? void 0 : ref.params[value];
|
322
|
+
return variants === null || variants === void 0 ? void 0 : variants[id];
|
333
323
|
}
|
334
324
|
function getCustomFieldValue(field) {
|
335
325
|
return customFields === null || customFields === void 0 ? void 0 : customFields[field];
|
336
326
|
}
|
337
327
|
function getCombinationsForAttributeRule(key, id) {
|
338
|
-
var ref,
|
339
|
-
var result = attributeRules === null || attributeRules === void 0 ? void 0 : (ref = attributeRules[key]) === null || ref === void 0 ? void 0 : (
|
328
|
+
var ref, ref42;
|
329
|
+
var result = attributeRules === null || attributeRules === void 0 ? void 0 : (ref = attributeRules[key]) === null || ref === void 0 ? void 0 : (ref42 = ref.values) === null || ref42 === void 0 ? void 0 : ref42[id];
|
340
330
|
return result;
|
341
331
|
}
|
342
332
|
var collapsedImages = (0, _utils).createCollapseKeyImagesMap(product);
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
2
2
|
value: true
|
3
3
|
});
|
4
4
|
exports.useWishlistItem = void 0;
|
5
|
-
var _react =
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
6
6
|
var _ = require("../../../");
|
7
7
|
var _utils = require("../../basket-hooks/useBasketLineItem/utils");
|
8
8
|
var _utils1 = require("../../../utils");
|
@@ -14,26 +14,10 @@ function _arrayLikeToArray(arr, len) {
|
|
14
14
|
function _arrayWithHoles(arr) {
|
15
15
|
if (Array.isArray(arr)) return arr;
|
16
16
|
}
|
17
|
-
function
|
18
|
-
|
19
|
-
|
20
|
-
}
|
21
|
-
var newObj = {};
|
22
|
-
if (obj != null) {
|
23
|
-
for(var key in obj){
|
24
|
-
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
25
|
-
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
|
26
|
-
if (desc.get || desc.set) {
|
27
|
-
Object.defineProperty(newObj, key, desc);
|
28
|
-
} else {
|
29
|
-
newObj[key] = obj[key];
|
30
|
-
}
|
31
|
-
}
|
32
|
-
}
|
33
|
-
}
|
34
|
-
newObj.default = obj;
|
35
|
-
return newObj;
|
36
|
-
}
|
17
|
+
function _interopRequireDefault(obj) {
|
18
|
+
return obj && obj.__esModule ? obj : {
|
19
|
+
default: obj
|
20
|
+
};
|
37
21
|
}
|
38
22
|
function _iterableToArrayLimit(arr, i) {
|
39
23
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
@@ -75,19 +59,15 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
75
59
|
}
|
76
60
|
var useWishlistItem = function(props) {
|
77
61
|
var ref16;
|
78
|
-
var
|
79
|
-
var ref1 = _slicedToArray((0, _).useBoolean(false), 2), isExpired = ref1[0], setIsExpired = ref1[1];
|
62
|
+
var ref1 = _slicedToArray(_react.default.useState(false), 2), isExpired = ref1[0], setIsExpired = ref1[1];
|
80
63
|
var ref2 = _slicedToArray(_.wishlistApi.useSync(), 1), syncWishlist = ref2[0];
|
81
64
|
var ref3 = (0, _).usePrefetchProduct((0, _).getTranslatableField(props === null || props === void 0 ? void 0 : (ref16 = props.item) === null || ref16 === void 0 ? void 0 : ref16.productSlug)), onMouseDown = ref3.onMouseDown, onMouseEnter = ref3.onMouseEnter, onMouseLeave = ref3.onMouseLeave;
|
82
|
-
(0, _react).useEffect(function() {
|
83
|
-
if (expiry) {
|
84
|
-
if (Date.now() > expiry + (item === null || item === void 0 ? void 0 : item.snapshotFrom)) {
|
85
|
-
setIsExpired.on();
|
86
|
-
}
|
87
|
-
}
|
88
|
-
}, []);
|
89
65
|
var data = _react.default.useMemo(function() {
|
90
66
|
var ref, ref4, ref5, ref6, ref7, ref8, ref9, ref10, ref11, ref12, ref13, ref14, ref15;
|
67
|
+
var item = props.item;
|
68
|
+
if (props.expiry && (0, _utils).getTimeStamp(props.expiry) < (item === null || item === void 0 ? void 0 : item.snapshotFrom)) {
|
69
|
+
setIsExpired(true);
|
70
|
+
}
|
91
71
|
var offer = item === null || item === void 0 ? void 0 : (ref = item.productVariant) === null || ref === void 0 ? void 0 : ref.offer;
|
92
72
|
var mappedAttributes = (0, _utils).createMappedAttributes(item === null || item === void 0 ? void 0 : (ref4 = item.productVariant) === null || ref4 === void 0 ? void 0 : ref4.attributes) || {};
|
93
73
|
var mappedCustomField = (0, _utils1).customFieldsToMap(item.custom);
|
@@ -127,16 +107,12 @@ var useWishlistItem = function(props) {
|
|
127
107
|
}
|
128
108
|
};
|
129
109
|
}, [
|
130
|
-
item
|
131
|
-
]);
|
132
|
-
(0, _react).useEffect(function() {
|
133
|
-
if (isExpired) {
|
134
|
-
syncWishlist();
|
135
|
-
setIsExpired.off();
|
136
|
-
}
|
137
|
-
}, [
|
138
|
-
isExpired
|
110
|
+
props.item
|
139
111
|
]);
|
112
|
+
if (isExpired) {
|
113
|
+
syncWishlist();
|
114
|
+
setIsExpired(false);
|
115
|
+
}
|
140
116
|
return data;
|
141
117
|
};
|
142
118
|
exports.useWishlistItem = useWishlistItem;
|
@@ -137,7 +137,7 @@ var useListingQuery = function() {
|
|
137
137
|
predicate: predicate,
|
138
138
|
sort: sort,
|
139
139
|
postFilter: postFilter,
|
140
|
-
slug:
|
140
|
+
slug: slug,
|
141
141
|
offset: offset
|
142
142
|
});
|
143
143
|
return (0, _reactQuery).useQuery(queryKeys, _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee() {
|
@@ -8,6 +8,7 @@ var _utils = require("../../utils");
|
|
8
8
|
var _assetsToMap = require("../../utils/assetsToMap");
|
9
9
|
var _router = require("next/router");
|
10
10
|
var _utils1 = require("../utils");
|
11
|
+
var _types = require("../types");
|
11
12
|
var _index = require("../../index");
|
12
13
|
var _useListingFilters = require("./useListingFilters");
|
13
14
|
var _useListingCategories = require("./useListingCategories");
|
@@ -31,33 +32,6 @@ function _iterableToArray(iter) {
|
|
31
32
|
function _nonIterableSpread() {
|
32
33
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
33
34
|
}
|
34
|
-
function _objectWithoutProperties(source, excluded) {
|
35
|
-
if (source == null) return {};
|
36
|
-
var target = _objectWithoutPropertiesLoose(source, excluded);
|
37
|
-
var key, i;
|
38
|
-
if (Object.getOwnPropertySymbols) {
|
39
|
-
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
40
|
-
for(i = 0; i < sourceSymbolKeys.length; i++){
|
41
|
-
key = sourceSymbolKeys[i];
|
42
|
-
if (excluded.indexOf(key) >= 0) continue;
|
43
|
-
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
44
|
-
target[key] = source[key];
|
45
|
-
}
|
46
|
-
}
|
47
|
-
return target;
|
48
|
-
}
|
49
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
50
|
-
if (source == null) return {};
|
51
|
-
var target = {};
|
52
|
-
var sourceKeys = Object.keys(source);
|
53
|
-
var key, i;
|
54
|
-
for(i = 0; i < sourceKeys.length; i++){
|
55
|
-
key = sourceKeys[i];
|
56
|
-
if (excluded.indexOf(key) >= 0) continue;
|
57
|
-
target[key] = source[key];
|
58
|
-
}
|
59
|
-
return target;
|
60
|
-
}
|
61
35
|
function _toConsumableArray(arr) {
|
62
36
|
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
63
37
|
}
|
@@ -116,57 +90,74 @@ var useListingMeta = function() {
|
|
116
90
|
};
|
117
91
|
exports.useListingMeta = useListingMeta;
|
118
92
|
function processDisplayName(slug, config, name, breadcrumb, router, aggData, categoriesData) {
|
119
|
-
var ref, ref5;
|
120
93
|
var listingName = (0, _utils).getTranslatableField(name);
|
121
94
|
var brandName = getBrandName(router, aggData);
|
122
95
|
var categoryName = getCategoryName(router, categoriesData);
|
123
96
|
var type = (0, _utils1).getListingPageType(router, slug, config);
|
124
|
-
|
125
|
-
"
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
97
|
+
if (type === _types.ListingTypesEnum.AttrPage) {
|
98
|
+
return "Всичко за ".concat(config.titleAliases[slug]);
|
99
|
+
}
|
100
|
+
if (router === null || router === void 0 ? void 0 : router.query.cat) {
|
101
|
+
var attribute = (0, _utils).getTranslatableField(breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.label);
|
102
|
+
if (type === _types.ListingTypesEnum.Category) {
|
103
|
+
if (!brandName) {
|
104
|
+
return "".concat(listingName, " за ").concat(attribute);
|
105
|
+
}
|
106
|
+
return "".concat(listingName, " за ").concat(attribute, " от ").concat(brandName);
|
107
|
+
}
|
108
|
+
if (type === _types.ListingTypesEnum.Brand) {
|
109
|
+
if (!categoryName) {
|
110
|
+
return "Всички продукти от ".concat(listingName, " за ").concat(attribute);
|
111
|
+
}
|
112
|
+
return "".concat(categoryName, " от ").concat(listingName, " за ").concat(attribute);
|
113
|
+
}
|
114
|
+
}
|
115
|
+
if (type === _types.ListingTypesEnum.Category && brandName) {
|
116
|
+
return "".concat(listingName, " от ").concat(brandName);
|
117
|
+
}
|
118
|
+
if (type === _types.ListingTypesEnum.Brand) {
|
119
|
+
if (!categoryName) {
|
120
|
+
return "Всички продукти от ".concat(listingName);
|
121
|
+
}
|
122
|
+
return "".concat(categoryName, " от ").concat(listingName);
|
123
|
+
}
|
124
|
+
if (type === _types.ListingTypesEnum.Search && (router === null || router === void 0 ? void 0 : router.query.search)) {
|
125
|
+
return "".concat(listingName, " от \"").concat(router.query.search, "\"");
|
126
|
+
}
|
127
|
+
return listingName;
|
137
128
|
}
|
138
129
|
function getFilterByType(filterType, router) {
|
139
130
|
var filterId = '';
|
140
131
|
if (Array.isArray(router === null || router === void 0 ? void 0 : router.query.filter)) {
|
141
|
-
var ref,
|
132
|
+
var ref, ref5;
|
142
133
|
var filters = (ref = router === null || router === void 0 ? void 0 : router.query.filter) === null || ref === void 0 ? void 0 : ref.filter(function(x) {
|
143
134
|
return x === null || x === void 0 ? void 0 : x.includes(filterType);
|
144
135
|
});
|
145
136
|
if ((filters === null || filters === void 0 ? void 0 : filters.length) && filters.length > 1) {
|
146
137
|
return '';
|
147
138
|
}
|
148
|
-
var filterTerm = (
|
139
|
+
var filterTerm = (ref5 = /\d+/.exec((filters === null || filters === void 0 ? void 0 : filters[0]) || '')) === null || ref5 === void 0 ? void 0 : ref5[0];
|
149
140
|
if (!filterTerm) return '';
|
150
141
|
filterId = filterTerm;
|
151
142
|
} else {
|
152
|
-
var ref7, ref8
|
153
|
-
var isFiltered = router === null || router === void 0 ? void 0 : (
|
143
|
+
var ref6, ref7, ref8;
|
144
|
+
var isFiltered = router === null || router === void 0 ? void 0 : (ref6 = router.query) === null || ref6 === void 0 ? void 0 : (ref7 = ref6.filter) === null || ref7 === void 0 ? void 0 : ref7.includes(filterType);
|
154
145
|
if (!isFiltered) {
|
155
146
|
return '';
|
156
147
|
}
|
157
|
-
filterId = (
|
148
|
+
filterId = (ref8 = /(\w+)-(\d+)/.exec(router === null || router === void 0 ? void 0 : router.query.filter)) === null || ref8 === void 0 ? void 0 : ref8[0];
|
158
149
|
}
|
159
150
|
return filterId;
|
160
151
|
}
|
161
152
|
function getBrandName(router, filtersData) {
|
162
|
-
var ref,
|
153
|
+
var ref, ref9, ref10;
|
163
154
|
var brandId = getFilterByType('brand', router);
|
164
155
|
var brand = (ref = filtersData === null || filtersData === void 0 ? void 0 : filtersData.find(function(x) {
|
165
156
|
return x.name === 'Brands';
|
166
|
-
})) === null || ref === void 0 ? void 0 : (
|
157
|
+
})) === null || ref === void 0 ? void 0 : (ref9 = ref.items) === null || ref9 === void 0 ? void 0 : ref9.find(function(x) {
|
167
158
|
return x.data.key === brandId;
|
168
159
|
});
|
169
|
-
return (0, _utils).getTranslatableField(brand === null || brand === void 0 ? void 0 : (
|
160
|
+
return (0, _utils).getTranslatableField(brand === null || brand === void 0 ? void 0 : (ref10 = brand.meta) === null || ref10 === void 0 ? void 0 : ref10.name);
|
170
161
|
}
|
171
162
|
function getCategoryName(router, categories) {
|
172
163
|
var categoryId = getFilterByType('category', router);
|
@@ -56,7 +56,7 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
56
56
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
57
57
|
}
|
58
58
|
var useSlideFilter = function(filterName, min, max) {
|
59
|
-
var
|
59
|
+
var ref;
|
60
60
|
var router = (0, _router).useRouter();
|
61
61
|
var meta = (0, _).useListingConfig().meta;
|
62
62
|
var slug = (0, _index).useListingAlias(meta).slug;
|
@@ -71,7 +71,7 @@ var useSlideFilter = function(filterName, min, max) {
|
|
71
71
|
}
|
72
72
|
if (allFilters.includes(filterQuery)) return allFilters;
|
73
73
|
};
|
74
|
-
var filter = (
|
74
|
+
var filter = (ref = getFilter()) === null || ref === void 0 ? void 0 : ref.replace(filterQuery, '');
|
75
75
|
var ref1 = _slicedToArray(filter ? filter.split(',') : [
|
76
76
|
min,
|
77
77
|
max
|
@@ -81,29 +81,9 @@ var useSlideFilter = function(filterName, min, max) {
|
|
81
81
|
to: +to || max
|
82
82
|
}), 2), state = ref2[0], setState = ref2[1];
|
83
83
|
var timeoutRef = (0, _react).useRef();
|
84
|
-
var
|
84
|
+
var updateValue = (0, _react).useCallback(function(data) {
|
85
85
|
var formattedFrom = Math.min(Math.max(data.from, min), data.to);
|
86
86
|
var formattedTo = Math.max(data.from, Math.min(data.to, max));
|
87
|
-
return {
|
88
|
-
formattedFrom: formattedFrom,
|
89
|
-
formattedTo: formattedTo
|
90
|
-
};
|
91
|
-
};
|
92
|
-
var updateValue = (0, _react).useCallback(function(data) {
|
93
|
-
var ref = getFormattedPriceRange(data), formattedFrom = ref.formattedFrom, formattedTo = ref.formattedTo;
|
94
|
-
setState({
|
95
|
-
from: formattedFrom,
|
96
|
-
to: formattedTo
|
97
|
-
});
|
98
|
-
}, [
|
99
|
-
filterName,
|
100
|
-
max,
|
101
|
-
min,
|
102
|
-
router,
|
103
|
-
slug
|
104
|
-
]);
|
105
|
-
var applyFilter = (0, _react).useCallback(function(data) {
|
106
|
-
var ref = getFormattedPriceRange(data), formattedFrom = ref.formattedFrom, formattedTo = ref.formattedTo;
|
107
87
|
clearTimeout(timeoutRef.current);
|
108
88
|
timeoutRef.current = setTimeout(function() {
|
109
89
|
router.push((0, _utils).createAggregateQuery((0, _utils1).getListingPageType(router, slug, meta), router.query.slug, {
|
@@ -125,7 +105,6 @@ var useSlideFilter = function(filterName, min, max) {
|
|
125
105
|
]);
|
126
106
|
return {
|
127
107
|
value: state,
|
128
|
-
applyFilter: applyFilter,
|
129
108
|
updateValue: updateValue
|
130
109
|
};
|
131
110
|
};
|
@@ -45,7 +45,7 @@ function prefetchCategories(queryCache, router, predicate, aggregates, config) {
|
|
45
45
|
}
|
46
46
|
function _prefetchCategories() {
|
47
47
|
_prefetchCategories = _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee(queryCache, router, predicate, aggregates, config) {
|
48
|
-
var aggregateKeys, aliasedSlug, query, response;
|
48
|
+
var aggregateKeys, aliasedSlug, slug, query, response;
|
49
49
|
return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
|
50
50
|
while(1)switch(_ctx.prev = _ctx.next){
|
51
51
|
case 0:
|
@@ -54,18 +54,19 @@ function _prefetchCategories() {
|
|
54
54
|
router: router,
|
55
55
|
config: config
|
56
56
|
});
|
57
|
+
slug = (0, _utils).getSlug(router, aliasedSlug);
|
57
58
|
query = (0, _api).prepareAggregateQuery({
|
58
59
|
request: _api.AggregateRequestEnum.Categories,
|
59
60
|
router: router,
|
60
61
|
predicate: predicate,
|
61
62
|
slug: aliasedSlug,
|
62
63
|
aggregates: aggregates,
|
63
|
-
postFilter:
|
64
|
+
postFilter: undefined,
|
64
65
|
config: config
|
65
66
|
});
|
66
|
-
_ctx.next =
|
67
|
+
_ctx.next = 6;
|
67
68
|
return (0, _sdk).CatalogAggregate(query);
|
68
|
-
case
|
69
|
+
case 6:
|
69
70
|
response = _ctx.sent;
|
70
71
|
queryCache.setQueryData([
|
71
72
|
_api.AggregateRequestEnum.Categories,
|
@@ -76,7 +77,7 @@ function _prefetchCategories() {
|
|
76
77
|
staleTime: 30000
|
77
78
|
});
|
78
79
|
return _ctx.abrupt("return", response);
|
79
|
-
case
|
80
|
+
case 9:
|
80
81
|
case "end":
|
81
82
|
return _ctx.stop();
|
82
83
|
}
|
@@ -44,20 +44,20 @@ function prefetchPredicate(queryCache, router, config) {
|
|
44
44
|
}
|
45
45
|
function _prefetchPredicate() {
|
46
46
|
_prefetchPredicate = _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee(queryCache, router, config) {
|
47
|
-
var aliasedSlug, slug, data
|
47
|
+
var attribute, aliasedSlug, slug, data;
|
48
48
|
return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
|
49
49
|
while(1)switch(_ctx.prev = _ctx.next){
|
50
50
|
case 0:
|
51
|
+
attribute = router.query.cat && router.query.slug;
|
51
52
|
aliasedSlug = (0, _utils).getListingAlias({
|
52
53
|
router: router,
|
53
54
|
config: config
|
54
55
|
});
|
55
56
|
slug = (0, _utils).getSlug(router, aliasedSlug);
|
56
|
-
_ctx.next =
|
57
|
+
_ctx.next = 5;
|
57
58
|
return (0, _api).processPredicateRequest(slug, router, aliasedSlug);
|
58
|
-
case
|
59
|
+
case 5:
|
59
60
|
data = _ctx.sent;
|
60
|
-
attribute = router.query.cat && aliasedSlug;
|
61
61
|
queryCache.setQueryData([
|
62
62
|
_api.ListingQueryKeysEnum.usePredicate,
|
63
63
|
slug,
|
@@ -89,38 +89,38 @@ var EmptyBox = function(param) {
|
|
89
89
|
textColor: textColor || '',
|
90
90
|
onClose: onClose
|
91
91
|
})), /*#__PURE__*/ _react.default.createElement(SuggestedSearches, null, canDisplayPopular && /*#__PURE__*/ _react.default.createElement(_.PopularSearches, {
|
92
|
-
title: (labels === null || labels === void 0 ? void 0 : labels.
|
92
|
+
title: (labels === null || labels === void 0 ? void 0 : labels.popularSearchesLabel) || '',
|
93
93
|
onClose: onClose,
|
94
94
|
textColor: textColor || '',
|
95
95
|
labelsColor: labelsColor || ''
|
96
96
|
}), withRecent && canDisplayRecent && /*#__PURE__*/ _react.default.createElement(_.RecentSearches, {
|
97
|
-
title: (labels === null || labels === void 0 ? void 0 : labels.
|
97
|
+
title: (labels === null || labels === void 0 ? void 0 : labels.recentSearchesLabel) || '',
|
98
98
|
data: searchHistory,
|
99
99
|
onClose: onClose,
|
100
100
|
textColor: textColor || '',
|
101
101
|
labelsColor: labelsColor || ''
|
102
102
|
}))) : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(_.Container, {
|
103
103
|
labelsColor: labelsColor,
|
104
|
-
title: (labels === null || labels === void 0 ? void 0 : labels.
|
104
|
+
title: (labels === null || labels === void 0 ? void 0 : labels.productsLabel) || '',
|
105
105
|
onlyMobile: true
|
106
106
|
}, /*#__PURE__*/ _react.default.createElement(NoResultsDesc, {
|
107
107
|
className: "SEARCH_BOX_NO_RESULT"
|
108
|
-
},
|
108
|
+
}, "No results found")), /*#__PURE__*/ _react.default.createElement(PromoCol, {
|
109
109
|
backgroundColor: backgroundColor
|
110
110
|
}, /*#__PURE__*/ _react.default.createElement(_.Products, {
|
111
111
|
data: promoOffers,
|
112
112
|
textColor: textColor || '',
|
113
113
|
labelsColor: labelsColor || '',
|
114
114
|
onClose: onClose,
|
115
|
-
title: (labels === null || labels === void 0 ? void 0 : labels.
|
115
|
+
title: (labels === null || labels === void 0 ? void 0 : labels.promoOffersLabel) || '',
|
116
116
|
offers: true
|
117
117
|
})), /*#__PURE__*/ _react.default.createElement(_.Container, {
|
118
118
|
labelsColor: labelsColor,
|
119
|
-
title: (labels === null || labels === void 0 ? void 0 : labels.
|
119
|
+
title: (labels === null || labels === void 0 ? void 0 : labels.productsLabel) || '',
|
120
120
|
onlyDesktop: true
|
121
121
|
}, /*#__PURE__*/ _react.default.createElement(NoResultsDesc, {
|
122
122
|
className: "SEARCH_BOX_NO_RESULT"
|
123
|
-
},
|
123
|
+
}, "No results found"))))));
|
124
124
|
};
|
125
125
|
exports.EmptyBox = EmptyBox;
|
126
126
|
var Wrapper = _styledComponents.default.div.attrs({
|
@@ -203,14 +203,14 @@ var SearchBox = function(param) {
|
|
203
203
|
data: displayableBrands,
|
204
204
|
onClose: onClose,
|
205
205
|
searchValue: searchValue || '',
|
206
|
-
title: (labels === null || labels === void 0 ? void 0 : labels.
|
206
|
+
title: (labels === null || labels === void 0 ? void 0 : labels.suggestedBrandsLabel) || '',
|
207
207
|
labelsColor: labelsColor || '',
|
208
208
|
textColor: textColor || ''
|
209
209
|
})), suggestedCategories.length > 0 && /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(_components.Suggestions, {
|
210
210
|
data: suggestedCategories,
|
211
211
|
onClose: onClose,
|
212
212
|
searchValue: searchValue || '',
|
213
|
-
title: (labels === null || labels === void 0 ? void 0 : labels.
|
213
|
+
title: (labels === null || labels === void 0 ? void 0 : labels.suggestedCategoriesLabel) || '',
|
214
214
|
labelsColor: labelsColor || '',
|
215
215
|
textColor: textColor || ''
|
216
216
|
}))), /*#__PURE__*/ _react.default.createElement(ProductsWrapper, {
|
@@ -218,7 +218,7 @@ var SearchBox = function(param) {
|
|
218
218
|
}, /*#__PURE__*/ _react.default.createElement(_components.Products, {
|
219
219
|
data: suggestions,
|
220
220
|
bottomMenu: bottomMenu,
|
221
|
-
title: labels === null || labels === void 0 ? void 0 : labels.
|
221
|
+
title: labels === null || labels === void 0 ? void 0 : labels.productsLabel,
|
222
222
|
priceColor: priceColor,
|
223
223
|
labelsColor: labelsColor,
|
224
224
|
textColor: textColor,
|
@@ -227,7 +227,7 @@ var SearchBox = function(param) {
|
|
227
227
|
productSpacing: productSpacing
|
228
228
|
}), bottomMenu === BottomMenuEnum.promo && promoOffers && /*#__PURE__*/ _react.default.createElement(_components.Products, {
|
229
229
|
data: promoOffers,
|
230
|
-
title: labels.
|
230
|
+
title: labels.promoOffersLabel,
|
231
231
|
labelsColor: labelsColor,
|
232
232
|
textColor: textColor,
|
233
233
|
onClose: onClose,
|