@sentecacommerce-theme/lib 0.13.7-alpha.5 → 0.13.7-alpha.6
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/usePixelProductClick.js +1 -1
- package/dist/cjs/analytics/Pixel/hooks/usePixelProductDetails.js +1 -1
- package/dist/cjs/analytics/Pixel/hooks/usePixelProductsImpression.js +1 -1
- package/dist/cjs/analytics/Pixel/usePixel.js +1 -1
- package/dist/cjs/analytics/Releva/useReleva.js +1 -1
- package/dist/cjs/api.v2/core/checkout/payments/useSetMerchantPaymentMethod.js +1 -1
- package/dist/cjs/checkout/hooks/useBnpCalculateForCart.js +1 -1
- package/dist/cjs/components/Html/index.js +1 -1
- package/dist/cjs/hooks/ui-hooks/useIsDesktop/index.js +2 -2
- package/dist/cjs/hooks/useAllSelectedFilters/index.js +3 -3
- package/dist/cjs/hooks/usePrice/index.js +1 -1
- package/dist/cjs/hooks/useSelectedFilters/index.js +3 -3
- package/dist/cjs/listing/api/queries/useAggregateQuery.js +7 -7
- package/dist/cjs/listing/api/queries/useInfiniteListing.js +4 -4
- package/dist/cjs/listing/api/queries/useListingQuery.js +37 -22
- package/dist/cjs/listing/api/queries/usePredicate.js +4 -4
- package/dist/cjs/listing/components/BasicListingSEO.js +1 -1
- package/dist/cjs/listing/hooks/useListingAlias.js +2 -4
- package/dist/cjs/listing/hooks/useListingBreadcrumbs.js +4 -4
- package/dist/cjs/listing/hooks/useListingCategories.js +7 -8
- package/dist/cjs/listing/hooks/useListingConfig.js +3 -5
- package/dist/cjs/listing/hooks/useListingFilters.js +18 -19
- package/dist/cjs/listing/hooks/useListingItems.js +2 -2
- package/dist/cjs/listing/hooks/useListingMeta.js +5 -4
- package/dist/cjs/listing/hooks/useListingPagination.js +4 -4
- package/dist/cjs/listing/hooks/useListingSlug.js +3 -1
- package/dist/cjs/listing/hooks/useSlideFilter.js +4 -3
- package/dist/cjs/listing/hooks/utils.js +2 -1
- package/dist/cjs/listing/ssr/prefetchListing.js +4 -4
- package/dist/cjs/listing/utils/buildCategoryQuery.js +8 -9
- package/dist/cjs/listing/utils/buildFilterQuery.js +5 -7
- package/dist/cjs/listing/utils/getListingAlias.js +5 -6
- package/dist/cjs/listing/utils/getListingPageType.js +4 -3
- package/dist/cjs/navigation/components/SearchBox/Components/PopularSearches/index.js +1 -1
- package/dist/cjs/product/hooks/useBnpOffers.js +2 -25
- package/dist/cjs/seo/components/GlobalSEO/index.js +3 -3
- package/dist/esm/analytics/Pixel/hooks/usePixelProductClick.js +1 -1
- package/dist/esm/analytics/Pixel/hooks/usePixelProductDetails.js +1 -1
- package/dist/esm/analytics/Pixel/hooks/usePixelProductsImpression.js +1 -1
- package/dist/esm/analytics/Pixel/usePixel.js +1 -1
- package/dist/esm/analytics/Releva/useReleva.js +1 -1
- package/dist/esm/api.v2/core/checkout/payments/useSetMerchantPaymentMethod.js +1 -1
- package/dist/esm/checkout/hooks/useBnpCalculateForCart.js +1 -1
- package/dist/esm/components/Html/index.js +1 -1
- package/dist/esm/hooks/ui-hooks/useIsDesktop/index.js +2 -2
- package/dist/esm/hooks/useAllSelectedFilters/index.js +4 -4
- package/dist/esm/hooks/usePrice/index.js +1 -1
- package/dist/esm/hooks/useSelectedFilters/index.js +4 -4
- package/dist/esm/listing/api/queries/useAggregateQuery.js +7 -7
- package/dist/esm/listing/api/queries/useInfiniteListing.js +4 -4
- package/dist/esm/listing/api/queries/useListingQuery.js +37 -22
- package/dist/esm/listing/api/queries/usePredicate.js +4 -4
- package/dist/esm/listing/components/BasicListingSEO.js +1 -1
- package/dist/esm/listing/hooks/useListingAlias.js +2 -4
- package/dist/esm/listing/hooks/useListingBreadcrumbs.js +5 -5
- package/dist/esm/listing/hooks/useListingCategories.js +8 -9
- package/dist/esm/listing/hooks/useListingConfig.js +4 -6
- package/dist/esm/listing/hooks/useListingFilters.js +18 -19
- package/dist/esm/listing/hooks/useListingItems.js +2 -2
- package/dist/esm/listing/hooks/useListingMeta.js +6 -5
- package/dist/esm/listing/hooks/useListingPagination.js +4 -4
- package/dist/esm/listing/hooks/useListingSlug.js +3 -1
- package/dist/esm/listing/hooks/useSlideFilter.js +5 -4
- package/dist/esm/listing/hooks/utils.js +2 -1
- package/dist/esm/listing/ssr/prefetchListing.js +4 -4
- package/dist/esm/listing/utils/buildCategoryQuery.js +8 -9
- package/dist/esm/listing/utils/buildFilterQuery.js +5 -7
- package/dist/esm/listing/utils/getListingAlias.js +5 -6
- package/dist/esm/listing/utils/getListingPageType.js +4 -3
- package/dist/esm/navigation/components/SearchBox/Components/PopularSearches/index.js +1 -1
- package/dist/esm/product/hooks/useBnpOffers.js +2 -2
- package/dist/esm/seo/components/GlobalSEO/index.js +3 -3
- package/dist/types/listing/api/queries/useAggregateQuery.d.ts +2 -1
- package/dist/types/listing/api/queries/useListingQuery.d.ts +4 -2
- package/dist/types/listing/api/queries/usePredicate.d.ts +2 -1
- package/dist/types/listing/hooks/useListingAlias.d.ts +2 -1
- package/dist/types/listing/hooks/useListingFilters.d.ts +0 -1
- package/dist/types/listing/hooks/useListingItems.d.ts +3 -2
- package/dist/types/listing/hooks/useListingSEOCategories.d.ts +6 -4
- package/dist/types/listing/hooks/utils.d.ts +3 -2
- package/dist/types/listing/ssr/prefetchCategories.d.ts +2 -2
- package/dist/types/listing/ssr/prefetchListing.d.ts +4 -4
- package/dist/types/listing/ssr/prefetchPredicate.d.ts +2 -1
- package/dist/types/listing/types.d.ts +27 -16
- package/dist/types/listing/utils/buildCategoryQuery.d.ts +2 -1
- package/dist/types/listing/utils/buildFilterQuery.d.ts +2 -1
- package/dist/types/listing/utils/extendFilter.d.ts +3 -2
- package/dist/types/listing/utils/getListingAlias.d.ts +2 -1
- package/dist/types/listing/utils/getListingPageType.d.ts +2 -2
- package/dist/types/types/index.d.ts +38 -40
- package/dist/types/utils/getSelectedFilters.d.ts +2 -1
- package/package.json +16 -11
@@ -59,7 +59,7 @@ var usePixelProductDetails = function() {
|
|
59
59
|
id: metaData._id,
|
60
60
|
sku: selectedVariant === null || selectedVariant === void 0 ? void 0 : selectedVariant.sku
|
61
61
|
}, {
|
62
|
-
merchantKey: defaultMerchant
|
62
|
+
merchantKey: defaultMerchant || ''
|
63
63
|
});
|
64
64
|
setSentData.on();
|
65
65
|
}
|
@@ -40,7 +40,7 @@ var usePixel = function() {
|
|
40
40
|
var product = param.product, currencyCode = param.currencyCode;
|
41
41
|
pixel === null || pixel === void 0 ? void 0 : pixel.addLineItem(product, {
|
42
42
|
currencyCode: currencyCode,
|
43
|
-
merchantKey: defaultMerchant
|
43
|
+
merchantKey: defaultMerchant || ''
|
44
44
|
});
|
45
45
|
};
|
46
46
|
var pixelRemoveLineItem = function(param) {
|
@@ -166,7 +166,7 @@ var RelevaProvider = function(param1) {
|
|
166
166
|
var ref3, ref4;
|
167
167
|
var token = (ref4 = (ref3 = _jsCookie.default.get('token')) !== null && ref3 !== void 0 ? ref3 : _jsCookie.default.get('anonymousToken')) !== null && ref4 !== void 0 ? ref4 : process.env.API_KEY;
|
168
168
|
var interfaceKey = (0, _index).useConfigState().interfaceKey;
|
169
|
-
var ref5 = (0, _hooks).useRelevaData(payload, isReady, token, interfaceKey), recommenders = ref5.recommenders, banners = ref5.banners, pixelData = ref5.pixelData;
|
169
|
+
var ref5 = (0, _hooks).useRelevaData(payload, isReady, token, interfaceKey || ''), recommenders = ref5.recommenders, banners = ref5.banners, pixelData = ref5.pixelData;
|
170
170
|
var values = {
|
171
171
|
onProductPage: onProductPage,
|
172
172
|
changeProfileData: changeProfileData,
|
@@ -11,7 +11,7 @@ function useSetMerchantPaymentMethod(onSuccess) {
|
|
11
11
|
var config = (0, _useConfig).useConfigState();
|
12
12
|
return (0, _reactQuery).useMutation(function(values) {
|
13
13
|
return (0, _sdk).MyCartSetMerchantsPaymentMethods({
|
14
|
-
methods: formatData(values, config.defaultMerchant)
|
14
|
+
methods: formatData(values, config.defaultMerchant || '')
|
15
15
|
});
|
16
16
|
}, {
|
17
17
|
onMutate: function() {
|
@@ -65,7 +65,7 @@ var useBnpCalculateForCart = function(props) {
|
|
65
65
|
preferredInstallmentCentAmount: preferredInstallmentCentAmount,
|
66
66
|
downPaymentCentAmount: downPaymentCentAmount
|
67
67
|
});
|
68
|
-
var configLocale = (ref8 = (0, _index).useConfigState()) === null || ref8 === void 0 ? void 0 : (ref1 = ref8.price) === null || ref1 === void 0 ? void 0 : ref1.locale;
|
68
|
+
var configLocale = ((ref8 = (0, _index).useConfigState()) === null || ref8 === void 0 ? void 0 : (ref1 = ref8.price) === null || ref1 === void 0 ? void 0 : ref1.locale) || '';
|
69
69
|
return (0, _react).useMemo(function() {
|
70
70
|
var ref, ref5, ref6, ref7;
|
71
71
|
return _objectSpread({
|
@@ -50,7 +50,7 @@ var Html = function(param) {
|
|
50
50
|
containerRef.current.querySelectorAll('a').forEach(function(a) {
|
51
51
|
var ref;
|
52
52
|
if (!((ref = a.href) === null || ref === void 0 ? void 0 : ref.trim())) return;
|
53
|
-
var isHrefLocal = a.href[0] === '/' || a.href.includes(domain);
|
53
|
+
var isHrefLocal = a.href[0] === '/' || domain && a.href.includes(domain);
|
54
54
|
if (isHrefLocal) {
|
55
55
|
a.addEventListener('click', cb);
|
56
56
|
links.push(a);
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
exports.useIsDesktop = void 0;
|
5
5
|
var _useConfig = require("../../useConfig");
|
6
6
|
var useIsDesktop = function() {
|
7
|
-
var ref;
|
7
|
+
var ref, ref1, ref2, ref3, ref4;
|
8
8
|
var config = (0, _useConfig).useConfigState();
|
9
|
-
return typeof document !== 'undefined' && document.body.clientWidth > Number((ref = config.theme.breakpoints) === null ||
|
9
|
+
return typeof document !== 'undefined' && document.body.clientWidth > Number((ref = config) === null || ref === void 0 ? void 0 : (ref1 = ref.theme) === null || ref1 === void 0 ? void 0 : (ref2 = ref1.breakpoints) === null || ref2 === void 0 ? void 0 : (ref3 = ref2.lg) === null || ref3 === void 0 ? void 0 : (ref4 = ref3.min) === null || ref4 === void 0 ? void 0 : ref4.split('px')[0]);
|
10
10
|
};
|
11
11
|
exports.useIsDesktop = useIsDesktop;
|
@@ -8,11 +8,11 @@ var _utils = require("../../utils");
|
|
8
8
|
var _index = require("../../index");
|
9
9
|
var useAllSelectedFilters = function(aggregations) {
|
10
10
|
var router = (0, _router).useRouter();
|
11
|
-
var
|
12
|
-
var slug = (0, _index).useListingAlias().slug;
|
11
|
+
var meta = (0, _index).useListingConfig().meta;
|
12
|
+
var slug = (0, _index).useListingAlias(meta).slug;
|
13
13
|
return (0, _react).useMemo(function() {
|
14
14
|
return (aggregations === null || aggregations === void 0 ? void 0 : aggregations.reduce(function(items, filter) {
|
15
|
-
return items.concat((0, _utils).getSelectedFilters(router, slug, filter,
|
15
|
+
return items.concat((0, _utils).getSelectedFilters(router, slug, filter, meta));
|
16
16
|
}, [])) || [];
|
17
17
|
}, [
|
18
18
|
aggregations,
|
@@ -8,7 +8,7 @@ var _useConfig = require("../useConfig");
|
|
8
8
|
var usePrice = function(param) {
|
9
9
|
var price = param.price, discountedPrice = param.discountedPrice;
|
10
10
|
var ref, ref1;
|
11
|
-
var configLocale = (ref = (0, _useConfig).useConfigState()) === null || ref === void 0 ? void 0 : (ref1 = ref.price) === null || ref1 === void 0 ? void 0 : ref1.locale;
|
11
|
+
var configLocale = ((ref = (0, _useConfig).useConfigState()) === null || ref === void 0 ? void 0 : (ref1 = ref.price) === null || ref1 === void 0 ? void 0 : ref1.locale) || '';
|
12
12
|
var precision = (price === null || price === void 0 ? void 0 : price.fractionDigits) || 2;
|
13
13
|
var currency = (price === null || price === void 0 ? void 0 : price.currencyCode) || 'BGN' // to be replaced with interface currencyCode
|
14
14
|
;
|
@@ -7,8 +7,8 @@ var _utils = require("../../utils");
|
|
7
7
|
var _index = require("../../index");
|
8
8
|
var useSelectedFilters = function(filters) {
|
9
9
|
var router = (0, _router).useRouter();
|
10
|
-
var
|
11
|
-
var slug = (0, _index).useListingAlias().slug;
|
12
|
-
return (0, _utils).getSelectedFilters(router, slug, filters,
|
10
|
+
var meta = (0, _index).useListingConfig().meta;
|
11
|
+
var slug = (0, _index).useListingAlias(meta).slug;
|
12
|
+
return (0, _utils).getSelectedFilters(router, slug, filters, meta);
|
13
13
|
};
|
14
14
|
exports.useSelectedFilters = useSelectedFilters;
|
@@ -13,7 +13,7 @@ var _hooks = require("../../hooks");
|
|
13
13
|
var _types = require("../../types");
|
14
14
|
var _utils = require("../../utils");
|
15
15
|
var _utils1 = require("../../../utils");
|
16
|
-
var
|
16
|
+
var _ = require("../..");
|
17
17
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
18
18
|
try {
|
19
19
|
var info = gen[key](arg);
|
@@ -87,11 +87,11 @@ exports.AggregateRequestEnum = AggregateRequestEnum1;
|
|
87
87
|
var useAggregateQuery = function(aggregates, request, sort) {
|
88
88
|
var router = (0, _router).useRouter();
|
89
89
|
var ref = (0, _usePredicate).usePredicate(), predicate = ref.data;
|
90
|
-
var
|
90
|
+
var meta = (0, _).useListingConfig().meta;
|
91
91
|
var postFilter = getPostFilters(router);
|
92
92
|
var aggregateKeys = generateAggregateKey(aggregates);
|
93
93
|
var predicateId = predicate === null || predicate === void 0 ? void 0 : predicate._id;
|
94
|
-
var ref1 = (0, _hooks).useListingAlias(), aliasedSlug = ref1.slug;
|
94
|
+
var ref1 = (0, _hooks).useListingAlias(meta), aliasedSlug = ref1.slug;
|
95
95
|
var queryKeys = [
|
96
96
|
request.toString(),
|
97
97
|
aggregateKeys,
|
@@ -116,7 +116,7 @@ var useAggregateQuery = function(aggregates, request, sort) {
|
|
116
116
|
router: router,
|
117
117
|
postFilter: postFilter,
|
118
118
|
slug: aliasedSlug,
|
119
|
-
config:
|
119
|
+
config: meta
|
120
120
|
});
|
121
121
|
if (sort) {
|
122
122
|
query = _objectSpread({
|
@@ -137,7 +137,7 @@ var useAggregateQuery = function(aggregates, request, sort) {
|
|
137
137
|
})), {
|
138
138
|
refetchOnMount: false,
|
139
139
|
refetchOnWindowFocus: false,
|
140
|
-
enabled: isQueryEnabled(router, aliasedSlug, predicateId,
|
140
|
+
enabled: isQueryEnabled(router, aliasedSlug, predicateId, meta),
|
141
141
|
keepPreviousData: true,
|
142
142
|
staleTime: 30000
|
143
143
|
});
|
@@ -180,8 +180,8 @@ function getPostFilters(router) {
|
|
180
180
|
var query = router.query;
|
181
181
|
return query && Array.isArray(query.filter) ? query === null || query === void 0 ? void 0 : (ref = query.filter) === null || ref === void 0 ? void 0 : ref.join('&') : query === null || query === void 0 ? void 0 : query.filter;
|
182
182
|
}
|
183
|
-
function isQueryEnabled(router, slug, predicate,
|
184
|
-
var pageType = (0, _utils).getListingPageType(router, slug,
|
183
|
+
function isQueryEnabled(router, slug, predicate, meta) {
|
184
|
+
var pageType = (0, _utils).getListingPageType(router, slug, meta);
|
185
185
|
if (pageType === _types.ListingTypesEnum.Search) {
|
186
186
|
return (0, _utils1).canUseDOM();
|
187
187
|
}
|
@@ -80,8 +80,8 @@ var useInfiniteListing = function() {
|
|
80
80
|
var config = (0, _hooks).useListingConfig();
|
81
81
|
var ref3 = (0, _usePredicate).usePredicate(), predicate = ref3.data;
|
82
82
|
var query = router.query;
|
83
|
-
var ref1 = (0, _hooks).useListingAlias(), aliasedSlug = ref1.slug;
|
84
|
-
var limit = config.
|
83
|
+
var ref1 = (0, _hooks).useListingAlias(config.meta), aliasedSlug = ref1.slug;
|
84
|
+
var limit = config.meta.limit || 24;
|
85
85
|
var postFilter = (0, _utils).getPostFilters(router);
|
86
86
|
var ref2;
|
87
87
|
var queryKeys = (0, _keys).getListingQueryKeys({
|
@@ -104,11 +104,11 @@ var useInfiniteListing = function() {
|
|
104
104
|
data = (0, _useListingQuery).processListingQuery({
|
105
105
|
predicate: predicate,
|
106
106
|
limit: limit,
|
107
|
-
sort: config === null || config === void 0 ? void 0 : config.defaultSortKey,
|
107
|
+
sort: (config === null || config === void 0 ? void 0 : config.defaultSortKey) || 'defaultSort',
|
108
108
|
router: router,
|
109
109
|
postFilter: postFilter,
|
110
110
|
offset: offset,
|
111
|
-
config: config,
|
111
|
+
config: config.meta,
|
112
112
|
slug: aliasedSlug
|
113
113
|
});
|
114
114
|
return _ctx.abrupt("return", data);
|
@@ -12,7 +12,6 @@ var _hooks = require("../../hooks");
|
|
12
12
|
var _ = require("..");
|
13
13
|
var _types = require("../../types");
|
14
14
|
var _utils = require("../../utils");
|
15
|
-
var _1 = require("../../..");
|
16
15
|
function _arrayWithHoles(arr) {
|
17
16
|
if (Array.isArray(arr)) return arr;
|
18
17
|
}
|
@@ -108,46 +107,47 @@ function _slicedToArray(arr, i) {
|
|
108
107
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
|
109
108
|
}
|
110
109
|
var useListingQuery = function() {
|
111
|
-
var ref
|
110
|
+
var ref;
|
112
111
|
var router = (0, _router).useRouter();
|
113
112
|
var slug = (0, _hooks).useListingSlug();
|
114
113
|
var config = (0, _hooks).useListingConfig();
|
115
|
-
var
|
116
|
-
var
|
117
|
-
var ref4 = (0, _hooks).useListingAlias(), aliasedSlug = ref4.slug;
|
114
|
+
var ref1 = (0, _).usePredicate(), predicate = ref1.data;
|
115
|
+
var ref2 = (0, _hooks).useListingAlias(config.meta), aliasedSlug = ref2.slug;
|
118
116
|
var query = router.query;
|
119
117
|
var postFilter = (0, _utils).getPostFilters(router);
|
120
|
-
var
|
121
|
-
var
|
122
|
-
var _sort, ref7;
|
123
|
-
var sort = (ref7 = (_sort = query.sort) !== null && _sort !== void 0 ? _sort : globalConfig === null || globalConfig === void 0 ? void 0 : (ref2 = globalConfig.listing) === null || ref2 === void 0 ? void 0 : ref2.defaultSortKey) !== null && ref7 !== void 0 ? ref7 : 'defaultSort';
|
118
|
+
var limit = Number((query === null || query === void 0 ? void 0 : query.limit) || (config === null || config === void 0 ? void 0 : (ref = config.meta) === null || ref === void 0 ? void 0 : ref.limit) || 24);
|
119
|
+
var sort = query.sort || (config === null || config === void 0 ? void 0 : config.defaultSortKey) || 'defaultSort';
|
124
120
|
var offset = (0, _utils).calculateOffset(query === null || query === void 0 ? void 0 : query.page, limit);
|
125
|
-
var _sort1, ref8;
|
126
121
|
var queryKeys = (0, _).getListingQueryKeys({
|
127
122
|
type: config.type,
|
128
123
|
predicate: predicate,
|
129
|
-
sort:
|
124
|
+
sort: sort,
|
130
125
|
postFilter: postFilter,
|
131
126
|
slug: slug,
|
132
127
|
offset: offset
|
133
128
|
});
|
129
|
+
console.log('useListingQuery', isListingQueryEnabled(config.type, predicate));
|
134
130
|
return (0, _reactQuery).useQuery(queryKeys, _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee() {
|
135
131
|
var data;
|
136
132
|
return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
|
137
133
|
while(1)switch(_ctx.prev = _ctx.next){
|
138
134
|
case 0:
|
139
|
-
|
135
|
+
_ctx.next = 2;
|
136
|
+
return processListingQuery({
|
140
137
|
predicate: predicate,
|
141
138
|
limit: limit,
|
142
139
|
sort: sort,
|
143
140
|
router: router,
|
144
141
|
postFilter: postFilter,
|
145
142
|
offset: offset,
|
146
|
-
config:
|
143
|
+
config: config.meta,
|
147
144
|
slug: aliasedSlug
|
148
145
|
});
|
149
|
-
return _ctx.abrupt("return", data);
|
150
146
|
case 2:
|
147
|
+
data = _ctx.sent;
|
148
|
+
console.log('listing is Processed');
|
149
|
+
return _ctx.abrupt("return", data);
|
150
|
+
case 5:
|
151
151
|
case "end":
|
152
152
|
return _ctx.stop();
|
153
153
|
}
|
@@ -167,31 +167,46 @@ function processListingQuery(_) {
|
|
167
167
|
}
|
168
168
|
function _processListingQuery() {
|
169
169
|
_processListingQuery = _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee(param) {
|
170
|
-
var predicate, router, limit, sort, postFilter, offset, config, slug,
|
170
|
+
var predicate, router, limit, sort, postFilter, offset, config, slug, query, type, filter, _sort, _sort1;
|
171
171
|
return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
|
172
172
|
while(1)switch(_ctx.prev = _ctx.next){
|
173
173
|
case 0:
|
174
174
|
predicate = param.predicate, router = param.router, limit = param.limit, sort = param.sort, postFilter = param.postFilter, offset = param.offset, config = param.config, slug = param.slug;
|
175
|
-
;
|
175
|
+
console.log('processListingQuery');
|
176
176
|
query = router.query;
|
177
177
|
type = (0, _utils).getListingPageType(router, slug, config);
|
178
178
|
filter = generateFilter(type, query, slug, predicate);
|
179
179
|
;
|
180
|
-
|
180
|
+
console.log(_objectSpread({
|
181
181
|
limit: limit,
|
182
182
|
offset: offset || 0,
|
183
183
|
filter: (0, _utils).extendFilter({
|
184
184
|
slug: filter,
|
185
|
-
filterExtension: config === null || config === void 0 ? void 0 :
|
185
|
+
filterExtension: config === null || config === void 0 ? void 0 : config.filterExtension,
|
186
186
|
noSplit: true
|
187
187
|
}),
|
188
188
|
sort: (_sort = query.sort) !== null && _sort !== void 0 ? _sort : sort
|
189
189
|
}, (query === null || query === void 0 ? void 0 : query.filter) && {
|
190
190
|
postFilter: postFilter
|
191
|
-
}, (config === null || config === void 0 ? void 0 : config.
|
192
|
-
collapseMode: config === null || config === void 0 ? void 0 : config.
|
191
|
+
}, (config === null || config === void 0 ? void 0 : config.collapseMode) && type !== _types.ListingTypesEnum.Collection && {
|
192
|
+
collapseMode: config === null || config === void 0 ? void 0 : config.collapseMode
|
193
|
+
}));
|
194
|
+
;
|
195
|
+
return _ctx.abrupt("return", (0, _sdk).CatalogFilter(_objectSpread({
|
196
|
+
limit: limit,
|
197
|
+
offset: offset || 0,
|
198
|
+
filter: (0, _utils).extendFilter({
|
199
|
+
slug: filter,
|
200
|
+
filterExtension: config === null || config === void 0 ? void 0 : config.filterExtension,
|
201
|
+
noSplit: true
|
202
|
+
}),
|
203
|
+
sort: (_sort1 = query.sort) !== null && _sort1 !== void 0 ? _sort1 : sort
|
204
|
+
}, (query === null || query === void 0 ? void 0 : query.filter) && {
|
205
|
+
postFilter: postFilter
|
206
|
+
}, (config === null || config === void 0 ? void 0 : config.collapseMode) && type !== _types.ListingTypesEnum.Collection && {
|
207
|
+
collapseMode: config === null || config === void 0 ? void 0 : config.collapseMode
|
193
208
|
})));
|
194
|
-
case
|
209
|
+
case 9:
|
195
210
|
case "end":
|
196
211
|
return _ctx.stop();
|
197
212
|
}
|
@@ -224,6 +239,6 @@ function isListingQueryEnabled(type, predicate) {
|
|
224
239
|
return false;
|
225
240
|
}
|
226
241
|
function parseAttribute(slug) {
|
227
|
-
var ref = _slicedToArray(slug.split('-'), 2), type = ref[0], val = ref[1];
|
242
|
+
var ref = _slicedToArray((slug === null || slug === void 0 ? void 0 : slug.split('-')) || [], 2), type = ref[0], val = ref[1];
|
228
243
|
return "attr.".concat(type, ";eq;\"").concat(val, "\"");
|
229
244
|
}
|
@@ -7,11 +7,11 @@ var _regeneratorRuntime = _interopRequireDefault(require("regenerator-runtime"))
|
|
7
7
|
var _sdk = require("@sentecacommerce/sdk");
|
8
8
|
var _reactQuery = require("react-query");
|
9
9
|
var _router = require("next/router");
|
10
|
-
var _index = require("../../../index");
|
11
10
|
var _types = require("../../types");
|
12
11
|
var _ = require("../");
|
13
12
|
var _utils = require("../../utils");
|
14
13
|
var _hooks = require("../../hooks");
|
14
|
+
var _1 = require("../..");
|
15
15
|
function _arrayWithHoles(arr) {
|
16
16
|
if (Array.isArray(arr)) return arr;
|
17
17
|
}
|
@@ -95,9 +95,9 @@ var getBySlugMap = (_obj = {
|
|
95
95
|
}, _defineProperty(_obj, _types.ListingTypesEnum.Category, _sdk.CategoriesGetBySlug), _defineProperty(_obj, _types.ListingTypesEnum.View, _sdk.ViewsGetBySlug), _defineProperty(_obj, _types.ListingTypesEnum.Brand, _sdk.BrandsGetBySlug), _defineProperty(_obj, _types.ListingTypesEnum.Collection, _sdk.CollectionsGetBySlug), _obj);
|
96
96
|
var usePredicate = function() {
|
97
97
|
var slug = (0, _hooks).useListingSlug();
|
98
|
+
var meta = (0, _1).useListingConfig().meta;
|
98
99
|
var router = (0, _router).useRouter();
|
99
|
-
var
|
100
|
-
var ref = (0, _hooks).useListingAlias(), aliasedSlug = ref.slug;
|
100
|
+
var ref = (0, _hooks).useListingAlias(meta), aliasedSlug = ref.slug;
|
101
101
|
var attribute = router.query.cat && aliasedSlug;
|
102
102
|
return (0, _reactQuery).useQuery([
|
103
103
|
_.ListingQueryKeysEnum.usePredicate,
|
@@ -109,7 +109,7 @@ var usePredicate = function() {
|
|
109
109
|
while(1)switch(_ctx.prev = _ctx.next){
|
110
110
|
case 0:
|
111
111
|
_ctx.next = 2;
|
112
|
-
return processPredicateRequest(slug, router, aliasedSlug,
|
112
|
+
return processPredicateRequest(slug, router, aliasedSlug, meta);
|
113
113
|
case 2:
|
114
114
|
data = _ctx.sent;
|
115
115
|
return _ctx.abrupt("return", data);
|
@@ -31,7 +31,7 @@ var BasicListingSEO = function(param) {
|
|
31
31
|
}), /*#__PURE__*/ _react.default.createElement(_seo.OpenGraph, {
|
32
32
|
title: formattedTitle,
|
33
33
|
type: "website",
|
34
|
-
image: image || topBanner || imagesConfig.fallbackImage,
|
34
|
+
image: image || topBanner || (imagesConfig === null || imagesConfig === void 0 ? void 0 : imagesConfig.fallbackImage) || '',
|
35
35
|
additionalProps: [
|
36
36
|
{
|
37
37
|
key: 'description',
|
@@ -3,14 +3,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
});
|
4
4
|
exports.useListingAlias = void 0;
|
5
5
|
var _utils = require("../utils");
|
6
|
-
var _ = require("../..");
|
7
6
|
var _router = require("next/router");
|
8
|
-
var useListingAlias = function() {
|
7
|
+
var useListingAlias = function(meta) {
|
9
8
|
var router = (0, _router).useRouter();
|
10
|
-
var config = (0, _).useConfigState();
|
11
9
|
var slug = (0, _utils).getListingAlias({
|
12
10
|
router: router,
|
13
|
-
config:
|
11
|
+
config: meta
|
14
12
|
});
|
15
13
|
return {
|
16
14
|
slug: slug
|
@@ -34,16 +34,16 @@ function _toConsumableArray(arr) {
|
|
34
34
|
}
|
35
35
|
var _instance;
|
36
36
|
var useListingBreadcrumbs = function() {
|
37
|
-
var
|
37
|
+
var ref1 = (0, _api).usePredicate(), data = ref1.data, isLoading = ref1.isLoading;
|
38
38
|
var config = (0, _).useListingConfig();
|
39
39
|
var router = (0, _router).useRouter();
|
40
|
-
var
|
41
|
-
var slug = (0, _index).useListingAlias().slug;
|
40
|
+
var slug = (0, _index).useListingAlias(config.meta).slug;
|
42
41
|
var result = _react.default.useMemo(function() {
|
43
42
|
if (config.type === _1.ListingTypesEnum.AttrPage) {
|
43
|
+
var ref;
|
44
44
|
return [
|
45
45
|
{
|
46
|
-
name:
|
46
|
+
name: (ref = config.meta) === null || ref === void 0 ? void 0 : ref.titleAliases[slug],
|
47
47
|
id: '',
|
48
48
|
link: "/".concat(router.query.slug, "/c")
|
49
49
|
},
|
@@ -38,19 +38,18 @@ var ListingCategoriesStateContext = /*#__PURE__*/ _react.default.createContext(u
|
|
38
38
|
function ListingCategoriesProvider(param) {
|
39
39
|
var children = param.children;
|
40
40
|
var router = (0, _router).useRouter();
|
41
|
-
var
|
42
|
-
var slug = (0, _index).useListingAlias().slug;
|
43
|
-
var
|
44
|
-
var ref = (0, _api).useAggregateQuery([
|
41
|
+
var ref = (0, _useListingConfig).useListingConfig(), categoryTreeConfig = ref.categoryTreeConfig, meta = ref.meta;
|
42
|
+
var slug = (0, _index).useListingAlias(meta).slug;
|
43
|
+
var ref1 = (0, _api).useAggregateQuery([
|
45
44
|
categoryTreeConfig
|
46
|
-
], _api.AggregateRequestEnum.Categories), aggData =
|
47
|
-
var currentCategory = generateCurrentUrl(router, slug,
|
48
|
-
var
|
45
|
+
], _api.AggregateRequestEnum.Categories), aggData = ref1.data, isLoading = ref1.isLoading;
|
46
|
+
var currentCategory = generateCurrentUrl(router, slug, meta);
|
47
|
+
var ref2 = (0, _utils1).getAggregateTypeAndTerm(categoryTreeConfig), type = ref2.type, term = ref2.term;
|
49
48
|
var data = _react.default.useMemo(function() {
|
50
49
|
if (aggData) {
|
51
50
|
var response = (0, _utils1).processCategoriesResponse(aggData, type, term);
|
52
51
|
var nodes = response.map(function(current) {
|
53
|
-
return buildNodes(current, router, slug,
|
52
|
+
return buildNodes(current, router, slug, meta);
|
54
53
|
});
|
55
54
|
var categoryTree = buildCategories(nodes);
|
56
55
|
return categoryTree;
|
@@ -47,22 +47,20 @@ var ListingPageContext = /*#__PURE__*/ _react.default.createContext(undefined);
|
|
47
47
|
function ListingPageProvider(param) {
|
48
48
|
var config = param.config, children = param.children;
|
49
49
|
var router = (0, _router).useRouter();
|
50
|
-
var slug = (0, _index).useListingAlias().slug;
|
51
|
-
var mainConfig = (0, _index).useConfigState();
|
50
|
+
var slug = (0, _index).useListingAlias(config.meta).slug;
|
52
51
|
var data = _react.default.useMemo(function() {
|
53
52
|
return _objectSpread({
|
54
53
|
}, config, {
|
55
|
-
type: (0, _utils).getListingPageType(router, slug,
|
54
|
+
type: (0, _utils).getListingPageType(router, slug, config.meta)
|
56
55
|
});
|
57
56
|
}, [
|
58
57
|
router.pathname,
|
59
58
|
config.aggregates,
|
60
59
|
config.categoryTreeConfig,
|
61
60
|
config.defaultSortKey,
|
62
|
-
config.productsPerPage,
|
63
61
|
config.seoAggregates,
|
64
62
|
config.sortOptions,
|
65
|
-
config.
|
63
|
+
config.meta,
|
66
64
|
config.attributeSortType,
|
67
65
|
]);
|
68
66
|
return(/*#__PURE__*/ _react.default.createElement(ListingPageContext.Provider, {
|
@@ -13,7 +13,6 @@ var _useListingSlug = require("./useListingSlug");
|
|
13
13
|
var _generateQueryFromRouter = require("../../utils/generateQueryFromRouter");
|
14
14
|
var _typeToSuffix = require("../../utils/typeToSuffix");
|
15
15
|
var _utils = require("../../utils");
|
16
|
-
var _index = require("../../index");
|
17
16
|
function _arrayWithHoles(arr) {
|
18
17
|
if (Array.isArray(arr)) return arr;
|
19
18
|
}
|
@@ -82,19 +81,19 @@ function _slicedToArray(arr, i) {
|
|
82
81
|
var ListingFiltersStateContext = /*#__PURE__*/ _react.default.createContext(undefined);
|
83
82
|
function ListingFiltersProvider(param) {
|
84
83
|
var children = param.children;
|
85
|
-
var
|
84
|
+
var ref3 = (0, _useListingConfig).useListingConfig(), aggregates = ref3.aggregates, pageType = ref3.type, attributeSortType = ref3.attributeSortType, meta = ref3.meta;
|
86
85
|
var ref1 = (0, _api).useAggregateQuery(aggregates, _api.AggregateRequestEnum.Filters, attributeSortType), aggData = ref1.data, isLoading = ref1.isLoading, isFetching = ref1.isFetching;
|
87
|
-
var config = (0, _index).useConfigState();
|
88
86
|
var router = (0, _router).useRouter();
|
89
87
|
var slug = (0, _useListingSlug).useListingSlug();
|
90
88
|
var data = _react.default.useMemo(function() {
|
91
89
|
if (!isLoading && aggData) {
|
92
90
|
var result = aggregates === null || aggregates === void 0 ? void 0 : aggregates.sort(function(a, b) {
|
93
|
-
return a.order - b.order;
|
91
|
+
return Number(a.order) - Number(b.order);
|
94
92
|
}).map(function(currentAggregate) {
|
95
|
-
var
|
96
|
-
var
|
97
|
-
var
|
93
|
+
var ref, ref2;
|
94
|
+
var type = (currentAggregate === null || currentAggregate === void 0 ? void 0 : (ref = currentAggregate.aggregationType) === null || ref === void 0 ? void 0 : ref.toString()) || '';
|
95
|
+
var term = (currentAggregate === null || currentAggregate === void 0 ? void 0 : (ref2 = currentAggregate.aggregationDefinition) === null || ref2 === void 0 ? void 0 : ref2.split(':')[0]) || '';
|
96
|
+
var filter = (currentAggregate === null || currentAggregate === void 0 ? void 0 : currentAggregate.filterDefinition) || '';
|
98
97
|
var current = aggData[type].find(function(agg) {
|
99
98
|
return agg.name === term;
|
100
99
|
});
|
@@ -146,7 +145,7 @@ function ListingFiltersProvider(param) {
|
|
146
145
|
});
|
147
146
|
};
|
148
147
|
var selectedFilters = _react.default.useMemo(function() {
|
149
|
-
return (0, _utils).getSelectedFilters(router, slug, data,
|
148
|
+
return (0, _utils).getSelectedFilters(router, slug, data, meta);
|
150
149
|
}, [
|
151
150
|
router,
|
152
151
|
data
|
@@ -170,10 +169,10 @@ function useListingFilters() {
|
|
170
169
|
}
|
171
170
|
function generateFilters(param) {
|
172
171
|
var rawFilters = param.rawFilters, type = param.type, filter = param.filter, slug = param.slug, router = param.router, pageType = param.pageType;
|
173
|
-
var ref,
|
174
|
-
return (
|
172
|
+
var ref, ref4;
|
173
|
+
return (ref4 = (ref = rawFilters.results) === null || ref === void 0 ? void 0 : ref.filter(function(res) {
|
175
174
|
return res.count > 0;
|
176
|
-
})) === null ||
|
175
|
+
})) === null || ref4 === void 0 ? void 0 : ref4.map(function(currentTerm) {
|
177
176
|
var filterKey = mapKey(currentTerm, type);
|
178
177
|
var selected = isFilterSelected(router, filter, filterKey, filtersOperatorsMap[type]);
|
179
178
|
return {
|
@@ -191,11 +190,11 @@ function generateFilters(param) {
|
|
191
190
|
});
|
192
191
|
}
|
193
192
|
var isFilterSelected = function(router, filter, filterKey, type) {
|
194
|
-
var ref,
|
193
|
+
var ref, ref5, ref6, ref7, ref8;
|
195
194
|
var areFiltersArray = Array.isArray((ref = router.query) === null || ref === void 0 ? void 0 : ref.filter);
|
196
|
-
return areFiltersArray ? !!((
|
195
|
+
return areFiltersArray ? !!((ref6 = (ref5 = router.query.filter) === null || ref5 === void 0 ? void 0 : ref5.find(function(sel) {
|
197
196
|
return sel.includes("".concat(filter, ";").concat(type));
|
198
|
-
})) === null ||
|
197
|
+
})) === null || ref6 === void 0 ? void 0 : ref6.includes(filterKey)) : ((ref7 = router.query.filter) === null || ref7 === void 0 ? void 0 : ref7.includes("".concat(filter, ";").concat(type))) && ((ref8 = router.query.filter) === null || ref8 === void 0 ? void 0 : ref8.includes(filterKey));
|
199
198
|
};
|
200
199
|
var filtersOperatorsMap = {
|
201
200
|
ranges: 'range',
|
@@ -225,12 +224,12 @@ var generateQueryString = function(query, pair, remove) {
|
|
225
224
|
var extractFilter = function(param) {
|
226
225
|
var _str = param.str, str = _str === void 0 ? '' : _str, aggPair = param.aggPair;
|
227
226
|
var ref = _slicedToArray(str.split(';'), 3), type = ref[0], operator = ref[1], val = ref[2];
|
228
|
-
var ref7;
|
229
|
-
var filterType = (ref7 = aggPair === null || aggPair === void 0 ? void 0 : aggPair.aggType) !== null && ref7 !== void 0 ? ref7 : type;
|
230
|
-
var ref8;
|
231
|
-
var filterVal = (ref8 = aggPair === null || aggPair === void 0 ? void 0 : aggPair.aggKey) !== null && ref8 !== void 0 ? ref8 : val;
|
232
227
|
var ref9;
|
233
|
-
var
|
228
|
+
var filterType = (ref9 = aggPair === null || aggPair === void 0 ? void 0 : aggPair.aggType) !== null && ref9 !== void 0 ? ref9 : type;
|
229
|
+
var ref10;
|
230
|
+
var filterVal = (ref10 = aggPair === null || aggPair === void 0 ? void 0 : aggPair.aggKey) !== null && ref10 !== void 0 ? ref10 : val;
|
231
|
+
var ref11;
|
232
|
+
var filterOperator = (ref11 = aggPair === null || aggPair === void 0 ? void 0 : aggPair.aggOperator) !== null && ref11 !== void 0 ? ref11 : operator;
|
234
233
|
if (activeFilters[filterType]) {
|
235
234
|
activeFilters[filterType] += ",".concat(filterVal);
|
236
235
|
} else {
|
@@ -14,7 +14,7 @@ var useListingItems = function() {
|
|
14
14
|
var config = (0, _useListingConfig).useListingConfig();
|
15
15
|
var ref1 = (0, _api).useListingQuery(), data = ref1.data, isLoading = ref1.isLoading, isFetching = ref1.isFetching;
|
16
16
|
var generatePlaceholders = function(products) {
|
17
|
-
return new Array(products
|
17
|
+
return new Array(products || 24).fill(null).map(function(_, i) {
|
18
18
|
return {
|
19
19
|
_id: "".concat(i),
|
20
20
|
isPlaceholder: true
|
@@ -24,7 +24,7 @@ var useListingItems = function() {
|
|
24
24
|
var result = _react.default.useMemo(function() {
|
25
25
|
var ref;
|
26
26
|
return {
|
27
|
-
items: !(data === null || data === void 0 ? void 0 : data.results) ? generatePlaceholders(config.
|
27
|
+
items: !(data === null || data === void 0 ? void 0 : data.results) ? generatePlaceholders(config.meta.limit || 24) : data === null || data === void 0 ? void 0 : data.results,
|
28
28
|
total: (ref = data === null || data === void 0 ? void 0 : data.total) !== null && ref !== void 0 ? ref : 0,
|
29
29
|
didYouMean: data === null || data === void 0 ? void 0 : data.didYouMean,
|
30
30
|
isLoading: isLoading,
|
@@ -12,6 +12,7 @@ var _types = require("../types");
|
|
12
12
|
var _index = require("../../index");
|
13
13
|
var _useListingFilters = require("./useListingFilters");
|
14
14
|
var _useListingCategories = require("./useListingCategories");
|
15
|
+
var _ = require(".");
|
15
16
|
function _arrayWithoutHoles(arr) {
|
16
17
|
if (Array.isArray(arr)) {
|
17
18
|
for(var i = 0, arr2 = new Array(arr.length); i < arr.length; i++){
|
@@ -40,14 +41,14 @@ var useListingMeta = function() {
|
|
40
41
|
var ref1 = (0, _api).useListingQuery(), listingQuery = ref1.data;
|
41
42
|
var ref2 = (0, _useListingCategories).useListingCategories(), categoriesData = ref2.data;
|
42
43
|
var ref3 = (0, _useListingFilters).useListingFilters(), filtersData = ref3.data;
|
43
|
-
var
|
44
|
-
var
|
44
|
+
var meta = (0, _).useListingConfig().meta;
|
45
|
+
var slug = (0, _index).useListingAlias(meta).slug;
|
45
46
|
var result = _react.default.useMemo(function() {
|
46
47
|
var ref;
|
47
48
|
var customFields = (0, _utils).customFieldsToMap(predicate === null || predicate === void 0 ? void 0 : predicate.custom);
|
48
49
|
var assets = (0, _assetsToMap).assetsFieldsToMap(predicate === null || predicate === void 0 ? void 0 : predicate.assets);
|
49
50
|
var description = ((ref = (0, _utils).getTranslatableField(predicate === null || predicate === void 0 ? void 0 : predicate.description)) === null || ref === void 0 ? void 0 : ref.trim()) || '';
|
50
|
-
var displayName = processDisplayName(slug,
|
51
|
+
var displayName = processDisplayName(slug, meta, predicate === null || predicate === void 0 ? void 0 : predicate.name, predicate === null || predicate === void 0 ? void 0 : predicate.breadcrumb, router, filtersData, categoriesData);
|
51
52
|
return {
|
52
53
|
displayName: displayName,
|
53
54
|
description: description,
|
@@ -86,7 +87,7 @@ function processDisplayName(slug, config, name, breadcrumb, router, aggData, cat
|
|
86
87
|
var categoryName = getCategoryName(router, categoriesData);
|
87
88
|
var type = (0, _utils1).getListingPageType(router, slug, config);
|
88
89
|
if (type === _types.ListingTypesEnum.AttrPage) {
|
89
|
-
return "Всичко за ".concat(config.
|
90
|
+
return "Всичко за ".concat(config.titleAliases[slug]);
|
90
91
|
}
|
91
92
|
if (router === null || router === void 0 ? void 0 : router.query.cat) {
|
92
93
|
var attribute = (0, _utils).getTranslatableField(breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.label);
|