@ikas/storefront 0.0.26 → 0.0.27

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
  } }))));
@@ -22911,7 +22910,7 @@ var IkasPage = observer(function (_a) {
22911
22910
  if (!page)
22912
22911
  return null;
22913
22912
  return (createElement(Fragment, null,
22914
- createElement(IkasPageHead, { page: page, pageSpecificDataStr: pageSpecificDataStr }),
22913
+ createElement(IkasPageHead, { page: page, pageTitle: page.pageTitle, description: page.description, pageSpecificDataStr: pageSpecificDataStr }),
22915
22914
  createElement("div", { style: pageStyle },
22916
22915
  createElement("div", null,
22917
22916
  headerComponent && renderComponent(headerComponent, -1),
@@ -23405,11 +23404,16 @@ var home = /*#__PURE__*/Object.freeze({
23405
23404
  var Page$1 = function (_a) {
23406
23405
  var page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr, propValuesStr = _a.propValuesStr;
23407
23406
  var router = useRouter();
23408
- var propValues = computed(function () {
23409
- return IkasPageDataProvider.initPropValues(propValuesStr, router);
23410
- });
23407
+ var _b = useState(false), isBrowser = _b[0], setIsBrowser = _b[1];
23408
+ var _c = useState(IkasPageDataProvider.initPropValues(propValuesStr, router)), propValues = _c[0], setPropValues = _c[1];
23409
+ useEffect(function () {
23410
+ setIsBrowser(typeof window !== "undefined");
23411
+ }, []);
23412
+ useEffect(function () {
23413
+ setPropValues(IkasPageDataProvider.initPropValues(propValuesStr, router, isBrowser));
23414
+ }, [isBrowser]);
23411
23415
  handleGTM(page, pageSpecificDataStr);
23412
- return (createElement(IkasPage, { page: page, propValues: propValues.get(), pageSpecificDataStr: pageSpecificDataStr }));
23416
+ return (createElement(IkasPage, { page: page, propValues: propValues, pageSpecificDataStr: pageSpecificDataStr }));
23413
23417
  };
23414
23418
  var index$1 = observer(Page$1);
23415
23419
  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
  } }))));
@@ -22895,7 +22894,7 @@ var IkasPage = mobxReactLite.observer(function (_a) {
22895
22894
  if (!page)
22896
22895
  return null;
22897
22896
  return (React.createElement(React.Fragment, null,
22898
- React.createElement(IkasPageHead, { page: page, pageSpecificDataStr: pageSpecificDataStr }),
22897
+ React.createElement(IkasPageHead, { page: page, pageTitle: page.pageTitle, description: page.description, pageSpecificDataStr: pageSpecificDataStr }),
22899
22898
  React.createElement("div", { style: pageStyle },
22900
22899
  React.createElement("div", null,
22901
22900
  headerComponent && renderComponent(headerComponent, -1),
@@ -23389,11 +23388,16 @@ var home = /*#__PURE__*/Object.freeze({
23389
23388
  var Page$1 = function (_a) {
23390
23389
  var page = _a.page, pageSpecificDataStr = _a.pageSpecificDataStr, propValuesStr = _a.propValuesStr;
23391
23390
  var router$1 = router.useRouter();
23392
- var propValues = mobx.computed(function () {
23393
- return IkasPageDataProvider.initPropValues(propValuesStr, router$1);
23394
- });
23391
+ var _b = React.useState(false), isBrowser = _b[0], setIsBrowser = _b[1];
23392
+ var _c = React.useState(IkasPageDataProvider.initPropValues(propValuesStr, router$1)), propValues = _c[0], setPropValues = _c[1];
23393
+ React.useEffect(function () {
23394
+ setIsBrowser(typeof window !== "undefined");
23395
+ }, []);
23396
+ React.useEffect(function () {
23397
+ setPropValues(IkasPageDataProvider.initPropValues(propValuesStr, router$1, isBrowser));
23398
+ }, [isBrowser]);
23395
23399
  handleGTM(page, pageSpecificDataStr);
23396
- return (React.createElement(IkasPage, { page: page, propValues: propValues.get(), pageSpecificDataStr: pageSpecificDataStr }));
23400
+ return (React.createElement(IkasPage, { page: page, propValues: propValues, pageSpecificDataStr: pageSpecificDataStr }));
23397
23401
  };
23398
23402
  var index$1 = mobxReactLite.observer(Page$1);
23399
23403
  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.27",
4
4
  "main": "./build/index.js",
5
5
  "module": "./build/index.es.js",
6
6
  "author": "Umut Ozan Yıldırım",