@ikas/storefront 0.0.26 → 0.0.28

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.
@@ -2,6 +2,8 @@ import * as React from "react";
2
2
  import { IkasThemePage } from "../../models/index";
3
3
  declare type Props = {
4
4
  page?: IkasThemePage;
5
+ pageTitle?: string | null;
6
+ description?: string | null;
5
7
  pageSpecificDataStr?: string;
6
8
  };
7
9
  export declare const IkasPageHead: React.FC<Props>;
package/build/index.es.js CHANGED
@@ -11634,7 +11634,7 @@ var IkasPageDataProvider = /** @class */ (function () {
11634
11634
  IkasPageDataProvider.isServer = function () {
11635
11635
  return typeof window === "undefined";
11636
11636
  };
11637
- IkasPageDataProvider.initPropValues = function (propValuesStr, router) {
11637
+ IkasPageDataProvider.initPropValues = function (propValuesStr, router, isBrowser) {
11638
11638
  var pageComponentPropValues = JSON.parse(propValuesStr).map(function (v) { return ({
11639
11639
  pageComponent: new IkasThemePageComponent(v.pageComponent),
11640
11640
  component: new IkasThemeComponent(v.component),
@@ -11669,7 +11669,7 @@ var IkasPageDataProvider = /** @class */ (function () {
11669
11669
  IkasPageDataProvider.initProductListPropValue(prop, propValue, pageComponentPropValue);
11670
11670
  break;
11671
11671
  case IkasThemeComponentPropType.PRODUCT_DETAIL:
11672
- IkasPageDataProvider.initProductDetailPropValue(prop, propValue, pageComponentPropValue, router);
11672
+ IkasPageDataProvider.initProductDetailPropValue(prop, propValue, pageComponentPropValue, router, isBrowser);
11673
11673
  break;
11674
11674
  case IkasThemeComponentPropType.LINK:
11675
11675
  case IkasThemeComponentPropType.LIST_OF_LINK:
@@ -11700,11 +11700,10 @@ var IkasPageDataProvider = /** @class */ (function () {
11700
11700
  var productList = new IkasProductList(propValue);
11701
11701
  pageComponentPropValue.propValues[prop.name] = productList;
11702
11702
  };
11703
- IkasPageDataProvider.initProductDetailPropValue = function (prop, propValue, pageComponentPropValue, router) {
11703
+ IkasPageDataProvider.initProductDetailPropValue = function (prop, propValue, pageComponentPropValue, router, isBrowser) {
11704
11704
  var usePageData = propValue.usePageData;
11705
11705
  var _propValue = propValue;
11706
11706
  var productDetail = new IkasProductDetail(_propValue.product, _propValue.selectedVariantValues);
11707
- var isBrowser = typeof window !== "undefined";
11708
11707
  if (isBrowser) {
11709
11708
  var urlParams = new URLSearchParams(window.location.search);
11710
11709
  var vid_1 = urlParams.get("vid");
@@ -13661,7 +13660,7 @@ var IkasProductDetail = /** @class */ (function () {
13661
13660
  var newUrl = "/" + metaData.slug + "-" + this.selectedVariantValues
13662
13661
  .map(function (vv) { return vv.slug; })
13663
13662
  .join("-");
13664
- (_a = this.router) === null || _a === void 0 ? void 0 : _a.replace(newUrl);
13663
+ (_a = this.router) === null || _a === void 0 ? void 0 : _a.replace(newUrl, undefined, { shallow: true });
13665
13664
  };
13666
13665
  return IkasProductDetail;
13667
13666
  }());
@@ -22683,14 +22682,14 @@ var PolicyModal = observer(function (_a) {
22683
22682
  });
22684
22683
 
22685
22684
  var IkasPageHead = observer(function (_a) {
22686
- var page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr;
22685
+ var page = _a.page, pageTitle = _a.pageTitle, description = _a.description, pageSpecificDataStr = _a.pageSpecificDataStr;
22687
22686
  var schema;
22688
22687
  if (pageSpecificDataStr && (page === null || page === void 0 ? void 0 : page.type) === IkasThemePageType.PRODUCT) {
22689
22688
  schema = createProductSchema(pageSpecificDataStr);
22690
22689
  }
22691
22690
  return (createElement(Head, null,
22692
- createElement("title", null, (page === null || page === void 0 ? void 0 : page.pageTitle) || ""),
22693
- createElement("meta", { name: "description", content: (page === null || page === void 0 ? void 0 : page.description) || "" }),
22691
+ createElement("title", null, pageTitle || ""),
22692
+ createElement("meta", { name: "description", content: description || "" }),
22694
22693
  !!schema && (createElement("script", { type: "application/ld+json", dangerouslySetInnerHTML: {
22695
22694
  __html: JSON.stringify(schema),
22696
22695
  } }))));
@@ -22699,6 +22698,17 @@ function createProductSchema(pageSpecificDataStr) {
22699
22698
  var _a;
22700
22699
  var productDetailParsed = JSON.parse(pageSpecificDataStr);
22701
22700
  var productDetail = new IkasProductDetail(productDetailParsed.product, productDetailParsed.selectedVariantValues);
22701
+ var isBrowser = typeof window !== undefined;
22702
+ if (isBrowser) {
22703
+ var urlParams = new URLSearchParams(window.location.search);
22704
+ var vid_1 = urlParams.get("vid");
22705
+ if (vid_1) {
22706
+ var variant = productDetail.product.variants.find(function (v) { return v.id === vid_1; });
22707
+ if (variant) {
22708
+ productDetail.selectedVariantValues = variant.variantValues;
22709
+ }
22710
+ }
22711
+ }
22702
22712
  return {
22703
22713
  "@context": "https://schema.org/",
22704
22714
  "@type": "Product",
@@ -22911,7 +22921,7 @@ var IkasPage = observer(function (_a) {
22911
22921
  if (!page)
22912
22922
  return null;
22913
22923
  return (createElement(Fragment, null,
22914
- createElement(IkasPageHead, { page: page, pageSpecificDataStr: pageSpecificDataStr }),
22924
+ createElement(IkasPageHead, { page: page, pageTitle: page.pageTitle, description: page.description, pageSpecificDataStr: pageSpecificDataStr }),
22915
22925
  createElement("div", { style: pageStyle },
22916
22926
  createElement("div", null,
22917
22927
  headerComponent && renderComponent(headerComponent, -1),
@@ -23405,11 +23415,16 @@ var home = /*#__PURE__*/Object.freeze({
23405
23415
  var Page$1 = function (_a) {
23406
23416
  var page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr, propValuesStr = _a.propValuesStr;
23407
23417
  var router = useRouter();
23408
- var propValues = computed(function () {
23409
- return IkasPageDataProvider.initPropValues(propValuesStr, router);
23410
- });
23418
+ var _b = useState(false), isBrowser = _b[0], setIsBrowser = _b[1];
23419
+ var _c = useState(IkasPageDataProvider.initPropValues(propValuesStr, router)), propValues = _c[0], setPropValues = _c[1];
23420
+ useEffect(function () {
23421
+ setIsBrowser(typeof window !== "undefined");
23422
+ }, []);
23423
+ useEffect(function () {
23424
+ setPropValues(IkasPageDataProvider.initPropValues(propValuesStr, router, isBrowser));
23425
+ }, [isBrowser]);
23411
23426
  handleGTM(page, pageSpecificDataStr);
23412
- return (createElement(IkasPage, { page: page, propValues: propValues.get(), pageSpecificDataStr: pageSpecificDataStr }));
23427
+ return (createElement(IkasPage, { page: page, propValues: propValues, pageSpecificDataStr: pageSpecificDataStr }));
23413
23428
  };
23414
23429
  var index$1 = observer(Page$1);
23415
23430
  var getStaticPaths = function (context) { return __awaiter(void 0, void 0, void 0, function () {
package/build/index.js CHANGED
@@ -11647,7 +11647,7 @@ var IkasPageDataProvider = /** @class */ (function () {
11647
11647
  IkasPageDataProvider.isServer = function () {
11648
11648
  return typeof window === "undefined";
11649
11649
  };
11650
- IkasPageDataProvider.initPropValues = function (propValuesStr, router) {
11650
+ IkasPageDataProvider.initPropValues = function (propValuesStr, router, isBrowser) {
11651
11651
  var pageComponentPropValues = JSON.parse(propValuesStr).map(function (v) { return ({
11652
11652
  pageComponent: new IkasThemePageComponent(v.pageComponent),
11653
11653
  component: new IkasThemeComponent(v.component),
@@ -11682,7 +11682,7 @@ var IkasPageDataProvider = /** @class */ (function () {
11682
11682
  IkasPageDataProvider.initProductListPropValue(prop, propValue, pageComponentPropValue);
11683
11683
  break;
11684
11684
  case exports.IkasThemeComponentPropType.PRODUCT_DETAIL:
11685
- IkasPageDataProvider.initProductDetailPropValue(prop, propValue, pageComponentPropValue, router);
11685
+ IkasPageDataProvider.initProductDetailPropValue(prop, propValue, pageComponentPropValue, router, isBrowser);
11686
11686
  break;
11687
11687
  case exports.IkasThemeComponentPropType.LINK:
11688
11688
  case exports.IkasThemeComponentPropType.LIST_OF_LINK:
@@ -11713,11 +11713,10 @@ var IkasPageDataProvider = /** @class */ (function () {
11713
11713
  var productList = new IkasProductList(propValue);
11714
11714
  pageComponentPropValue.propValues[prop.name] = productList;
11715
11715
  };
11716
- IkasPageDataProvider.initProductDetailPropValue = function (prop, propValue, pageComponentPropValue, router) {
11716
+ IkasPageDataProvider.initProductDetailPropValue = function (prop, propValue, pageComponentPropValue, router, isBrowser) {
11717
11717
  var usePageData = propValue.usePageData;
11718
11718
  var _propValue = propValue;
11719
11719
  var productDetail = new IkasProductDetail(_propValue.product, _propValue.selectedVariantValues);
11720
- var isBrowser = typeof window !== "undefined";
11721
11720
  if (isBrowser) {
11722
11721
  var urlParams = new URLSearchParams(window.location.search);
11723
11722
  var vid_1 = urlParams.get("vid");
@@ -13647,7 +13646,7 @@ var IkasProductDetail = /** @class */ (function () {
13647
13646
  var newUrl = "/" + metaData.slug + "-" + this.selectedVariantValues
13648
13647
  .map(function (vv) { return vv.slug; })
13649
13648
  .join("-");
13650
- (_a = this.router) === null || _a === void 0 ? void 0 : _a.replace(newUrl);
13649
+ (_a = this.router) === null || _a === void 0 ? void 0 : _a.replace(newUrl, undefined, { shallow: true });
13651
13650
  };
13652
13651
  return IkasProductDetail;
13653
13652
  }());
@@ -22667,14 +22666,14 @@ var PolicyModal = mobxReactLite.observer(function (_a) {
22667
22666
  });
22668
22667
 
22669
22668
  var IkasPageHead = mobxReactLite.observer(function (_a) {
22670
- var page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr;
22669
+ var page = _a.page, pageTitle = _a.pageTitle, description = _a.description, pageSpecificDataStr = _a.pageSpecificDataStr;
22671
22670
  var schema;
22672
22671
  if (pageSpecificDataStr && (page === null || page === void 0 ? void 0 : page.type) === exports.IkasThemePageType.PRODUCT) {
22673
22672
  schema = createProductSchema(pageSpecificDataStr);
22674
22673
  }
22675
22674
  return (React.createElement(Head__default['default'], null,
22676
- React.createElement("title", null, (page === null || page === void 0 ? void 0 : page.pageTitle) || ""),
22677
- React.createElement("meta", { name: "description", content: (page === null || page === void 0 ? void 0 : page.description) || "" }),
22675
+ React.createElement("title", null, pageTitle || ""),
22676
+ React.createElement("meta", { name: "description", content: description || "" }),
22678
22677
  !!schema && (React.createElement("script", { type: "application/ld+json", dangerouslySetInnerHTML: {
22679
22678
  __html: JSON.stringify(schema),
22680
22679
  } }))));
@@ -22683,6 +22682,17 @@ function createProductSchema(pageSpecificDataStr) {
22683
22682
  var _a;
22684
22683
  var productDetailParsed = JSON.parse(pageSpecificDataStr);
22685
22684
  var productDetail = new IkasProductDetail(productDetailParsed.product, productDetailParsed.selectedVariantValues);
22685
+ var isBrowser = typeof window !== undefined;
22686
+ if (isBrowser) {
22687
+ var urlParams = new URLSearchParams(window.location.search);
22688
+ var vid_1 = urlParams.get("vid");
22689
+ if (vid_1) {
22690
+ var variant = productDetail.product.variants.find(function (v) { return v.id === vid_1; });
22691
+ if (variant) {
22692
+ productDetail.selectedVariantValues = variant.variantValues;
22693
+ }
22694
+ }
22695
+ }
22686
22696
  return {
22687
22697
  "@context": "https://schema.org/",
22688
22698
  "@type": "Product",
@@ -22895,7 +22905,7 @@ var IkasPage = mobxReactLite.observer(function (_a) {
22895
22905
  if (!page)
22896
22906
  return null;
22897
22907
  return (React.createElement(React.Fragment, null,
22898
- React.createElement(IkasPageHead, { page: page, pageSpecificDataStr: pageSpecificDataStr }),
22908
+ React.createElement(IkasPageHead, { page: page, pageTitle: page.pageTitle, description: page.description, pageSpecificDataStr: pageSpecificDataStr }),
22899
22909
  React.createElement("div", { style: pageStyle },
22900
22910
  React.createElement("div", null,
22901
22911
  headerComponent && renderComponent(headerComponent, -1),
@@ -23389,11 +23399,16 @@ var home = /*#__PURE__*/Object.freeze({
23389
23399
  var Page$1 = function (_a) {
23390
23400
  var page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr, propValuesStr = _a.propValuesStr;
23391
23401
  var router$1 = router.useRouter();
23392
- var propValues = mobx.computed(function () {
23393
- return IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23394
- });
23402
+ var _b = React.useState(false), isBrowser = _b[0], setIsBrowser = _b[1];
23403
+ var _c = React.useState(IkasPageDataProvider.initPropValues(propValuesStr, router$1)), propValues = _c[0], setPropValues = _c[1];
23404
+ React.useEffect(function () {
23405
+ setIsBrowser(typeof window !== "undefined");
23406
+ }, []);
23407
+ React.useEffect(function () {
23408
+ setPropValues(IkasPageDataProvider.initPropValues(propValuesStr, router$1, isBrowser));
23409
+ }, [isBrowser]);
23395
23410
  handleGTM(page, pageSpecificDataStr);
23396
- return (React.createElement(IkasPage, { page: page, propValues: propValues.get(), pageSpecificDataStr: pageSpecificDataStr }));
23411
+ return (React.createElement(IkasPage, { page: page, propValues: propValues, pageSpecificDataStr: pageSpecificDataStr }));
23397
23412
  };
23398
23413
  var index$1 = mobxReactLite.observer(Page$1);
23399
23414
  var getStaticPaths = function (context) { return __awaiter(void 0, void 0, void 0, function () {
@@ -22,13 +22,13 @@ export declare class IkasPageDataProvider {
22
22
  getPageComponentPropValue(pageComponent: IkasThemePageComponent, prop: IkasThemeComponentProp): Promise<any>;
23
23
  private setPageMetaData;
24
24
  static isServer(): boolean;
25
- static initPropValues(propValuesStr: string, router: NextRouter): IkasPageComponentPropValue[];
25
+ static initPropValues(propValuesStr: string, router: NextRouter, isBrowser?: boolean): IkasPageComponentPropValue[];
26
26
  static initBrandPropValue(prop: IkasThemeComponentProp, propValue: any, pageComponentPropValue: IkasPageComponentPropValue): void;
27
27
  static initBrandListPropValue(prop: IkasThemeComponentProp, propValue: any, pageComponentPropValue: IkasPageComponentPropValue): void;
28
28
  static initCategoryPropValue(prop: IkasThemeComponentProp, propValue: any, pageComponentPropValue: IkasPageComponentPropValue): void;
29
29
  static initCategoryListPropValue(prop: IkasThemeComponentProp, propValue: any, pageComponentPropValue: IkasPageComponentPropValue): void;
30
30
  static initProductListPropValue(prop: IkasThemeComponentProp, propValue: any, pageComponentPropValue: IkasPageComponentPropValue): void;
31
- static initProductDetailPropValue(prop: IkasThemeComponentProp, propValue: any, pageComponentPropValue: IkasPageComponentPropValue, router: NextRouter): void;
31
+ static initProductDetailPropValue(prop: IkasThemeComponentProp, propValue: any, pageComponentPropValue: IkasPageComponentPropValue, router: NextRouter, isBrowser?: boolean): void;
32
32
  static initLinkPropValue(prop: IkasThemeComponentProp, propValue: any, pageComponentPropValue: IkasPageComponentPropValue): void;
33
33
  static initImagePropValue(prop: IkasThemeComponentProp, propValue: any, pageComponentPropValue: IkasPageComponentPropValue): void;
34
34
  static initImageListPropValue(prop: IkasThemeComponentProp, propValue: any, pageComponentPropValue: IkasPageComponentPropValue): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ikas/storefront",
3
- "version": "0.0.26",
3
+ "version": "0.0.28",
4
4
  "main": "./build/index.js",
5
5
  "module": "./build/index.es.js",
6
6
  "author": "Umut Ozan Yıldırım",