@sentecacommerce-theme/lib 0.12.101 → 0.13.2
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/basket/api/mutations/index.js +14 -0
- package/dist/cjs/basket/api/mutations/useChangeGiftVariant.js +116 -0
- package/dist/cjs/basket/hooks/index.js +12 -0
- package/dist/cjs/basket/hooks/useChangeGiftVariant.js +16 -0
- package/dist/cjs/hooks/useAggregateResult/index.js +5 -1
- package/dist/cjs/hooks/useClearAllFilters/index.js +2 -0
- package/dist/cjs/listing/hooks/useListingBreadcrumbs.js +20 -8
- package/dist/cjs/listing/hooks/useListingCategories.js +2 -2
- package/dist/cjs/listing/hooks/useListingFilters.js +7 -1
- package/dist/cjs/listing/hooks/useListingMeta.js +12 -10
- package/dist/cjs/listing/hooks/useSlideFilter.js +3 -1
- package/dist/cjs/listing/utils/buildCategoryQuery.js +22 -1
- package/dist/cjs/user/api/queries/useGetMyLoyaltyCardQuery.js +49 -3
- package/dist/cjs/utils/getSelectedFilters.js +3 -1
- package/dist/cjs/utils/localStorage.js +7 -2
- package/dist/esm/basket/api/mutations/index.js +1 -0
- package/dist/esm/basket/api/mutations/useChangeGiftVariant.js +106 -0
- package/dist/esm/basket/hooks/index.js +1 -0
- package/dist/esm/basket/hooks/useChangeGiftVariant.js +3 -0
- package/dist/esm/hooks/useAggregateResult/index.js +5 -1
- package/dist/esm/hooks/useClearAllFilters/index.js +2 -0
- package/dist/esm/listing/hooks/useListingBreadcrumbs.js +15 -3
- package/dist/esm/listing/hooks/useListingCategories.js +2 -2
- package/dist/esm/listing/hooks/useListingFilters.js +7 -1
- package/dist/esm/listing/hooks/useListingMeta.js +12 -12
- package/dist/esm/listing/hooks/useSlideFilter.js +3 -1
- package/dist/esm/listing/utils/buildCategoryQuery.js +22 -1
- package/dist/esm/user/api/queries/useGetMyLoyaltyCardQuery.js +44 -3
- package/dist/esm/utils/getSelectedFilters.js +3 -1
- package/dist/esm/utils/localStorage.js +7 -2
- package/dist/types/basket/api/mutations/index.d.ts +1 -0
- package/dist/types/basket/api/mutations/useChangeGiftVariant.d.ts +2 -0
- package/dist/types/basket/hooks/index.d.ts +1 -0
- package/dist/types/basket/hooks/useChangeGiftVariant.d.ts +2 -0
- package/dist/types/hooks/basket-hooks/useBasketLineItem/index.d.ts +1 -2
- package/dist/types/listing/hooks/useListingMeta.d.ts +4 -0
- package/package.json +4 -4
@@ -1,9 +1,11 @@
|
|
1
1
|
Object.defineProperty(exports, "__esModule", {
|
2
2
|
value: true
|
3
3
|
});
|
4
|
+
var _exportNames = {};
|
4
5
|
var _useReplaceBasketMutation = _interopRequireWildcard(require("./useReplaceBasketMutation"));
|
5
6
|
Object.keys(_useReplaceBasketMutation).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] === _useReplaceBasketMutation[key]) return;
|
8
10
|
Object.defineProperty(exports, key, {
|
9
11
|
enumerable: true,
|
@@ -12,6 +14,18 @@ Object.keys(_useReplaceBasketMutation).forEach(function(key) {
|
|
12
14
|
}
|
13
15
|
});
|
14
16
|
});
|
17
|
+
var _useChangeGiftVariant = _interopRequireWildcard(require("./useChangeGiftVariant"));
|
18
|
+
Object.keys(_useChangeGiftVariant).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] === _useChangeGiftVariant[key]) return;
|
22
|
+
Object.defineProperty(exports, key, {
|
23
|
+
enumerable: true,
|
24
|
+
get: function() {
|
25
|
+
return _useChangeGiftVariant[key];
|
26
|
+
}
|
27
|
+
});
|
28
|
+
});
|
15
29
|
function _interopRequireWildcard(obj) {
|
16
30
|
if (obj && obj.__esModule) {
|
17
31
|
return obj;
|
@@ -0,0 +1,116 @@
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
2
|
+
value: true
|
3
|
+
});
|
4
|
+
exports.useChangeGiftVariantMutation = void 0;
|
5
|
+
var _regeneratorRuntime = _interopRequireDefault(require("regenerator-runtime"));
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
7
|
+
var _reactQuery = require("react-query");
|
8
|
+
var _sdk = require("@sentecacommerce/sdk");
|
9
|
+
var _index = require("../../index");
|
10
|
+
function _arrayLikeToArray(arr, len) {
|
11
|
+
if (len == null || len > arr.length) len = arr.length;
|
12
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
13
|
+
return arr2;
|
14
|
+
}
|
15
|
+
function _arrayWithHoles(arr) {
|
16
|
+
if (Array.isArray(arr)) return arr;
|
17
|
+
}
|
18
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
19
|
+
try {
|
20
|
+
var info = gen[key](arg);
|
21
|
+
var value = info.value;
|
22
|
+
} catch (error) {
|
23
|
+
reject(error);
|
24
|
+
return;
|
25
|
+
}
|
26
|
+
if (info.done) {
|
27
|
+
resolve(value);
|
28
|
+
} else {
|
29
|
+
Promise.resolve(value).then(_next, _throw);
|
30
|
+
}
|
31
|
+
}
|
32
|
+
function _asyncToGenerator(fn) {
|
33
|
+
return function() {
|
34
|
+
var self = this, args = arguments;
|
35
|
+
return new Promise(function(resolve, reject) {
|
36
|
+
var gen = fn.apply(self, args);
|
37
|
+
function _next(value) {
|
38
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
39
|
+
}
|
40
|
+
function _throw(err) {
|
41
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
42
|
+
}
|
43
|
+
_next(undefined);
|
44
|
+
});
|
45
|
+
};
|
46
|
+
}
|
47
|
+
function _interopRequireDefault(obj) {
|
48
|
+
return obj && obj.__esModule ? obj : {
|
49
|
+
default: obj
|
50
|
+
};
|
51
|
+
}
|
52
|
+
function _iterableToArrayLimit(arr, i) {
|
53
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
54
|
+
if (_i == null) return;
|
55
|
+
var _arr = [];
|
56
|
+
var _n = true;
|
57
|
+
var _d = false;
|
58
|
+
var _s, _e;
|
59
|
+
try {
|
60
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
61
|
+
_arr.push(_s.value);
|
62
|
+
if (i && _arr.length === i) break;
|
63
|
+
}
|
64
|
+
} catch (err) {
|
65
|
+
_d = true;
|
66
|
+
_e = err;
|
67
|
+
} finally{
|
68
|
+
try {
|
69
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
70
|
+
} finally{
|
71
|
+
if (_d) throw _e;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
return _arr;
|
75
|
+
}
|
76
|
+
function _nonIterableRest() {
|
77
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
78
|
+
}
|
79
|
+
function _slicedToArray(arr, i) {
|
80
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
81
|
+
}
|
82
|
+
function _unsupportedIterableToArray(o, minLen) {
|
83
|
+
if (!o) return;
|
84
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
85
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
86
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
87
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
88
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
89
|
+
}
|
90
|
+
var useChangeGiftVariantMutation = function() {
|
91
|
+
var ref = _slicedToArray((0, _index).useReplaceBasket(), 1), replaceBasket = ref[0];
|
92
|
+
return (0, _reactQuery).useMutation(function() {
|
93
|
+
var _ref = _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee(props) {
|
94
|
+
return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
|
95
|
+
while(1)switch(_ctx.prev = _ctx.next){
|
96
|
+
case 0:
|
97
|
+
_ctx.next = 2;
|
98
|
+
return (0, _sdk).MyCartChangeSelectableGiftLineItemVariant(props);
|
99
|
+
case 2:
|
100
|
+
return _ctx.abrupt("return", _ctx.sent);
|
101
|
+
case 3:
|
102
|
+
case "end":
|
103
|
+
return _ctx.stop();
|
104
|
+
}
|
105
|
+
}, _callee);
|
106
|
+
}));
|
107
|
+
return function(props) {
|
108
|
+
return _ref.apply(this, arguments);
|
109
|
+
};
|
110
|
+
}(), {
|
111
|
+
onSuccess: function(data) {
|
112
|
+
return replaceBasket(data);
|
113
|
+
}
|
114
|
+
});
|
115
|
+
};
|
116
|
+
exports.useChangeGiftVariantMutation = useChangeGiftVariantMutation;
|
@@ -26,6 +26,18 @@ Object.keys(_useBasketCrossSaleItems).forEach(function(key) {
|
|
26
26
|
}
|
27
27
|
});
|
28
28
|
});
|
29
|
+
var _useChangeGiftVariant = _interopRequireWildcard(require("./useChangeGiftVariant"));
|
30
|
+
Object.keys(_useChangeGiftVariant).forEach(function(key) {
|
31
|
+
if (key === "default" || key === "__esModule") return;
|
32
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
33
|
+
if (key in exports && exports[key] === _useChangeGiftVariant[key]) return;
|
34
|
+
Object.defineProperty(exports, key, {
|
35
|
+
enumerable: true,
|
36
|
+
get: function() {
|
37
|
+
return _useChangeGiftVariant[key];
|
38
|
+
}
|
39
|
+
});
|
40
|
+
});
|
29
41
|
function _interopRequireWildcard(obj) {
|
30
42
|
if (obj && obj.__esModule) {
|
31
43
|
return obj;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
2
|
+
value: true
|
3
|
+
});
|
4
|
+
Object.defineProperty(exports, "useChangeGiftVariant", {
|
5
|
+
enumerable: true,
|
6
|
+
get: function() {
|
7
|
+
return _mutations.useChangeGiftVariantMutation;
|
8
|
+
}
|
9
|
+
});
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
11
|
+
var _mutations = require("../api/mutations");
|
12
|
+
function _interopRequireDefault(obj) {
|
13
|
+
return obj && obj.__esModule ? obj : {
|
14
|
+
default: obj
|
15
|
+
};
|
16
|
+
}
|
@@ -91,7 +91,9 @@ var useAggregateResult = function(type, aggregates, slug, predicate, query) {
|
|
91
91
|
aggType: a.filterDefinition,
|
92
92
|
aggKey: filterKey,
|
93
93
|
aggOperator: operatorMap[a.aggregationType]
|
94
|
-
}, selected, router)
|
94
|
+
}, selected, router), undefined, {
|
95
|
+
shallow: true
|
96
|
+
});
|
95
97
|
}
|
96
98
|
},
|
97
99
|
]);
|
@@ -108,6 +110,8 @@ var useAggregateResult = function(type, aggregates, slug, predicate, query) {
|
|
108
110
|
query: _objectSpread({}, router.query, {
|
109
111
|
filter: filterByType(router.query.filter, a.filterDefinition)
|
110
112
|
})
|
113
|
+
}, undefined, {
|
114
|
+
shallow: true
|
111
115
|
});
|
112
116
|
},
|
113
117
|
type: a.aggregationType
|
@@ -5,11 +5,11 @@ exports.useListingBreadcrumbs = void 0;
|
|
5
5
|
var _react = _interopRequireDefault(require("react"));
|
6
6
|
var _router = require("next/router");
|
7
7
|
var _api = require("../api");
|
8
|
-
var
|
9
|
-
var
|
8
|
+
var _index = require("./index");
|
9
|
+
var _index1 = require("../../index");
|
10
10
|
var _typeToSuffix = require("../../utils/typeToSuffix");
|
11
11
|
var _getTranslatableField = require("../../utils/getTranslatableField");
|
12
|
-
var
|
12
|
+
var _ = require("..");
|
13
13
|
function _arrayLikeToArray(arr, len) {
|
14
14
|
if (len == null || len > arr.length) len = arr.length;
|
15
15
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
@@ -42,12 +42,15 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
42
42
|
}
|
43
43
|
var _instance;
|
44
44
|
var useListingBreadcrumbs = function() {
|
45
|
-
var
|
46
|
-
var config = (0,
|
45
|
+
var ref3 = (0, _api).usePredicate(), data = ref3.data, isLoading = ref3.isLoading;
|
46
|
+
var config = (0, _index).useListingConfig();
|
47
47
|
var router = (0, _router).useRouter();
|
48
|
-
var slug = (0,
|
48
|
+
var slug = (0, _index1).useListingAlias(config.meta).slug;
|
49
|
+
var ref1 = (0, _index).useListingCategories(), categoriesData = ref1.data;
|
50
|
+
var categoryName = (0, _index).getCategoryName(router, categoriesData);
|
51
|
+
var categoryId = (0, _index).getFilterByType('category', router);
|
49
52
|
var result = _react.default.useMemo(function() {
|
50
|
-
if (config.type ===
|
53
|
+
if (config.type === _.ListingTypesEnum.AttrPage) {
|
51
54
|
var ref;
|
52
55
|
return [
|
53
56
|
{
|
@@ -66,7 +69,16 @@ var useListingBreadcrumbs = function() {
|
|
66
69
|
},
|
67
70
|
];
|
68
71
|
}
|
69
|
-
|
72
|
+
var breadcrumbData = createCatalogBreadcrumb(data, config.type, router);
|
73
|
+
if (config.type === _.ListingTypesEnum.View || config.type === _.ListingTypesEnum.Brand) {
|
74
|
+
var ref2;
|
75
|
+
breadcrumbData.push({
|
76
|
+
name: categoryName || '',
|
77
|
+
id: categoryId,
|
78
|
+
link: processLink((ref2 = data) === null || ref2 === void 0 ? void 0 : ref2.slug, config.type, router.query.slug) + applyFilters(router)
|
79
|
+
});
|
80
|
+
}
|
81
|
+
return breadcrumbData;
|
70
82
|
}, [
|
71
83
|
data,
|
72
84
|
config.type,
|
@@ -103,14 +103,14 @@ function generateUrl(current, router, slug, config) {
|
|
103
103
|
res = "/".concat(router.query.slug, "/").concat((0, _utils).getTranslatableField(current.meta.slug), "/").concat(suffix);
|
104
104
|
}
|
105
105
|
if (pageType === _types.ListingTypesEnum.View) {
|
106
|
-
res = "/".concat(router.query.slug, "/").concat(
|
106
|
+
res = "/".concat(router.query.slug, "/").concat(suffix);
|
107
107
|
}
|
108
108
|
if (pageType === _types.ListingTypesEnum.Search) {
|
109
109
|
var _q;
|
110
110
|
res = "/".concat((0, _utils).getTranslatableField(current.meta.slug), "/c?search=").concat((_q = router.query.q) !== null && _q !== void 0 ? _q : router.query.search);
|
111
111
|
}
|
112
112
|
var filter = router.query.filter;
|
113
|
-
if (suffix === 'b') {
|
113
|
+
if (suffix === 'b' || suffix === 'v') {
|
114
114
|
if (filter) {
|
115
115
|
if (Array.isArray(filter)) {
|
116
116
|
filter = _toConsumableArray(filter);
|
@@ -136,6 +136,8 @@ function ListingFiltersProvider(param) {
|
|
136
136
|
query: _objectSpread({}, router.query, {
|
137
137
|
filter: filterByType(router.query.filter, filter)
|
138
138
|
})
|
139
|
+
}, undefined, {
|
140
|
+
shallow: true
|
139
141
|
});
|
140
142
|
},
|
141
143
|
type: type
|
@@ -155,6 +157,8 @@ function ListingFiltersProvider(param) {
|
|
155
157
|
router.push({
|
156
158
|
pathname: router.pathname,
|
157
159
|
query: query
|
160
|
+
}, undefined, {
|
161
|
+
shallow: true
|
158
162
|
});
|
159
163
|
};
|
160
164
|
var selectedFilters = _react.default.useMemo(function() {
|
@@ -197,7 +201,9 @@ function generateFilters(param) {
|
|
197
201
|
aggType: filter,
|
198
202
|
aggKey: filterKey,
|
199
203
|
aggOperator: filtersOperatorsMap[type]
|
200
|
-
}, Boolean(selected), router)
|
204
|
+
}, Boolean(selected), router), undefined, {
|
205
|
+
shallow: true
|
206
|
+
});
|
201
207
|
}
|
202
208
|
};
|
203
209
|
});
|
@@ -1,6 +1,8 @@
|
|
1
1
|
Object.defineProperty(exports, "__esModule", {
|
2
2
|
value: true
|
3
3
|
});
|
4
|
+
exports.getFilterByType = getFilterByType;
|
5
|
+
exports.getCategoryName = getCategoryName;
|
4
6
|
exports.useListingMeta = void 0;
|
5
7
|
var _react = _interopRequireDefault(require("react"));
|
6
8
|
var _api = require("../api");
|
@@ -116,7 +118,7 @@ var useListingMeta = function() {
|
|
116
118
|
};
|
117
119
|
exports.useListingMeta = useListingMeta;
|
118
120
|
function processDisplayName(slug, config, name, breadcrumb, router, aggData, categoriesData) {
|
119
|
-
var ref, ref5;
|
121
|
+
var ref, ref5, ref6;
|
120
122
|
var listingName = (0, _utils).getTranslatableField(name);
|
121
123
|
var brandName = getBrandName(router, aggData);
|
122
124
|
var categoryName = getCategoryName(router, categoriesData);
|
@@ -130,7 +132,7 @@ function processDisplayName(slug, config, name, breadcrumb, router, aggData, cat
|
|
130
132
|
defaultName: listingName,
|
131
133
|
attribute: (ref = config.titleAliases) === null || ref === void 0 ? void 0 : ref[slug],
|
132
134
|
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,
|
135
|
+
search: (router === null || router === void 0 ? void 0 : (ref5 = router.query) === null || ref5 === void 0 ? void 0 : ref5.q) || (router === null || router === void 0 ? void 0 : (ref6 = router.query) === null || ref6 === void 0 ? void 0 : ref6.search),
|
134
136
|
isWithAttribute: Boolean(router === null || router === void 0 ? void 0 : router.query.cat)
|
135
137
|
});
|
136
138
|
return title || listingName;
|
@@ -138,35 +140,35 @@ function processDisplayName(slug, config, name, breadcrumb, router, aggData, cat
|
|
138
140
|
function getFilterByType(filterType, router) {
|
139
141
|
var filterId = '';
|
140
142
|
if (Array.isArray(router === null || router === void 0 ? void 0 : router.query.filter)) {
|
141
|
-
var ref,
|
143
|
+
var ref, ref7;
|
142
144
|
var filters = (ref = router === null || router === void 0 ? void 0 : router.query.filter) === null || ref === void 0 ? void 0 : ref.filter(function(x) {
|
143
145
|
return x === null || x === void 0 ? void 0 : x.includes(filterType);
|
144
146
|
});
|
145
147
|
if ((filters === null || filters === void 0 ? void 0 : filters.length) && filters.length > 1) {
|
146
148
|
return '';
|
147
149
|
}
|
148
|
-
var filterTerm = (
|
150
|
+
var filterTerm = (ref7 = /\d+/.exec((filters === null || filters === void 0 ? void 0 : filters[0]) || '')) === null || ref7 === void 0 ? void 0 : ref7[0];
|
149
151
|
if (!filterTerm) return '';
|
150
152
|
filterId = filterTerm;
|
151
153
|
} else {
|
152
|
-
var
|
153
|
-
var isFiltered = router === null || router === void 0 ? void 0 : (
|
154
|
+
var ref8, ref9, ref10;
|
155
|
+
var isFiltered = router === null || router === void 0 ? void 0 : (ref8 = router.query) === null || ref8 === void 0 ? void 0 : (ref9 = ref8.filter) === null || ref9 === void 0 ? void 0 : ref9.includes(filterType);
|
154
156
|
if (!isFiltered) {
|
155
157
|
return '';
|
156
158
|
}
|
157
|
-
filterId = (
|
159
|
+
filterId = (ref10 = /(\w+)-(\d+)/.exec(router === null || router === void 0 ? void 0 : router.query.filter)) === null || ref10 === void 0 ? void 0 : ref10[0];
|
158
160
|
}
|
159
161
|
return filterId;
|
160
162
|
}
|
161
163
|
function getBrandName(router, filtersData) {
|
162
|
-
var ref,
|
164
|
+
var ref, ref11, ref12;
|
163
165
|
var brandId = getFilterByType('brand', router);
|
164
166
|
var brand = (ref = filtersData === null || filtersData === void 0 ? void 0 : filtersData.find(function(x) {
|
165
167
|
return x.name === 'Brands';
|
166
|
-
})) === null || ref === void 0 ? void 0 : (
|
168
|
+
})) === null || ref === void 0 ? void 0 : (ref11 = ref.items) === null || ref11 === void 0 ? void 0 : ref11.find(function(x) {
|
167
169
|
return x.data.key === brandId;
|
168
170
|
});
|
169
|
-
return (0, _utils).getTranslatableField(brand === null || brand === void 0 ? void 0 : (
|
171
|
+
return (0, _utils).getTranslatableField(brand === null || brand === void 0 ? void 0 : (ref12 = brand.meta) === null || ref12 === void 0 ? void 0 : ref12.name);
|
170
172
|
}
|
171
173
|
function getCategoryName(router, categories) {
|
172
174
|
var categoryId = getFilterByType('category', router);
|
@@ -110,7 +110,9 @@ var useSlideFilter = function(filterName, min, max) {
|
|
110
110
|
aggType: filterName,
|
111
111
|
aggKey: "".concat(formattedFrom, ",").concat(formattedTo),
|
112
112
|
aggOperator: _useListingFilters.filtersOperatorsMap.stats
|
113
|
-
}, false, router, true)
|
113
|
+
}, false, router, true), undefined, {
|
114
|
+
shallow: true
|
115
|
+
});
|
114
116
|
}, 500);
|
115
117
|
setState({
|
116
118
|
from: formattedFrom,
|
@@ -64,7 +64,7 @@ var buildCategoryQuery = function(param) {
|
|
64
64
|
filter += (ref = config === null || config === void 0 ? void 0 : config.filterExtension) !== null && ref !== void 0 ? ref : '';
|
65
65
|
}
|
66
66
|
if (postFilter) {
|
67
|
-
if (
|
67
|
+
if (filter) filter += '&';
|
68
68
|
filter += postFilter;
|
69
69
|
}
|
70
70
|
break;
|
@@ -81,6 +81,14 @@ var buildCategoryQuery = function(param) {
|
|
81
81
|
filter += "text;eq;\"".concat(searchQuery, "\"");
|
82
82
|
if (postFilter) filter += "&".concat(postFilter);
|
83
83
|
break;
|
84
|
+
case _index.ListingTypesEnum.View:
|
85
|
+
filter += applyViewsPostFilter({
|
86
|
+
postFilter: postFilter
|
87
|
+
});
|
88
|
+
if (config === null || config === void 0 ? void 0 : config.filterExtension) {
|
89
|
+
filter += filter ? "&".concat(config === null || config === void 0 ? void 0 : config.filterExtension) : config === null || config === void 0 ? void 0 : config.filterExtension;
|
90
|
+
}
|
91
|
+
break;
|
84
92
|
default:
|
85
93
|
return "".concat((config === null || config === void 0 ? void 0 : config.filterExtension) + "".concat(postFilter !== null && postFilter !== void 0 ? postFilter : ''));
|
86
94
|
}
|
@@ -113,3 +121,16 @@ var applyBrandsPostFilter = function(param) {
|
|
113
121
|
}
|
114
122
|
return '';
|
115
123
|
};
|
124
|
+
var applyViewsPostFilter = function(param) {
|
125
|
+
var postFilter = param.postFilter;
|
126
|
+
if (postFilter) {
|
127
|
+
var filtersArr = postFilter.split('&');
|
128
|
+
var filters = filtersArr.reduce(function(res, val, i) {
|
129
|
+
if (val.includes('category')) return res;
|
130
|
+
if (!res) return res + "".concat(val);
|
131
|
+
return res += "&".concat(val);
|
132
|
+
}, '');
|
133
|
+
return "".concat(filters);
|
134
|
+
}
|
135
|
+
return '';
|
136
|
+
};
|
@@ -2,12 +2,58 @@ Object.defineProperty(exports, "__esModule", {
|
|
2
2
|
value: true
|
3
3
|
});
|
4
4
|
exports.useGetMyLoyaltyCardQuery = void 0;
|
5
|
+
var _regeneratorRuntime = _interopRequireDefault(require("regenerator-runtime"));
|
5
6
|
var _sdk = require("@sentecacommerce/sdk");
|
6
7
|
var _reactQuery = require("react-query");
|
8
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
9
|
+
try {
|
10
|
+
var info = gen[key](arg);
|
11
|
+
var value = info.value;
|
12
|
+
} catch (error) {
|
13
|
+
reject(error);
|
14
|
+
return;
|
15
|
+
}
|
16
|
+
if (info.done) {
|
17
|
+
resolve(value);
|
18
|
+
} else {
|
19
|
+
Promise.resolve(value).then(_next, _throw);
|
20
|
+
}
|
21
|
+
}
|
22
|
+
function _asyncToGenerator(fn) {
|
23
|
+
return function() {
|
24
|
+
var self = this, args = arguments;
|
25
|
+
return new Promise(function(resolve, reject) {
|
26
|
+
var gen = fn.apply(self, args);
|
27
|
+
function _next(value) {
|
28
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
29
|
+
}
|
30
|
+
function _throw(err) {
|
31
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
32
|
+
}
|
33
|
+
_next(undefined);
|
34
|
+
});
|
35
|
+
};
|
36
|
+
}
|
37
|
+
function _interopRequireDefault(obj) {
|
38
|
+
return obj && obj.__esModule ? obj : {
|
39
|
+
default: obj
|
40
|
+
};
|
41
|
+
}
|
7
42
|
var useGetMyLoyaltyCardQuery = function(callback) {
|
8
|
-
return (0, _reactQuery).useQuery('get-loyalty-card-key', function() {
|
9
|
-
return (
|
10
|
-
|
43
|
+
return (0, _reactQuery).useQuery('get-loyalty-card-key', _asyncToGenerator(_regeneratorRuntime.default.mark(function _callee() {
|
44
|
+
return _regeneratorRuntime.default.wrap(function _callee$(_ctx) {
|
45
|
+
while(1)switch(_ctx.prev = _ctx.next){
|
46
|
+
case 0:
|
47
|
+
return _ctx.abrupt("return", (0, _sdk).MyWalletGetByType('loyalty-program'));
|
48
|
+
case 1:
|
49
|
+
case "end":
|
50
|
+
return _ctx.stop();
|
51
|
+
}
|
52
|
+
}, _callee);
|
53
|
+
})), {
|
54
|
+
refetchOnMount: false,
|
55
|
+
refetchOnWindowFocus: false,
|
56
|
+
retry: false,
|
11
57
|
onSuccess: function() {
|
12
58
|
var ref;
|
13
59
|
return callback === null || callback === void 0 ? void 0 : (ref = callback.onSuccess) === null || ref === void 0 ? void 0 : ref.call(callback);
|
@@ -99,7 +99,9 @@ var getSelectedFilters = function(router, slug, data, config) {
|
|
99
99
|
aggType: key,
|
100
100
|
aggKey: "".concat(valueFrom, ",").concat(valueTo),
|
101
101
|
aggOperator: _listing.filtersOperatorsMap.stats
|
102
|
-
}, true, router)
|
102
|
+
}, true, router), undefined, {
|
103
|
+
shallow: true
|
104
|
+
});
|
103
105
|
},
|
104
106
|
selected: true,
|
105
107
|
data: _objectSpread({}, data.raw, {
|
@@ -4,12 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
exports.writeToLocalStorage = exports.readFromLocalStorage = void 0;
|
5
5
|
var readFromLocalStorage = function(key) {
|
6
6
|
if (typeof window !== 'undefined') {
|
7
|
-
|
7
|
+
try {
|
8
|
+
return JSON.parse(localStorage.getItem(key));
|
9
|
+
} catch (e) {
|
10
|
+
console.log(e);
|
11
|
+
return null;
|
12
|
+
}
|
8
13
|
}
|
9
14
|
};
|
10
15
|
exports.readFromLocalStorage = readFromLocalStorage;
|
11
16
|
var writeToLocalStorage = function(key, data) {
|
12
|
-
if (typeof window !== 'undefined') {
|
17
|
+
if (typeof window !== 'undefined' && data !== undefined) {
|
13
18
|
localStorage.setItem(key, JSON.stringify(data));
|
14
19
|
}
|
15
20
|
};
|
@@ -0,0 +1,106 @@
|
|
1
|
+
import regeneratorRuntime from "regenerator-runtime";
|
2
|
+
import React from 'react';
|
3
|
+
import { useMutation } from 'react-query';
|
4
|
+
import { MyCartChangeSelectableGiftLineItemVariant } from '@sentecacommerce/sdk';
|
5
|
+
import { useReplaceBasket } from '../../index';
|
6
|
+
function _arrayLikeToArray(arr, len) {
|
7
|
+
if (len == null || len > arr.length) len = arr.length;
|
8
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
9
|
+
return arr2;
|
10
|
+
}
|
11
|
+
function _arrayWithHoles(arr) {
|
12
|
+
if (Array.isArray(arr)) return arr;
|
13
|
+
}
|
14
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
15
|
+
try {
|
16
|
+
var info = gen[key](arg);
|
17
|
+
var value = info.value;
|
18
|
+
} catch (error) {
|
19
|
+
reject(error);
|
20
|
+
return;
|
21
|
+
}
|
22
|
+
if (info.done) {
|
23
|
+
resolve(value);
|
24
|
+
} else {
|
25
|
+
Promise.resolve(value).then(_next, _throw);
|
26
|
+
}
|
27
|
+
}
|
28
|
+
function _asyncToGenerator(fn) {
|
29
|
+
return function() {
|
30
|
+
var self = this, args = arguments;
|
31
|
+
return new Promise(function(resolve, reject) {
|
32
|
+
var gen = fn.apply(self, args);
|
33
|
+
function _next(value) {
|
34
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
35
|
+
}
|
36
|
+
function _throw(err) {
|
37
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
38
|
+
}
|
39
|
+
_next(undefined);
|
40
|
+
});
|
41
|
+
};
|
42
|
+
}
|
43
|
+
function _iterableToArrayLimit(arr, i) {
|
44
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
45
|
+
if (_i == null) return;
|
46
|
+
var _arr = [];
|
47
|
+
var _n = true;
|
48
|
+
var _d = false;
|
49
|
+
var _s, _e;
|
50
|
+
try {
|
51
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
52
|
+
_arr.push(_s.value);
|
53
|
+
if (i && _arr.length === i) break;
|
54
|
+
}
|
55
|
+
} catch (err) {
|
56
|
+
_d = true;
|
57
|
+
_e = err;
|
58
|
+
} finally{
|
59
|
+
try {
|
60
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
61
|
+
} finally{
|
62
|
+
if (_d) throw _e;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
return _arr;
|
66
|
+
}
|
67
|
+
function _nonIterableRest() {
|
68
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
69
|
+
}
|
70
|
+
function _slicedToArray(arr, i) {
|
71
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
72
|
+
}
|
73
|
+
function _unsupportedIterableToArray(o, minLen) {
|
74
|
+
if (!o) return;
|
75
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
76
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
77
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
78
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
79
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
80
|
+
}
|
81
|
+
export var useChangeGiftVariantMutation = function() {
|
82
|
+
var ref = _slicedToArray(useReplaceBasket(), 1), replaceBasket = ref[0];
|
83
|
+
return useMutation(function() {
|
84
|
+
var _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee(props) {
|
85
|
+
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
86
|
+
while(1)switch(_ctx.prev = _ctx.next){
|
87
|
+
case 0:
|
88
|
+
_ctx.next = 2;
|
89
|
+
return MyCartChangeSelectableGiftLineItemVariant(props);
|
90
|
+
case 2:
|
91
|
+
return _ctx.abrupt("return", _ctx.sent);
|
92
|
+
case 3:
|
93
|
+
case "end":
|
94
|
+
return _ctx.stop();
|
95
|
+
}
|
96
|
+
}, _callee);
|
97
|
+
}));
|
98
|
+
return function(props) {
|
99
|
+
return _ref.apply(this, arguments);
|
100
|
+
};
|
101
|
+
}(), {
|
102
|
+
onSuccess: function(data) {
|
103
|
+
return replaceBasket(data);
|
104
|
+
}
|
105
|
+
});
|
106
|
+
};
|
@@ -87,7 +87,9 @@ export var useAggregateResult = function(type, aggregates, slug, predicate, quer
|
|
87
87
|
aggType: a.filterDefinition,
|
88
88
|
aggKey: filterKey,
|
89
89
|
aggOperator: operatorMap[a.aggregationType]
|
90
|
-
}, selected, router)
|
90
|
+
}, selected, router), undefined, {
|
91
|
+
shallow: true
|
92
|
+
});
|
91
93
|
}
|
92
94
|
},
|
93
95
|
]);
|
@@ -104,6 +106,8 @@ export var useAggregateResult = function(type, aggregates, slug, predicate, quer
|
|
104
106
|
query: _objectSpread({}, router.query, {
|
105
107
|
filter: filterByType(router.query.filter, a.filterDefinition)
|
106
108
|
})
|
109
|
+
}, undefined, {
|
110
|
+
shallow: true
|
107
111
|
});
|
108
112
|
},
|
109
113
|
type: a.aggregationType
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { useRouter } from 'next/router';
|
3
3
|
import { usePredicate } from '../api';
|
4
|
-
import { useListingConfig } from './';
|
4
|
+
import { useListingCategories, useListingConfig, getCategoryName, getFilterByType } from './index';
|
5
5
|
import { useListingAlias } from '../../index';
|
6
6
|
import { typeToSuffix } from '../../utils/typeToSuffix';
|
7
7
|
import { getTranslatableField } from '../../utils/getTranslatableField';
|
@@ -33,10 +33,13 @@ function _unsupportedIterableToArray(o, minLen) {
|
|
33
33
|
}
|
34
34
|
var _instance;
|
35
35
|
export var useListingBreadcrumbs = function() {
|
36
|
-
var
|
36
|
+
var ref3 = usePredicate(), data = ref3.data, isLoading = ref3.isLoading;
|
37
37
|
var config = useListingConfig();
|
38
38
|
var router = useRouter();
|
39
39
|
var slug = useListingAlias(config.meta).slug;
|
40
|
+
var ref1 = useListingCategories(), categoriesData = ref1.data;
|
41
|
+
var categoryName = getCategoryName(router, categoriesData);
|
42
|
+
var categoryId = getFilterByType('category', router);
|
40
43
|
var result = React.useMemo(function() {
|
41
44
|
if (config.type === ListingTypesEnum.AttrPage) {
|
42
45
|
var ref;
|
@@ -57,7 +60,16 @@ export var useListingBreadcrumbs = function() {
|
|
57
60
|
},
|
58
61
|
];
|
59
62
|
}
|
60
|
-
|
63
|
+
var breadcrumbData = createCatalogBreadcrumb(data, config.type, router);
|
64
|
+
if (config.type === ListingTypesEnum.View || config.type === ListingTypesEnum.Brand) {
|
65
|
+
var ref2;
|
66
|
+
breadcrumbData.push({
|
67
|
+
name: categoryName || '',
|
68
|
+
id: categoryId,
|
69
|
+
link: processLink((ref2 = data) === null || ref2 === void 0 ? void 0 : ref2.slug, config.type, router.query.slug) + applyFilters(router)
|
70
|
+
});
|
71
|
+
}
|
72
|
+
return breadcrumbData;
|
61
73
|
}, [
|
62
74
|
data,
|
63
75
|
config.type,
|
@@ -92,14 +92,14 @@ function generateUrl(current, router, slug, config) {
|
|
92
92
|
res = "/".concat(router.query.slug, "/").concat(getTranslatableField(current.meta.slug), "/").concat(suffix);
|
93
93
|
}
|
94
94
|
if (pageType === ListingTypesEnum.View) {
|
95
|
-
res = "/".concat(router.query.slug, "/").concat(
|
95
|
+
res = "/".concat(router.query.slug, "/").concat(suffix);
|
96
96
|
}
|
97
97
|
if (pageType === ListingTypesEnum.Search) {
|
98
98
|
var _q;
|
99
99
|
res = "/".concat(getTranslatableField(current.meta.slug), "/c?search=").concat((_q = router.query.q) !== null && _q !== void 0 ? _q : router.query.search);
|
100
100
|
}
|
101
101
|
var filter = router.query.filter;
|
102
|
-
if (suffix === 'b') {
|
102
|
+
if (suffix === 'b' || suffix === 'v') {
|
103
103
|
if (filter) {
|
104
104
|
if (Array.isArray(filter)) {
|
105
105
|
filter = _toConsumableArray(filter);
|
@@ -125,6 +125,8 @@ export function ListingFiltersProvider(param) {
|
|
125
125
|
query: _objectSpread({}, router.query, {
|
126
126
|
filter: filterByType(router.query.filter, filter)
|
127
127
|
})
|
128
|
+
}, undefined, {
|
129
|
+
shallow: true
|
128
130
|
});
|
129
131
|
},
|
130
132
|
type: type
|
@@ -144,6 +146,8 @@ export function ListingFiltersProvider(param) {
|
|
144
146
|
router.push({
|
145
147
|
pathname: router.pathname,
|
146
148
|
query: query
|
149
|
+
}, undefined, {
|
150
|
+
shallow: true
|
147
151
|
});
|
148
152
|
};
|
149
153
|
var selectedFilters = React.useMemo(function() {
|
@@ -186,7 +190,9 @@ function generateFilters(param) {
|
|
186
190
|
aggType: filter,
|
187
191
|
aggKey: filterKey,
|
188
192
|
aggOperator: filtersOperatorsMap[type]
|
189
|
-
}, Boolean(selected), router)
|
193
|
+
}, Boolean(selected), router), undefined, {
|
194
|
+
shallow: true
|
195
|
+
});
|
190
196
|
}
|
191
197
|
};
|
192
198
|
});
|
@@ -106,7 +106,7 @@ export var useListingMeta = function() {
|
|
106
106
|
return result;
|
107
107
|
};
|
108
108
|
function processDisplayName(slug, config, name, breadcrumb, router, aggData, categoriesData) {
|
109
|
-
var ref, ref5;
|
109
|
+
var ref, ref5, ref6;
|
110
110
|
var listingName = getTranslatableField(name);
|
111
111
|
var brandName = getBrandName(router, aggData);
|
112
112
|
var categoryName = getCategoryName(router, categoriesData);
|
@@ -120,45 +120,45 @@ function processDisplayName(slug, config, name, breadcrumb, router, aggData, cat
|
|
120
120
|
defaultName: listingName,
|
121
121
|
attribute: (ref = config.titleAliases) === null || ref === void 0 ? void 0 : ref[slug],
|
122
122
|
childAttribute: getTranslatableField(breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.label),
|
123
|
-
search: router === null || router === void 0 ? void 0 : (ref5 = router.query) === null || ref5 === void 0 ? void 0 : ref5.search,
|
123
|
+
search: (router === null || router === void 0 ? void 0 : (ref5 = router.query) === null || ref5 === void 0 ? void 0 : ref5.q) || (router === null || router === void 0 ? void 0 : (ref6 = router.query) === null || ref6 === void 0 ? void 0 : ref6.search),
|
124
124
|
isWithAttribute: Boolean(router === null || router === void 0 ? void 0 : router.query.cat)
|
125
125
|
});
|
126
126
|
return title || listingName;
|
127
127
|
}
|
128
|
-
function getFilterByType(filterType, router) {
|
128
|
+
export function getFilterByType(filterType, router) {
|
129
129
|
var filterId = '';
|
130
130
|
if (Array.isArray(router === null || router === void 0 ? void 0 : router.query.filter)) {
|
131
|
-
var ref,
|
131
|
+
var ref, ref7;
|
132
132
|
var filters = (ref = router === null || router === void 0 ? void 0 : router.query.filter) === null || ref === void 0 ? void 0 : ref.filter(function(x) {
|
133
133
|
return x === null || x === void 0 ? void 0 : x.includes(filterType);
|
134
134
|
});
|
135
135
|
if ((filters === null || filters === void 0 ? void 0 : filters.length) && filters.length > 1) {
|
136
136
|
return '';
|
137
137
|
}
|
138
|
-
var filterTerm = (
|
138
|
+
var filterTerm = (ref7 = /\d+/.exec((filters === null || filters === void 0 ? void 0 : filters[0]) || '')) === null || ref7 === void 0 ? void 0 : ref7[0];
|
139
139
|
if (!filterTerm) return '';
|
140
140
|
filterId = filterTerm;
|
141
141
|
} else {
|
142
|
-
var
|
143
|
-
var isFiltered = router === null || router === void 0 ? void 0 : (
|
142
|
+
var ref8, ref9, ref10;
|
143
|
+
var isFiltered = router === null || router === void 0 ? void 0 : (ref8 = router.query) === null || ref8 === void 0 ? void 0 : (ref9 = ref8.filter) === null || ref9 === void 0 ? void 0 : ref9.includes(filterType);
|
144
144
|
if (!isFiltered) {
|
145
145
|
return '';
|
146
146
|
}
|
147
|
-
filterId = (
|
147
|
+
filterId = (ref10 = /(\w+)-(\d+)/.exec(router === null || router === void 0 ? void 0 : router.query.filter)) === null || ref10 === void 0 ? void 0 : ref10[0];
|
148
148
|
}
|
149
149
|
return filterId;
|
150
150
|
}
|
151
151
|
function getBrandName(router, filtersData) {
|
152
|
-
var ref,
|
152
|
+
var ref, ref11, ref12;
|
153
153
|
var brandId = getFilterByType('brand', router);
|
154
154
|
var brand = (ref = filtersData === null || filtersData === void 0 ? void 0 : filtersData.find(function(x) {
|
155
155
|
return x.name === 'Brands';
|
156
|
-
})) === null || ref === void 0 ? void 0 : (
|
156
|
+
})) === null || ref === void 0 ? void 0 : (ref11 = ref.items) === null || ref11 === void 0 ? void 0 : ref11.find(function(x) {
|
157
157
|
return x.data.key === brandId;
|
158
158
|
});
|
159
|
-
return getTranslatableField(brand === null || brand === void 0 ? void 0 : (
|
159
|
+
return getTranslatableField(brand === null || brand === void 0 ? void 0 : (ref12 = brand.meta) === null || ref12 === void 0 ? void 0 : ref12.name);
|
160
160
|
}
|
161
|
-
function getCategoryName(router, categories) {
|
161
|
+
export function getCategoryName(router, categories) {
|
162
162
|
var categoryId = getFilterByType('category', router);
|
163
163
|
if (!categoryId || !categories) return;
|
164
164
|
var stack = _toConsumableArray(categories);
|
@@ -106,7 +106,9 @@ export var useSlideFilter = function(filterName, min, max) {
|
|
106
106
|
aggType: filterName,
|
107
107
|
aggKey: "".concat(formattedFrom, ",").concat(formattedTo),
|
108
108
|
aggOperator: filtersOperatorsMap.stats
|
109
|
-
}, false, router, true)
|
109
|
+
}, false, router, true), undefined, {
|
110
|
+
shallow: true
|
111
|
+
});
|
110
112
|
}, 500);
|
111
113
|
setState({
|
112
114
|
from: formattedFrom,
|
@@ -60,7 +60,7 @@ export var buildCategoryQuery = function(param) {
|
|
60
60
|
filter += (ref = config === null || config === void 0 ? void 0 : config.filterExtension) !== null && ref !== void 0 ? ref : '';
|
61
61
|
}
|
62
62
|
if (postFilter) {
|
63
|
-
if (
|
63
|
+
if (filter) filter += '&';
|
64
64
|
filter += postFilter;
|
65
65
|
}
|
66
66
|
break;
|
@@ -77,6 +77,14 @@ export var buildCategoryQuery = function(param) {
|
|
77
77
|
filter += "text;eq;\"".concat(searchQuery, "\"");
|
78
78
|
if (postFilter) filter += "&".concat(postFilter);
|
79
79
|
break;
|
80
|
+
case ListingTypesEnum.View:
|
81
|
+
filter += applyViewsPostFilter({
|
82
|
+
postFilter: postFilter
|
83
|
+
});
|
84
|
+
if (config === null || config === void 0 ? void 0 : config.filterExtension) {
|
85
|
+
filter += filter ? "&".concat(config === null || config === void 0 ? void 0 : config.filterExtension) : config === null || config === void 0 ? void 0 : config.filterExtension;
|
86
|
+
}
|
87
|
+
break;
|
80
88
|
default:
|
81
89
|
return "".concat((config === null || config === void 0 ? void 0 : config.filterExtension) + "".concat(postFilter !== null && postFilter !== void 0 ? postFilter : ''));
|
82
90
|
}
|
@@ -108,3 +116,16 @@ var applyBrandsPostFilter = function(param) {
|
|
108
116
|
}
|
109
117
|
return '';
|
110
118
|
};
|
119
|
+
var applyViewsPostFilter = function(param) {
|
120
|
+
var postFilter = param.postFilter;
|
121
|
+
if (postFilter) {
|
122
|
+
var filtersArr = postFilter.split('&');
|
123
|
+
var filters = filtersArr.reduce(function(res, val, i) {
|
124
|
+
if (val.includes('category')) return res;
|
125
|
+
if (!res) return res + "".concat(val);
|
126
|
+
return res += "&".concat(val);
|
127
|
+
}, '');
|
128
|
+
return "".concat(filters);
|
129
|
+
}
|
130
|
+
return '';
|
131
|
+
};
|
@@ -1,9 +1,50 @@
|
|
1
|
+
import regeneratorRuntime from "regenerator-runtime";
|
1
2
|
import { MyWalletGetByType } from '@sentecacommerce/sdk';
|
2
3
|
import { useQuery } from 'react-query';
|
4
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
5
|
+
try {
|
6
|
+
var info = gen[key](arg);
|
7
|
+
var value = info.value;
|
8
|
+
} catch (error) {
|
9
|
+
reject(error);
|
10
|
+
return;
|
11
|
+
}
|
12
|
+
if (info.done) {
|
13
|
+
resolve(value);
|
14
|
+
} else {
|
15
|
+
Promise.resolve(value).then(_next, _throw);
|
16
|
+
}
|
17
|
+
}
|
18
|
+
function _asyncToGenerator(fn) {
|
19
|
+
return function() {
|
20
|
+
var self = this, args = arguments;
|
21
|
+
return new Promise(function(resolve, reject) {
|
22
|
+
var gen = fn.apply(self, args);
|
23
|
+
function _next(value) {
|
24
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
25
|
+
}
|
26
|
+
function _throw(err) {
|
27
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
28
|
+
}
|
29
|
+
_next(undefined);
|
30
|
+
});
|
31
|
+
};
|
32
|
+
}
|
3
33
|
export var useGetMyLoyaltyCardQuery = function(callback) {
|
4
|
-
return useQuery('get-loyalty-card-key', function() {
|
5
|
-
return
|
6
|
-
|
34
|
+
return useQuery('get-loyalty-card-key', _asyncToGenerator(regeneratorRuntime.mark(function _callee() {
|
35
|
+
return regeneratorRuntime.wrap(function _callee$(_ctx) {
|
36
|
+
while(1)switch(_ctx.prev = _ctx.next){
|
37
|
+
case 0:
|
38
|
+
return _ctx.abrupt("return", MyWalletGetByType('loyalty-program'));
|
39
|
+
case 1:
|
40
|
+
case "end":
|
41
|
+
return _ctx.stop();
|
42
|
+
}
|
43
|
+
}, _callee);
|
44
|
+
})), {
|
45
|
+
refetchOnMount: false,
|
46
|
+
refetchOnWindowFocus: false,
|
47
|
+
retry: false,
|
7
48
|
onSuccess: function() {
|
8
49
|
var ref;
|
9
50
|
return callback === null || callback === void 0 ? void 0 : (ref = callback.onSuccess) === null || ref === void 0 ? void 0 : ref.call(callback);
|
@@ -95,7 +95,9 @@ export var getSelectedFilters = function(router, slug, data, config) {
|
|
95
95
|
aggType: key,
|
96
96
|
aggKey: "".concat(valueFrom, ",").concat(valueTo),
|
97
97
|
aggOperator: filtersOperatorsMap.stats
|
98
|
-
}, true, router)
|
98
|
+
}, true, router), undefined, {
|
99
|
+
shallow: true
|
100
|
+
});
|
99
101
|
},
|
100
102
|
selected: true,
|
101
103
|
data: _objectSpread({}, data.raw, {
|
@@ -1,10 +1,15 @@
|
|
1
1
|
export var readFromLocalStorage = function(key) {
|
2
2
|
if (typeof window !== 'undefined') {
|
3
|
-
|
3
|
+
try {
|
4
|
+
return JSON.parse(localStorage.getItem(key));
|
5
|
+
} catch (e) {
|
6
|
+
console.log(e);
|
7
|
+
return null;
|
8
|
+
}
|
4
9
|
}
|
5
10
|
};
|
6
11
|
export var writeToLocalStorage = function(key, data) {
|
7
|
-
if (typeof window !== 'undefined') {
|
12
|
+
if (typeof window !== 'undefined' && data !== undefined) {
|
8
13
|
localStorage.setItem(key, JSON.stringify(data));
|
9
14
|
}
|
10
15
|
};
|
@@ -2,7 +2,7 @@ import { LineItemDTO, LineItemDTOLineItemModeEnum, LineItemDTOStatusEnum, MoneyD
|
|
2
2
|
import { BaseProductType } from '../../useLineItem';
|
3
3
|
import { SelectedOptionType } from '../../useProduct/utils';
|
4
4
|
import { AssetsMap } from '../../../utils/assetsToMap';
|
5
|
-
interface BasketLineItemProps extends BaseProductType {
|
5
|
+
export interface BasketLineItemProps extends BaseProductType {
|
6
6
|
productId: string;
|
7
7
|
lineItemId: string;
|
8
8
|
quantityInBasket: number;
|
@@ -36,4 +36,3 @@ export declare const useBasketLineItem: (props: {
|
|
36
36
|
item: LineItemDTO;
|
37
37
|
expiry?: number;
|
38
38
|
}) => BasketLineItemProps;
|
39
|
-
export {};
|
@@ -1,4 +1,6 @@
|
|
1
1
|
import { AssetType } from '../../utils/assetsToMap';
|
2
|
+
import { NextRouter } from 'next/router';
|
3
|
+
import { Node } from './useListingCategories';
|
2
4
|
export declare type UseListingMetaResult = {
|
3
5
|
displayName: string;
|
4
6
|
description: string;
|
@@ -10,3 +12,5 @@ export declare type UseListingMetaResult = {
|
|
10
12
|
getCustomFieldByKey: (key: string) => any | undefined;
|
11
13
|
};
|
12
14
|
export declare const useListingMeta: () => UseListingMetaResult;
|
15
|
+
export declare function getFilterByType(filterType: string, router?: NextRouter): string;
|
16
|
+
export declare function getCategoryName(router?: NextRouter, categories?: Node[] | null): string | undefined;
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentecacommerce-theme/lib",
|
3
3
|
"sideEffects": false,
|
4
|
-
"version": "0.
|
4
|
+
"version": "0.13.2",
|
5
5
|
"main": "dist/cjs/index.js",
|
6
6
|
"module": "dist/esm/index.js",
|
7
7
|
"types": "dist/types/index.d.ts",
|
@@ -31,13 +31,13 @@
|
|
31
31
|
"watch:cjs": "swc src --out-dir dist/cjs -w",
|
32
32
|
"watch:esm": "swc src --out-dir dist/esm --no-swcrc -w"
|
33
33
|
},
|
34
|
-
"gitHead": "
|
34
|
+
"gitHead": "a02a163a7ab04039fc81e5e8ce3c38e93131968c",
|
35
35
|
"peerDependencies": {
|
36
36
|
"react-query": "^2.26.2"
|
37
37
|
},
|
38
38
|
"dependencies": {
|
39
|
-
"@sentecacommerce-theme/base": "^0.
|
40
|
-
"@sentecacommerce-theme/cms": "^0.
|
39
|
+
"@sentecacommerce-theme/base": "^0.13.1",
|
40
|
+
"@sentecacommerce-theme/cms": "^0.13.1",
|
41
41
|
"@sentecacommerce/sdk": "2.0.161",
|
42
42
|
"body-scroll-lock": "^3.1.5",
|
43
43
|
"copy-to-clipboard": "^3.3.1",
|