@ikas/storefront 0.0.165-alpha.6 → 0.0.165-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.es.js CHANGED
@@ -24958,11 +24958,15 @@ var IkasCustomerStore = /** @class */ (function () {
24958
24958
  };
24959
24959
  IkasCustomerStore.prototype.onProductView = function (productId, variantId) {
24960
24960
  return __awaiter(this, void 0, void 0, function () {
24961
- var isSuccess;
24961
+ var existingItem, isSuccess;
24962
24962
  return __generator(this, function (_a) {
24963
24963
  switch (_a.label) {
24964
24964
  case 0:
24965
24965
  if (!this.customer) return [3 /*break*/, 2];
24966
+ existingItem = this._lastViewedProducts.find(function (lvp) { return lvp.productId === productId; });
24967
+ if (existingItem) {
24968
+ return [2 /*return*/];
24969
+ }
24966
24970
  return [4 /*yield*/, IkasCustomerAPI.saveLastViewedProducts({
24967
24971
  customerId: this.customer.id,
24968
24972
  products: [
@@ -27643,10 +27647,25 @@ var IkasProductDetail = /** @class */ (function () {
27643
27647
  });
27644
27648
  Object.defineProperty(IkasProductDetail.prototype, "href", {
27645
27649
  get: function () {
27650
+ var _this = this;
27646
27651
  var metaData = this.product.metaData;
27647
27652
  if (!(metaData === null || metaData === void 0 ? void 0 : metaData.slug))
27648
27653
  return "";
27649
- return "/" + metaData.slug;
27654
+ var variantParams = this.product.variantTypes
27655
+ .map(function (pvt) {
27656
+ var vt = pvt.variantType;
27657
+ var selectedVariant = vt.values.find(function (vv) {
27658
+ return _this.selectedVariantValues.some(function (svv) { return svv.id === vv.id; });
27659
+ });
27660
+ if (selectedVariant)
27661
+ return vt.slug + "=" + selectedVariant.slug;
27662
+ })
27663
+ .filter(function (param) { return !!param; })
27664
+ .join("&");
27665
+ if (variantParams)
27666
+ return "/" + metaData.slug + "?" + variantParams;
27667
+ else
27668
+ return "/" + metaData.slug;
27650
27669
  },
27651
27670
  enumerable: false,
27652
27671
  configurable: true
@@ -27713,7 +27732,9 @@ var IkasProductDetail = /** @class */ (function () {
27713
27732
  })
27714
27733
  .filter(function (param) { return !!param; })
27715
27734
  .join("&");
27716
- var newUrl = "/" + metaData.slug + "?" + variantParams;
27735
+ var newUrl = "/" + metaData.slug;
27736
+ if (variantParams)
27737
+ newUrl = "/" + metaData.slug + "?" + variantParams;
27717
27738
  if (newUrl === window.location.pathname)
27718
27739
  return;
27719
27740
  var isShallow = process.env.NODE_ENV !== "production";
package/build/index.js CHANGED
@@ -24967,11 +24967,15 @@ var IkasCustomerStore = /** @class */ (function () {
24967
24967
  };
24968
24968
  IkasCustomerStore.prototype.onProductView = function (productId, variantId) {
24969
24969
  return __awaiter(this, void 0, void 0, function () {
24970
- var isSuccess;
24970
+ var existingItem, isSuccess;
24971
24971
  return __generator(this, function (_a) {
24972
24972
  switch (_a.label) {
24973
24973
  case 0:
24974
24974
  if (!this.customer) return [3 /*break*/, 2];
24975
+ existingItem = this._lastViewedProducts.find(function (lvp) { return lvp.productId === productId; });
24976
+ if (existingItem) {
24977
+ return [2 /*return*/];
24978
+ }
24975
24979
  return [4 /*yield*/, IkasCustomerAPI.saveLastViewedProducts({
24976
24980
  customerId: this.customer.id,
24977
24981
  products: [
@@ -27627,10 +27631,25 @@ var IkasProductDetail = /** @class */ (function () {
27627
27631
  });
27628
27632
  Object.defineProperty(IkasProductDetail.prototype, "href", {
27629
27633
  get: function () {
27634
+ var _this = this;
27630
27635
  var metaData = this.product.metaData;
27631
27636
  if (!(metaData === null || metaData === void 0 ? void 0 : metaData.slug))
27632
27637
  return "";
27633
- return "/" + metaData.slug;
27638
+ var variantParams = this.product.variantTypes
27639
+ .map(function (pvt) {
27640
+ var vt = pvt.variantType;
27641
+ var selectedVariant = vt.values.find(function (vv) {
27642
+ return _this.selectedVariantValues.some(function (svv) { return svv.id === vv.id; });
27643
+ });
27644
+ if (selectedVariant)
27645
+ return vt.slug + "=" + selectedVariant.slug;
27646
+ })
27647
+ .filter(function (param) { return !!param; })
27648
+ .join("&");
27649
+ if (variantParams)
27650
+ return "/" + metaData.slug + "?" + variantParams;
27651
+ else
27652
+ return "/" + metaData.slug;
27634
27653
  },
27635
27654
  enumerable: false,
27636
27655
  configurable: true
@@ -27697,7 +27716,9 @@ var IkasProductDetail = /** @class */ (function () {
27697
27716
  })
27698
27717
  .filter(function (param) { return !!param; })
27699
27718
  .join("&");
27700
- var newUrl = "/" + metaData.slug + "?" + variantParams;
27719
+ var newUrl = "/" + metaData.slug;
27720
+ if (variantParams)
27721
+ newUrl = "/" + metaData.slug + "?" + variantParams;
27701
27722
  if (newUrl === window.location.pathname)
27702
27723
  return;
27703
27724
  var isShallow = process.env.NODE_ENV !== "production";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikas/storefront",
3
- "version": "0.0.165-alpha.6",
3
+ "version": "0.0.165-alpha.7",
4
4
  "main": "./build/index.js",
5
5
  "module": "./build/index.es.js",
6
6
  "author": "Umut Ozan Yıldırım",