@sentecacommerce-theme/lib 0.12.92 → 0.12.96
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/hooks/usePixelProductsImpression.js +9 -8
- package/dist/cjs/hooks/wishlist-hooks/useWishlistItem/index.js +39 -15
- package/dist/cjs/listing/api/queries/useListingQuery.js +1 -1
- package/dist/cjs/listing/hooks/useListingMeta.js +49 -40
- package/dist/cjs/listing/hooks/useSlideFilter.js +24 -3
- package/dist/cjs/listing/ssr/prefetchCategories.js +4 -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 +58 -0
- package/dist/cjs/seo/components/index.js +12 -0
- package/dist/cjs/seo/hooks/index.js +14 -0
- package/dist/cjs/seo/hooks/useSeoTranslations.js +90 -0
- package/dist/cjs/ui/components/GridStyles.js +2 -2
- package/dist/cjs/ui/components/RangeSliderInput.js +14 -1
- package/dist/esm/analytics/Pixel/hooks/usePixelProductsImpression.js +9 -8
- package/dist/esm/hooks/wishlist-hooks/useWishlistItem/index.js +21 -13
- package/dist/esm/listing/api/queries/useListingQuery.js +1 -1
- package/dist/esm/listing/hooks/useListingMeta.js +49 -40
- package/dist/esm/listing/hooks/useSlideFilter.js +24 -3
- package/dist/esm/listing/ssr/prefetchCategories.js +5 -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 +48 -0
- package/dist/esm/seo/components/index.js +1 -0
- package/dist/esm/seo/hooks/index.js +1 -0
- package/dist/esm/seo/hooks/useSeoTranslations.js +79 -0
- package/dist/esm/ui/components/GridStyles.js +2 -2
- package/dist/esm/ui/components/RangeSliderInput.js +14 -1
- package/dist/types/listing/hooks/useSlideFilter.d.ts +4 -0
- package/dist/types/listing/types.d.ts +10 -0
- package/dist/types/navigation/components/SearchBox/Components/EmptyBox/index.d.ts +5 -4
- package/dist/types/navigation/components/SearchBox/index.d.ts +7 -6
- package/dist/types/seo/components/TranslationsMeta/index.d.ts +1 -0
- package/dist/types/seo/components/index.d.ts +1 -0
- package/dist/types/seo/hooks/index.d.ts +1 -0
- package/dist/types/seo/hooks/useSeoTranslations.d.ts +24 -0
- package/dist/types/ui/components/GridStyles.d.ts +2 -1
- package/dist/types/ui/components/RangeSliderInput.d.ts +2 -1
- package/package.json +4 -4
@@ -60,27 +60,28 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
60
60
|
}
|
61
61
|
var usePixelProductsImpression = function(param) {
|
62
62
|
var productsData = param.productsData, isCarousel = param.isCarousel;
|
63
|
-
var
|
63
|
+
var ref5;
|
64
|
+
var ref1 = _slicedToArray((0, _index).useBoolean(false), 2), sentAlready = ref1[0], setSentAlready = ref1[1];
|
64
65
|
var defaultMerchant = (0, _index).useConfigState().defaultMerchant;
|
65
66
|
var router = (0, _router).useRouter();
|
66
67
|
var products = [];
|
67
68
|
if (!isCarousel) {
|
68
|
-
products = (0, _releva).createMappedProducts(productsData.products);
|
69
|
+
products = (0, _releva).createMappedProducts(productsData === null || productsData === void 0 ? void 0 : productsData.products);
|
69
70
|
}
|
70
71
|
_react.default.useEffect(function() {
|
71
72
|
setSentAlready.off();
|
72
73
|
}, [
|
73
74
|
router.asPath,
|
74
|
-
productsData.products.length,
|
75
|
+
productsData === null || productsData === void 0 ? void 0 : (ref5 = productsData.products) === null || ref5 === void 0 ? void 0 : ref5.length,
|
75
76
|
setSentAlready
|
76
77
|
]);
|
77
78
|
_react.default.useEffect(function() {
|
78
|
-
var ref,
|
79
|
-
if (sentAlready || !products.length) return;
|
80
|
-
if ((0, _utils).canUseDOM() && !((ref = productsData.products) === null || ref === void 0 ? void 0 : (
|
81
|
-
var
|
79
|
+
var ref, ref2, ref3;
|
80
|
+
if (sentAlready || !(products === null || products === void 0 ? void 0 : products.length)) return;
|
81
|
+
if ((0, _utils).canUseDOM() && !((ref = productsData.products) === null || ref === void 0 ? void 0 : (ref2 = ref[0]) === null || ref2 === void 0 ? void 0 : ref2.isPlaceholder) && (productsData === null || productsData === void 0 ? void 0 : (ref3 = productsData.products) === null || ref3 === void 0 ? void 0 : ref3.length) > 0) {
|
82
|
+
var ref4;
|
82
83
|
var pixel = window.pixel;
|
83
|
-
var title = window === null || window === void 0 ? void 0 : (
|
84
|
+
var title = window === null || window === void 0 ? void 0 : (ref4 = window.document) === null || ref4 === void 0 ? void 0 : ref4.title;
|
84
85
|
var sendImpressions = function() {
|
85
86
|
if (!title || title === 'за') {
|
86
87
|
setTimeout(function() {
|
@@ -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 = _interopRequireWildcard(require("react"));
|
6
6
|
var _ = require("../../../");
|
7
7
|
var _utils = require("../../basket-hooks/useBasketLineItem/utils");
|
8
8
|
var _utils1 = require("../../../utils");
|
@@ -14,10 +14,26 @@ function _arrayLikeToArray(arr, len) {
|
|
14
14
|
function _arrayWithHoles(arr) {
|
15
15
|
if (Array.isArray(arr)) return arr;
|
16
16
|
}
|
17
|
-
function
|
18
|
-
|
19
|
-
|
20
|
-
}
|
17
|
+
function _interopRequireWildcard(obj) {
|
18
|
+
if (obj && obj.__esModule) {
|
19
|
+
return obj;
|
20
|
+
} else {
|
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
|
+
}
|
21
37
|
}
|
22
38
|
function _iterableToArrayLimit(arr, i) {
|
23
39
|
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
@@ -59,15 +75,19 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
59
75
|
}
|
60
76
|
var useWishlistItem = function(props) {
|
61
77
|
var ref16;
|
62
|
-
var
|
78
|
+
var item = props.item, expiry = props.expiry;
|
79
|
+
var ref1 = _slicedToArray((0, _).useBoolean(false), 2), isExpired = ref1[0], setIsExpired = ref1[1];
|
63
80
|
var ref2 = _slicedToArray(_.wishlistApi.useSync(), 1), syncWishlist = ref2[0];
|
64
81
|
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
|
+
}, []);
|
65
89
|
var data = _react.default.useMemo(function() {
|
66
90
|
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
|
-
}
|
71
91
|
var offer = item === null || item === void 0 ? void 0 : (ref = item.productVariant) === null || ref === void 0 ? void 0 : ref.offer;
|
72
92
|
var mappedAttributes = (0, _utils).createMappedAttributes(item === null || item === void 0 ? void 0 : (ref4 = item.productVariant) === null || ref4 === void 0 ? void 0 : ref4.attributes) || {};
|
73
93
|
var mappedCustomField = (0, _utils1).customFieldsToMap(item.custom);
|
@@ -107,12 +127,16 @@ var useWishlistItem = function(props) {
|
|
107
127
|
}
|
108
128
|
};
|
109
129
|
}, [
|
110
|
-
|
130
|
+
item
|
131
|
+
]);
|
132
|
+
(0, _react).useEffect(function() {
|
133
|
+
if (isExpired) {
|
134
|
+
syncWishlist();
|
135
|
+
setIsExpired.off();
|
136
|
+
}
|
137
|
+
}, [
|
138
|
+
isExpired
|
111
139
|
]);
|
112
|
-
if (isExpired) {
|
113
|
-
syncWishlist();
|
114
|
-
setIsExpired(false);
|
115
|
-
}
|
116
140
|
return data;
|
117
141
|
};
|
118
142
|
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: aliasedSlug,
|
141
141
|
offset: offset
|
142
142
|
});
|
143
143
|
return (0, _reactQuery).useQuery(queryKeys, _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee() {
|
@@ -8,7 +8,6 @@ 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");
|
12
11
|
var _index = require("../../index");
|
13
12
|
var _useListingFilters = require("./useListingFilters");
|
14
13
|
var _useListingCategories = require("./useListingCategories");
|
@@ -32,6 +31,33 @@ function _iterableToArray(iter) {
|
|
32
31
|
function _nonIterableSpread() {
|
33
32
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
34
33
|
}
|
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
|
+
}
|
35
61
|
function _toConsumableArray(arr) {
|
36
62
|
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
37
63
|
}
|
@@ -90,74 +116,57 @@ var useListingMeta = function() {
|
|
90
116
|
};
|
91
117
|
exports.useListingMeta = useListingMeta;
|
92
118
|
function processDisplayName(slug, config, name, breadcrumb, router, aggData, categoriesData) {
|
119
|
+
var ref, ref5;
|
93
120
|
var listingName = (0, _utils).getTranslatableField(name);
|
94
121
|
var brandName = getBrandName(router, aggData);
|
95
122
|
var categoryName = getCategoryName(router, categoriesData);
|
96
123
|
var type = (0, _utils1).getListingPageType(router, slug, config);
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
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;
|
124
|
+
var getTitle = config.getTitle, rest = _objectWithoutProperties(config, [
|
125
|
+
"getTitle"
|
126
|
+
]);
|
127
|
+
var title = getTitle === null || getTitle === void 0 ? void 0 : getTitle(type, rest, {
|
128
|
+
category: categoryName,
|
129
|
+
brand: brandName,
|
130
|
+
defaultName: listingName,
|
131
|
+
attribute: (ref = config.titleAliases) === null || ref === void 0 ? void 0 : ref[slug],
|
132
|
+
childAttribute: (0, _utils).getTranslatableField(breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.label),
|
133
|
+
search: router === null || router === void 0 ? void 0 : (ref5 = router.query) === null || ref5 === void 0 ? void 0 : ref5.search,
|
134
|
+
isWithAttribute: Boolean(router === null || router === void 0 ? void 0 : router.query.cat)
|
135
|
+
});
|
136
|
+
return title || listingName;
|
128
137
|
}
|
129
138
|
function getFilterByType(filterType, router) {
|
130
139
|
var filterId = '';
|
131
140
|
if (Array.isArray(router === null || router === void 0 ? void 0 : router.query.filter)) {
|
132
|
-
var ref,
|
141
|
+
var ref, ref6;
|
133
142
|
var filters = (ref = router === null || router === void 0 ? void 0 : router.query.filter) === null || ref === void 0 ? void 0 : ref.filter(function(x) {
|
134
143
|
return x === null || x === void 0 ? void 0 : x.includes(filterType);
|
135
144
|
});
|
136
145
|
if ((filters === null || filters === void 0 ? void 0 : filters.length) && filters.length > 1) {
|
137
146
|
return '';
|
138
147
|
}
|
139
|
-
var filterTerm = (
|
148
|
+
var filterTerm = (ref6 = /\d+/.exec((filters === null || filters === void 0 ? void 0 : filters[0]) || '')) === null || ref6 === void 0 ? void 0 : ref6[0];
|
140
149
|
if (!filterTerm) return '';
|
141
150
|
filterId = filterTerm;
|
142
151
|
} else {
|
143
|
-
var
|
144
|
-
var isFiltered = router === null || router === void 0 ? void 0 : (
|
152
|
+
var ref7, ref8, ref9;
|
153
|
+
var isFiltered = router === null || router === void 0 ? void 0 : (ref7 = router.query) === null || ref7 === void 0 ? void 0 : (ref8 = ref7.filter) === null || ref8 === void 0 ? void 0 : ref8.includes(filterType);
|
145
154
|
if (!isFiltered) {
|
146
155
|
return '';
|
147
156
|
}
|
148
|
-
filterId = (
|
157
|
+
filterId = (ref9 = /(\w+)-(\d+)/.exec(router === null || router === void 0 ? void 0 : router.query.filter)) === null || ref9 === void 0 ? void 0 : ref9[0];
|
149
158
|
}
|
150
159
|
return filterId;
|
151
160
|
}
|
152
161
|
function getBrandName(router, filtersData) {
|
153
|
-
var ref,
|
162
|
+
var ref, ref10, ref11;
|
154
163
|
var brandId = getFilterByType('brand', router);
|
155
164
|
var brand = (ref = filtersData === null || filtersData === void 0 ? void 0 : filtersData.find(function(x) {
|
156
165
|
return x.name === 'Brands';
|
157
|
-
})) === null || ref === void 0 ? void 0 : (
|
166
|
+
})) === null || ref === void 0 ? void 0 : (ref10 = ref.items) === null || ref10 === void 0 ? void 0 : ref10.find(function(x) {
|
158
167
|
return x.data.key === brandId;
|
159
168
|
});
|
160
|
-
return (0, _utils).getTranslatableField(brand === null || brand === void 0 ? void 0 : (
|
169
|
+
return (0, _utils).getTranslatableField(brand === null || brand === void 0 ? void 0 : (ref11 = brand.meta) === null || ref11 === void 0 ? void 0 : ref11.name);
|
161
170
|
}
|
162
171
|
function getCategoryName(router, categories) {
|
163
172
|
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 ref3;
|
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 = (ref3 = getFilter()) === null || ref3 === void 0 ? void 0 : ref3.replace(filterQuery, '');
|
75
75
|
var ref1 = _slicedToArray(filter ? filter.split(',') : [
|
76
76
|
min,
|
77
77
|
max
|
@@ -81,9 +81,29 @@ 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 getFormattedPriceRange = 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;
|
87
107
|
clearTimeout(timeoutRef.current);
|
88
108
|
timeoutRef.current = setTimeout(function() {
|
89
109
|
router.push((0, _utils).createAggregateQuery((0, _utils1).getListingPageType(router, slug, meta), router.query.slug, {
|
@@ -105,6 +125,7 @@ var useSlideFilter = function(filterName, min, max) {
|
|
105
125
|
]);
|
106
126
|
return {
|
107
127
|
value: state,
|
128
|
+
applyFilter: applyFilter,
|
108
129
|
updateValue: updateValue
|
109
130
|
};
|
110
131
|
};
|
@@ -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,
|
48
|
+
var aggregateKeys, aliasedSlug, 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,7 +54,6 @@ function _prefetchCategories() {
|
|
54
54
|
router: router,
|
55
55
|
config: config
|
56
56
|
});
|
57
|
-
slug = (0, _utils).getSlug(router, aliasedSlug);
|
58
57
|
query = (0, _api).prepareAggregateQuery({
|
59
58
|
request: _api.AggregateRequestEnum.Categories,
|
60
59
|
router: router,
|
@@ -64,9 +63,9 @@ function _prefetchCategories() {
|
|
64
63
|
postFilter: undefined,
|
65
64
|
config: config
|
66
65
|
});
|
67
|
-
_ctx.next =
|
66
|
+
_ctx.next = 5;
|
68
67
|
return (0, _sdk).CatalogAggregate(query);
|
69
|
-
case
|
68
|
+
case 5:
|
70
69
|
response = _ctx.sent;
|
71
70
|
queryCache.setQueryData([
|
72
71
|
_api.AggregateRequestEnum.Categories,
|
@@ -77,7 +76,7 @@ function _prefetchCategories() {
|
|
77
76
|
staleTime: 30000
|
78
77
|
});
|
79
78
|
return _ctx.abrupt("return", response);
|
80
|
-
case
|
79
|
+
case 8:
|
81
80
|
case "end":
|
82
81
|
return _ctx.stop();
|
83
82
|
}
|
@@ -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
|
47
|
+
var aliasedSlug, slug, data, attribute;
|
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;
|
52
51
|
aliasedSlug = (0, _utils).getListingAlias({
|
53
52
|
router: router,
|
54
53
|
config: config
|
55
54
|
});
|
56
55
|
slug = (0, _utils).getSlug(router, aliasedSlug);
|
57
|
-
_ctx.next =
|
56
|
+
_ctx.next = 4;
|
58
57
|
return (0, _api).processPredicateRequest(slug, router, aliasedSlug);
|
59
|
-
case
|
58
|
+
case 4:
|
60
59
|
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.popularSearches) || '',
|
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.recentSearches) || '',
|
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.products) || '',
|
105
105
|
onlyMobile: true
|
106
106
|
}, /*#__PURE__*/ _react.default.createElement(NoResultsDesc, {
|
107
107
|
className: "SEARCH_BOX_NO_RESULT"
|
108
|
-
},
|
108
|
+
}, labels === null || labels === void 0 ? void 0 : labels.noResults)), /*#__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.promoOffers) || '',
|
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.products) || '',
|
120
120
|
onlyDesktop: true
|
121
121
|
}, /*#__PURE__*/ _react.default.createElement(NoResultsDesc, {
|
122
122
|
className: "SEARCH_BOX_NO_RESULT"
|
123
|
-
},
|
123
|
+
}, labels === null || labels === void 0 ? void 0 : labels.noResults))))));
|
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.suggestedBrands) || '',
|
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.suggestedCategories) || '',
|
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.products,
|
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.promoOffers,
|
231
231
|
labelsColor: labelsColor,
|
232
232
|
textColor: textColor,
|
233
233
|
onClose: onClose,
|
@@ -0,0 +1,58 @@
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
2
|
+
value: true
|
3
|
+
});
|
4
|
+
exports.TranslationsMeta = void 0;
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
6
|
+
var _useSeoTranslations = require("../../hooks/useSeoTranslations");
|
7
|
+
var _head = _interopRequireDefault(require("next/head"));
|
8
|
+
var _router = require("next/router");
|
9
|
+
function _extends() {
|
10
|
+
_extends = Object.assign || function(target) {
|
11
|
+
for(var i = 1; i < arguments.length; i++){
|
12
|
+
var source = arguments[i];
|
13
|
+
for(var key in source){
|
14
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
15
|
+
target[key] = source[key];
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
return target;
|
20
|
+
};
|
21
|
+
return _extends.apply(this, arguments);
|
22
|
+
}
|
23
|
+
function _interopRequireDefault(obj) {
|
24
|
+
return obj && obj.__esModule ? obj : {
|
25
|
+
default: obj
|
26
|
+
};
|
27
|
+
}
|
28
|
+
var TranslationsMeta = function() {
|
29
|
+
var ref = (0, _useSeoTranslations).useSeoTranslations(), translationsMap = ref.translationsMap, allLocales = ref.allLocales, defaultLocale = ref.defaultLocale;
|
30
|
+
var router = (0, _router).useRouter();
|
31
|
+
var defaultTranslation = translationsMap[defaultLocale];
|
32
|
+
var isError = router.route === '/404' || router.route === '/_error';
|
33
|
+
if (isError) return null;
|
34
|
+
var domain = defaultTranslation === null || defaultTranslation === void 0 ? void 0 : defaultTranslation.domain;
|
35
|
+
return(/*#__PURE__*/ _react.default.createElement(_head.default, null, allLocales === null || allLocales === void 0 ? void 0 : allLocales.map(function(locale) {
|
36
|
+
var translation = translationsMap === null || translationsMap === void 0 ? void 0 : translationsMap[locale];
|
37
|
+
var href = translation === null || translation === void 0 ? void 0 : translation.slug;
|
38
|
+
// go to the same page but with the right locale.
|
39
|
+
// This is for pages that does not have a translated slug
|
40
|
+
// example: /checkout -> /en/checkout, /ro/checkout
|
41
|
+
if (!href) href = "/".concat(locale).concat(router.asPath);
|
42
|
+
return(/*#__PURE__*/ _react.default.createElement("link", _extends({
|
43
|
+
rel: "alternate"
|
44
|
+
}, {
|
45
|
+
hreflang: locale
|
46
|
+
}, {
|
47
|
+
href: domain + href,
|
48
|
+
key: 'Translation__' + href
|
49
|
+
})));
|
50
|
+
}), defaultTranslation && /*#__PURE__*/ _react.default.createElement("link", _extends({
|
51
|
+
rel: "alternate"
|
52
|
+
}, {
|
53
|
+
hreflang: 'x-default'
|
54
|
+
}, {
|
55
|
+
href: "".concat(domain).concat(defaultTranslation === null || defaultTranslation === void 0 ? void 0 : defaultTranslation.slug)
|
56
|
+
}))));
|
57
|
+
};
|
58
|
+
exports.TranslationsMeta = TranslationsMeta;
|
@@ -74,6 +74,18 @@ Object.keys(_hiddenBreadcrumb).forEach(function(key) {
|
|
74
74
|
}
|
75
75
|
});
|
76
76
|
});
|
77
|
+
var _translationsMeta = _interopRequireWildcard(require("./TranslationsMeta"));
|
78
|
+
Object.keys(_translationsMeta).forEach(function(key) {
|
79
|
+
if (key === "default" || key === "__esModule") return;
|
80
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
81
|
+
if (key in exports && exports[key] === _translationsMeta[key]) return;
|
82
|
+
Object.defineProperty(exports, key, {
|
83
|
+
enumerable: true,
|
84
|
+
get: function() {
|
85
|
+
return _translationsMeta[key];
|
86
|
+
}
|
87
|
+
});
|
88
|
+
});
|
77
89
|
function _interopRequireWildcard(obj) {
|
78
90
|
if (obj && obj.__esModule) {
|
79
91
|
return obj;
|
@@ -1,9 +1,11 @@
|
|
1
1
|
Object.defineProperty(exports, "__esModule", {
|
2
2
|
value: true
|
3
3
|
});
|
4
|
+
var _exportNames = {};
|
4
5
|
var _useSEOBreadcrumb = _interopRequireWildcard(require("./useSEOBreadcrumb"));
|
5
6
|
Object.keys(_useSEOBreadcrumb).forEach(function(key) {
|
6
7
|
if (key === "default" || key === "__esModule") return;
|
8
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
7
9
|
if (key in exports && exports[key] === _useSEOBreadcrumb[key]) return;
|
8
10
|
Object.defineProperty(exports, key, {
|
9
11
|
enumerable: true,
|
@@ -12,6 +14,18 @@ Object.keys(_useSEOBreadcrumb).forEach(function(key) {
|
|
12
14
|
}
|
13
15
|
});
|
14
16
|
});
|
17
|
+
var _useSeoTranslations = _interopRequireWildcard(require("./useSeoTranslations"));
|
18
|
+
Object.keys(_useSeoTranslations).forEach(function(key) {
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
20
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
21
|
+
if (key in exports && exports[key] === _useSeoTranslations[key]) return;
|
22
|
+
Object.defineProperty(exports, key, {
|
23
|
+
enumerable: true,
|
24
|
+
get: function() {
|
25
|
+
return _useSeoTranslations[key];
|
26
|
+
}
|
27
|
+
});
|
28
|
+
});
|
15
29
|
function _interopRequireWildcard(obj) {
|
16
30
|
if (obj && obj.__esModule) {
|
17
31
|
return obj;
|