s-platform-landing-section 0.1.33 → 0.1.34

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/index.js CHANGED
@@ -428,18 +428,17 @@ var NavBar7 = function NavBar7(props) {
428
428
  position: "fixed",
429
429
  top: "-100px"
430
430
  }
431
- }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.defaultDomain, " | ", shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName), /*#__PURE__*/React__default.createElement("div", {
431
+ }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName), /*#__PURE__*/React__default.createElement("div", {
432
432
  className: "hidden lg:flex gap-6 justify-between items-center py-2 px-4 xl:px-20"
433
433
  }, /*#__PURE__*/React__default.createElement(LinkToPage, {
434
434
  Link: Link,
435
435
  href: "/",
436
436
  className: "flex items-center gap-2"
437
437
  }, /*#__PURE__*/React__default.createElement("img", {
438
- className: "object-cover w-12 h-12",
439
- src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
440
- alt: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName
438
+ className: "object-cover w-12 max-h-12",
439
+ src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl
441
440
  }), /*#__PURE__*/React__default.createElement("h3", {
442
- className: "text-xl md:text-2xl text-primary text-wrap line-clamp-2 leading-tight"
441
+ className: "text-xl md:text-2xl text-primary font-headingFont text-wrap line-clamp-2 leading-tight"
443
442
  }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName)), /*#__PURE__*/React__default.createElement("div", {
444
443
  className: "hidden lg:flex flex-1 items-center gap-4"
445
444
  }, shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : (_shopConfigStyle$navB = shopConfigStyle.navBarMenus) === null || _shopConfigStyle$navB === void 0 ? void 0 : (_shopConfigStyle$navB2 = _shopConfigStyle$navB.filter(function (e) {
@@ -499,11 +498,10 @@ var NavBar7 = function NavBar7(props) {
499
498
  href: "/",
500
499
  className: "flex flex-1 gap-2 items-center"
501
500
  }, /*#__PURE__*/React__default.createElement("img", {
502
- className: "object-cover w-12 h-12",
503
- src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
504
- alt: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName
501
+ className: "object-cover w-12 max-h-12",
502
+ src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl
505
503
  }), /*#__PURE__*/React__default.createElement("h3", {
506
- className: "text-xl md:text-2xl text-wrap text-primary line-clamp-2"
504
+ className: "text-xl md:text-2xl font-headingFont text-wrap text-primary line-clamp-2"
507
505
  }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName)), cart(), /*#__PURE__*/React__default.createElement("button", {
508
506
  type: "button",
509
507
  onClick: function onClick() {
@@ -531,12 +529,12 @@ var NavBar7 = function NavBar7(props) {
531
529
  return setIsOpen(false);
532
530
  }
533
531
  }, /*#__PURE__*/React__default.createElement("div", {
534
- className: "flex gap-2 items-center"
532
+ className: "flex gap-2 items-center mb-2"
535
533
  }, /*#__PURE__*/React__default.createElement("img", {
536
534
  src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
537
- className: "h-14 w-14 bg-cover bg-no-repeat"
535
+ className: "max-h-14 w-14 object-cover"
538
536
  }), /*#__PURE__*/React__default.createElement("h3", {
539
- className: "text-xl font-semibold line-clamp-1"
537
+ className: "text-xl font-headingFont text-primary line-clamp-1"
540
538
  }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName))), /*#__PURE__*/React__default.createElement("button", {
541
539
  className: "text-gray4",
542
540
  onClick: function onClick() {
@@ -730,11 +728,11 @@ var NavBar1 = function NavBar1(props) {
730
728
  href: "/",
731
729
  className: "flex items-center gap-2"
732
730
  }, /*#__PURE__*/React__default.createElement("img", {
733
- className: "object-cover w-12 h-12",
731
+ className: "object-cover w-12 max-h-12",
734
732
  src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
735
733
  alt: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName
736
734
  }), /*#__PURE__*/React__default.createElement("h3", {
737
- className: "text-xl md:text-2xl text-wrap font-fredoka text-primary"
735
+ className: "text-xl md:text-2xl text-wrap font-headingFont text-primary"
738
736
  }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName)), /*#__PURE__*/React__default.createElement("div", {
739
737
  className: "hidden lg:flex flex-1 items-center gap-4"
740
738
  }, shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : (_shopConfigStyle$navB = shopConfigStyle.navBarMenus) === null || _shopConfigStyle$navB === void 0 ? void 0 : (_shopConfigStyle$navB2 = _shopConfigStyle$navB.filter(function (e) {
@@ -792,11 +790,11 @@ var NavBar1 = function NavBar1(props) {
792
790
  href: "/",
793
791
  className: "flex flex-1 gap-2 items-center"
794
792
  }, /*#__PURE__*/React__default.createElement("img", {
795
- className: "object-cover w-12 h-12",
793
+ className: "object-cover w-12 max-h-12",
796
794
  src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
797
795
  alt: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName
798
796
  }), /*#__PURE__*/React__default.createElement("h3", {
799
- className: "text-xl md:text-2xl text-wrap text-primary"
797
+ className: "text-xl md:text-2xl text-wrap text-primary font-headingFont"
800
798
  }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName)), cart(), /*#__PURE__*/React__default.createElement("button", {
801
799
  type: "button",
802
800
  onClick: function onClick() {
@@ -824,12 +822,12 @@ var NavBar1 = function NavBar1(props) {
824
822
  return setIsOpen(false);
825
823
  }
826
824
  }, /*#__PURE__*/React__default.createElement("div", {
827
- className: "flex gap-2 items-center"
825
+ className: "flex gap-2 items-center mb-2"
828
826
  }, /*#__PURE__*/React__default.createElement("img", {
829
827
  src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
830
- className: "h-14 w-14 bg-cover bg-no-repeat"
828
+ className: "max-h-14 w-14 bg-cover bg-no-repeat"
831
829
  }), /*#__PURE__*/React__default.createElement("div", {
832
- className: "text-xl line-clamp-1"
830
+ className: "text-xl font-headingFont text-primary line-clamp-1"
833
831
  }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName))), /*#__PURE__*/React__default.createElement("button", {
834
832
  className: "text-gray4",
835
833
  onClick: function onClick() {
@@ -965,6 +963,24 @@ var SectionTitle3 = function SectionTitle3(props) {
965
963
  }, data === null || data === void 0 ? void 0 : data.sectionDescription) : null);
966
964
  };
967
965
 
966
+ var SectionTitle4 = function SectionTitle4(props) {
967
+ var _data$sectionTitle;
968
+ var data = props.data;
969
+ return /*#__PURE__*/React__default.createElement("div", {
970
+ className: true
971
+ }, data !== null && data !== void 0 && data.sectionTitle ? /*#__PURE__*/React__default.createElement("div", {
972
+ className: "flex justify-center items-center gap-6"
973
+ }, /*#__PURE__*/React__default.createElement("div", {
974
+ className: "border w-32 border-primary"
975
+ }), /*#__PURE__*/React__default.createElement("h2", {
976
+ className: "font-headingFont !leading-relaxed text-primary text-center text-2xl md:text-4xl"
977
+ }, data === null || data === void 0 ? void 0 : (_data$sectionTitle = data.sectionTitle) === null || _data$sectionTitle === void 0 ? void 0 : _data$sectionTitle.toUpperCase()), /*#__PURE__*/React__default.createElement("div", {
978
+ className: "border w-32 border-primary"
979
+ })) : null, data !== null && data !== void 0 && data.sectionDescription ? /*#__PURE__*/React__default.createElement("p", {
980
+ className: "text-xl text-center font-medium leading-relaxed text-secondary mt-2"
981
+ }, data === null || data === void 0 ? void 0 : data.sectionDescription) : null);
982
+ };
983
+
968
984
  var Input = React.forwardRef(function (props, ref) {
969
985
  var _props$label = props.label,
970
986
  label = _props$label === void 0 ? "" : _props$label,
@@ -1273,7 +1289,7 @@ var Hero6 = function Hero6(props) {
1273
1289
  };
1274
1290
 
1275
1291
  var Hero10 = function Hero10(props) {
1276
- var _data$data, _data$data$, _data$data$$srcImages, _sectionData$, _sectionData$2, _sectionData$2$button;
1292
+ var _data$data, _data$data$, _data$data$$srcImages, _sectionData$, _sectionData$2, _sectionData$3, _sectionData$4, _sectionData$4$button;
1277
1293
  var shopConfigStyle = props.shopConfigStyle,
1278
1294
  data = props.data,
1279
1295
  _props$Link = props.Link,
@@ -1290,7 +1306,9 @@ var Hero10 = function Hero10(props) {
1290
1306
  className: "relative w-full min-h-[540px] p-12 z-10 flex flex-col gap-6 items-center justify-center"
1291
1307
  }, /*#__PURE__*/React__default.createElement("div", {
1292
1308
  className: "text-3xl md:text-5xl text-white leading-[1.6] md:leading-[1.6] text-center font-headingFont"
1293
- }, sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$ = sectionData[0]) === null || _sectionData$ === void 0 ? void 0 : _sectionData$.title), sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$2 = sectionData[0]) === null || _sectionData$2 === void 0 ? void 0 : (_sectionData$2$button = _sectionData$2.buttons) === null || _sectionData$2$button === void 0 ? void 0 : _sectionData$2$button.map(function (button, index) {
1309
+ }, sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$ = sectionData[0]) === null || _sectionData$ === void 0 ? void 0 : _sectionData$.title), sectionData !== null && sectionData !== void 0 && (_sectionData$2 = sectionData[0]) !== null && _sectionData$2 !== void 0 && _sectionData$2.description ? /*#__PURE__*/React__default.createElement("div", {
1310
+ className: "text-lg text-center text-white md:text-2xl"
1311
+ }, sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$3 = sectionData[0]) === null || _sectionData$3 === void 0 ? void 0 : _sectionData$3.description) : null, sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$4 = sectionData[0]) === null || _sectionData$4 === void 0 ? void 0 : (_sectionData$4$button = _sectionData$4.buttons) === null || _sectionData$4$button === void 0 ? void 0 : _sectionData$4$button.map(function (button, index) {
1294
1312
  return /*#__PURE__*/React__default.createElement(LinkToPage, {
1295
1313
  Link: Link,
1296
1314
  key: "gdf-" + index,
@@ -1302,7 +1320,51 @@ var Hero10 = function Hero10(props) {
1302
1320
  })));
1303
1321
  };
1304
1322
 
1323
+ var SECTION_DEFAULT_CLASS = "my-12 mx-4 xl:mx-20 bg-background";
1324
+ var SECTION_CLASS = "my-6 md:my-12 px-4 xl:px-20 bg-background";
1325
+
1305
1326
  var Hero11 = function Hero11(props) {
1327
+ var _data$data, _data$data$, _data$data$$srcImages, _data$data2, _data$data2$, _data$data2$$title, _data$data3, _data$data3$;
1328
+ var _props$data = props.data,
1329
+ data = _props$data === void 0 ? {} : _props$data,
1330
+ _props$shopConfigStyl = props.shopConfigStyle,
1331
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl;
1332
+ return /*#__PURE__*/React__default.createElement("div", {
1333
+ className: SECTION_CLASS + " grid grid-cols-1 md:grid-cols-2 py-12 !bg-bgSecondary gap-6 md:gap-12"
1334
+ }, /*#__PURE__*/React__default.createElement("div", {
1335
+ className: "flex w-full"
1336
+ }, /*#__PURE__*/React__default.createElement("div", {
1337
+ className: "w-4"
1338
+ }, /*#__PURE__*/React__default.createElement("div", {
1339
+ className: "bg-primary w-4 h-1/2 mt-6 "
1340
+ }), /*#__PURE__*/React__default.createElement("div", {
1341
+ className: "h-[45%]"
1342
+ })), /*#__PURE__*/React__default.createElement("div", {
1343
+ className: "w-full"
1344
+ }, /*#__PURE__*/React__default.createElement("img", {
1345
+ src: data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : (_data$data$ = _data$data[0]) === null || _data$data$ === void 0 ? void 0 : (_data$data$$srcImages = _data$data$.srcImages) === null || _data$data$$srcImages === void 0 ? void 0 : _data$data$$srcImages[0],
1346
+ className: "object-cover max-w-full h-auto"
1347
+ })), /*#__PURE__*/React__default.createElement("div", {
1348
+ className: "w-4"
1349
+ }, /*#__PURE__*/React__default.createElement("div", {
1350
+ className: "h-[45%]"
1351
+ }), /*#__PURE__*/React__default.createElement("div", {
1352
+ className: "bg-primary w-4 h-1/2 mb-6"
1353
+ }))), /*#__PURE__*/React__default.createElement("div", {
1354
+ className: "relative flex flex-col justify-center gap-6 lg:gap-10"
1355
+ }, /*#__PURE__*/React__default.createElement("div", {
1356
+ className: "text-2xl md:text-4xl !leading-[1.6] font-headingFont w-max text-center text-primary"
1357
+ }, data === null || data === void 0 ? void 0 : (_data$data2 = data.data) === null || _data$data2 === void 0 ? void 0 : (_data$data2$ = _data$data2[0]) === null || _data$data2$ === void 0 ? void 0 : (_data$data2$$title = _data$data2$.title) === null || _data$data2$$title === void 0 ? void 0 : _data$data2$$title.toUpperCase()), /*#__PURE__*/React__default.createElement("div", {
1358
+ className: "text-lg md:text-xl lg:text-2xl"
1359
+ }, data === null || data === void 0 ? void 0 : (_data$data3 = data.data) === null || _data$data3 === void 0 ? void 0 : (_data$data3$ = _data$data3[0]) === null || _data$data3$ === void 0 ? void 0 : _data$data3$.description), /*#__PURE__*/React__default.createElement(Button, {
1360
+ label: "\u0110\u1EB7t b\xE0n ngay",
1361
+ shopConfigStyle: shopConfigStyle,
1362
+ className: "!font-normal w-max",
1363
+ sho: true
1364
+ })));
1365
+ };
1366
+
1367
+ var Hero12 = function Hero12(props) {
1306
1368
  var _data$data, _data$data$, _data$data$$srcImages, _data$data2, _data$data2$, _data$data3, _data$data3$;
1307
1369
  var _props$data = props.data,
1308
1370
  data = _props$data === void 0 ? {} : _props$data;
@@ -1397,7 +1459,7 @@ var CarouselItem = function CarouselItem(props) {
1397
1459
  }, /*#__PURE__*/React__default.createElement("div", {
1398
1460
  className: "w-full overflow-hidden "
1399
1461
  }, /*#__PURE__*/React__default.createElement("div", {
1400
- className: "flex overflow-x-auto gap-2 no-scrollbar items-center",
1462
+ className: "flex overflow-x-auto gap-2 " + (isNavigateButton ? "no-scrollbar" : "scroll-custom pb-2") + " items-center",
1401
1463
  ref: listRef
1402
1464
  }, isAll ? /*#__PURE__*/React__default.createElement("div", {
1403
1465
  className: " " + ((Object === null || Object === void 0 ? void 0 : (_Object$keys = Object.keys(value)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length) <= 0 ? "bg-primary text-textButton" : "bg-background") + " w-max border border-primary p-1 md:p-2 rounded-lg cursor-pointer whitespace-nowrap",
@@ -7502,7 +7564,7 @@ var lib = {
7502
7564
  };
7503
7565
 
7504
7566
  var getBaseUrl = function getBaseUrl() {
7505
- return process.env.NEXT_PUBLIC_BASE_URL || "https://proapi.sspa.com.vn";
7567
+ return process.env.NEXT_PUBLIC_BASE_URL || "https://test-apigateway.sfin.vn";
7506
7568
  };
7507
7569
  var request = axios.create();
7508
7570
  request.interceptors.request.use(function (config) {
@@ -7553,7 +7615,7 @@ var getYoutubeVideoIdByUrl = function getYoutubeVideoIdByUrl(url) {
7553
7615
  var linkPagePolicy = "https://sites.google.com/view/sodofin-landing-page-policy";
7554
7616
  var endpointLandingShop = "/landing-shop/v2";
7555
7617
  var endpointLanding = "/landing/v2";
7556
- var baseURL = process.env.NEXT_PUBLIC_BASE_URL || "https://proapi.sspa.com.vn";
7618
+ var baseURL = process.env.NEXT_PUBLIC_BASE_URL || "https://test-apigateway.sfin.vn";
7557
7619
 
7558
7620
  var getShopCategoriesApi = function getShopCategoriesApi(shopId, types) {
7559
7621
  return api({
@@ -7648,9 +7710,6 @@ var Hero13 = function Hero13(props) {
7648
7710
  }));
7649
7711
  };
7650
7712
 
7651
- var SECTION_DEFAULT_CLASS = "my-12 mx-4 xl:mx-20 bg-background";
7652
- var SECTION_CLASS = "my-6 md:my-12 px-4 xl:px-20 bg-background";
7653
-
7654
7713
  var Features2 = function Features2(props) {
7655
7714
  var data = props.data;
7656
7715
  var sectionData = data === null || data === void 0 ? void 0 : data.data;
@@ -8064,7 +8123,11 @@ var ProductPrice = function ProductPrice(props) {
8064
8123
  _props$className = props.className,
8065
8124
  className = _props$className === void 0 ? "" : _props$className,
8066
8125
  _props$style = props.style,
8067
- style = _props$style === void 0 ? {} : _props$style;
8126
+ style = _props$style === void 0 ? {} : _props$style,
8127
+ _props$priceClassName = props.priceClassName,
8128
+ priceClassName = _props$priceClassName === void 0 ? "" : _props$priceClassName,
8129
+ _props$priceBeforeDis = props.priceBeforeDiscountClassName,
8130
+ priceBeforeDiscountClassName = _props$priceBeforeDis === void 0 ? "" : _props$priceBeforeDis;
8068
8131
  var _useState = React.useState(),
8069
8132
  displayPrice = _useState[0],
8070
8133
  setDisplayPrice = _useState[1];
@@ -8099,12 +8162,12 @@ var ProductPrice = function ProductPrice(props) {
8099
8162
  };
8100
8163
  return /*#__PURE__*/React__default.createElement("div", {
8101
8164
  className: className
8102
- }, displayPriceBeforeDiscount !== displayPrice && displayPriceBeforeDiscount != null ? /*#__PURE__*/React__default.createElement("span", {
8103
- className: "text-gray3 line-through mr-2"
8104
- }, displayPriceBeforeDiscount) : null, /*#__PURE__*/React__default.createElement("span", {
8105
- className: "text-primary font-semibold",
8165
+ }, /*#__PURE__*/React__default.createElement("span", {
8166
+ className: "text-primary font-semibold mr-4 " + priceClassName,
8106
8167
  style: style
8107
- }, displayPrice));
8168
+ }, displayPrice), displayPriceBeforeDiscount !== displayPrice && displayPriceBeforeDiscount != null ? /*#__PURE__*/React__default.createElement("span", {
8169
+ className: "text-gray3 line-through " + priceBeforeDiscountClassName + " "
8170
+ }, "200,000\u0111") : null);
8108
8171
  };
8109
8172
 
8110
8173
  var ProductItem1 = function ProductItem1(props) {
@@ -10095,6 +10158,39 @@ var ProductItem7 = function ProductItem7(props) {
10095
10158
  }, 1 - 100 * (product === null || product === void 0 ? void 0 : product.price) / (product === null || product === void 0 ? void 0 : product.priceBeforeDiscount)) : null));
10096
10159
  };
10097
10160
 
10161
+ var ProductItem8 = function ProductItem8(props) {
10162
+ var product = props.product,
10163
+ _props$Link = props.Link,
10164
+ Link = _props$Link === void 0 ? null : _props$Link,
10165
+ _props$className = props.className,
10166
+ className = _props$className === void 0 ? "" : _props$className,
10167
+ _props$shopConfigStyl = props.shopConfigStyle,
10168
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl;
10169
+ return /*#__PURE__*/React__default.createElement(LinkToPage, {
10170
+ Link: Link,
10171
+ href: getLinkProductDetail(product)
10172
+ }, /*#__PURE__*/React__default.createElement("div", {
10173
+ className: "text-center rounded relative group " + className
10174
+ }, /*#__PURE__*/React__default.createElement("div", {
10175
+ className: "relative "
10176
+ }, /*#__PURE__*/React__default.createElement(ProductImage, {
10177
+ product: product,
10178
+ className: "min-h-[360px] md:min-h-[400px] xl:min-h-[440px] !object-cover !rounded"
10179
+ }), /*#__PURE__*/React__default.createElement("div", {
10180
+ className: "absolute bottom-0 rounded-b pb-6 px-4 bg-gradient-to-t from-black/50 to-transparent flex flex-col items-center h-1/2 gap-2 w-full justify-end "
10181
+ }, /*#__PURE__*/React__default.createElement("div", {
10182
+ className: "text-lg text-textButton"
10183
+ }, product === null || product === void 0 ? void 0 : product.productName), /*#__PURE__*/React__default.createElement(ProductPrice, {
10184
+ product: product,
10185
+ priceClassName: "text-textButton !font-normal",
10186
+ priceBeforeDiscountClassName: "text-textButton !font-normal"
10187
+ }), /*#__PURE__*/React__default.createElement(Button, {
10188
+ label: "Th\xEAm v\xE0o gi\u1ECF",
10189
+ shopConfigStyle: shopConfigStyle,
10190
+ className: "hidden group-hover:block transition-all duration-300 !font-normal"
10191
+ })))));
10192
+ };
10193
+
10098
10194
  var TreatmentItem1 = function TreatmentItem1(props) {
10099
10195
  var product = props.product,
10100
10196
  _props$Link = props.Link,
@@ -10770,6 +10866,80 @@ var Products11 = function Products11(props) {
10770
10866
  }) : null)));
10771
10867
  };
10772
10868
 
10869
+ var ProductItem9 = function ProductItem9(props) {
10870
+ var product = props.product;
10871
+ return /*#__PURE__*/React__default.createElement("div", {
10872
+ className: "flex border-b border-stroke items-center py-4"
10873
+ }, /*#__PURE__*/React__default.createElement(ProductImage, {
10874
+ product: product,
10875
+ className: "!w-24 rounded-lg"
10876
+ }), /*#__PURE__*/React__default.createElement("div", {
10877
+ className: "ml-4 flex-1"
10878
+ }, /*#__PURE__*/React__default.createElement("div", {
10879
+ className: "text-xl"
10880
+ }, product === null || product === void 0 ? void 0 : product.productName), /*#__PURE__*/React__default.createElement("div", {
10881
+ className: "mt-2"
10882
+ }, /*#__PURE__*/React__default.createElement(ProductPrice, {
10883
+ product: product,
10884
+ priceClassName: "!font-normal text-lg"
10885
+ }))));
10886
+ };
10887
+
10888
+ var Products12 = function Products12(props) {
10889
+ var _props$shopConfigStyl = props.shopConfigStyle,
10890
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
10891
+ _props$data = props.data,
10892
+ data = _props$data === void 0 ? {} : _props$data,
10893
+ _props$SectionTitle = props.SectionTitle,
10894
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle,
10895
+ _props$Link = props.Link,
10896
+ Link = _props$Link === void 0 ? null : _props$Link;
10897
+ var _useState = React.useState({
10898
+ types: "0"
10899
+ }),
10900
+ params = _useState[0],
10901
+ setParams = _useState[1];
10902
+ var _CategoryController = CategoryController(_extends({}, props, {
10903
+ types: "0"
10904
+ })),
10905
+ categories = _CategoryController.categories;
10906
+ var _ProductController = ProductController(_extends({}, props, {
10907
+ params: params
10908
+ })),
10909
+ _ProductController$pr = _ProductController.products,
10910
+ products = _ProductController$pr === void 0 ? [] : _ProductController$pr,
10911
+ loading = _ProductController.loading;
10912
+ var handleFilterByCategory = function handleFilterByCategory(category) {
10913
+ setParams(function (prev) {
10914
+ return _extends({}, prev, {
10915
+ categoryId: category === null || category === void 0 ? void 0 : category.categoryId
10916
+ });
10917
+ });
10918
+ };
10919
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
10920
+ className: SECTION_DEFAULT_CLASS + " flex flex-col gap-6"
10921
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
10922
+ data: data,
10923
+ shopConfigStyle: shopConfigStyle
10924
+ }), /*#__PURE__*/React__default.createElement(CarouselItem, {
10925
+ isNavigateButton: false,
10926
+ data: categories,
10927
+ onClick: handleFilterByCategory
10928
+ }), loading ? /*#__PURE__*/React__default.createElement("div", {
10929
+ className: "flex w-full justify-center p-12"
10930
+ }, /*#__PURE__*/React__default.createElement(Loading, null)) : products !== null && products !== void 0 && products.length ? /*#__PURE__*/React__default.createElement("div", {
10931
+ className: "grid grid-cols-1 md:grid-cols-2 gap-x-12"
10932
+ }, products === null || products === void 0 ? void 0 : products.map(function (product, index) {
10933
+ return /*#__PURE__*/React__default.createElement(LinkToPage, {
10934
+ key: index,
10935
+ Link: Link,
10936
+ href: getLinkProductDetail(product === null || product === void 0 ? void 0 : product.productInfo)
10937
+ }, /*#__PURE__*/React__default.createElement(ProductItem9, {
10938
+ product: product === null || product === void 0 ? void 0 : product.productInfo
10939
+ }));
10940
+ })) : /*#__PURE__*/React__default.createElement(NotFoundProduct, null)));
10941
+ };
10942
+
10773
10943
  var ProductCategory2 = function ProductCategory2(props) {
10774
10944
  var _products$slice;
10775
10945
  var _props$Link = props.Link,
@@ -11023,7 +11193,7 @@ var ProductHot1 = function ProductHot1(props) {
11023
11193
  }));
11024
11194
  };
11025
11195
  return /*#__PURE__*/React__default.createElement("div", {
11026
- className: SECTION_CLASS + " flex flex-col gap-4 md:gap-8"
11196
+ className: SECTION_CLASS + " flex flex-col gap-6 md:gap-12"
11027
11197
  }, /*#__PURE__*/React__default.createElement(SectionTitle, {
11028
11198
  data: data,
11029
11199
  shopConfigStyle: shopConfigStyle
@@ -11814,57 +11984,354 @@ var BookingForm6 = function BookingForm6(props) {
11814
11984
  })));
11815
11985
  };
11816
11986
 
11817
- var Banner1 = function Banner1(props) {
11818
- var data = props.data,
11819
- shopConfigStyle = props.shopConfigStyle,
11820
- _props$SectionTitle = props.SectionTitle,
11821
- SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
11822
- var sectionData = data === null || data === void 0 ? void 0 : data.data;
11987
+ var TextArea = React.forwardRef(function (props, ref) {
11988
+ var _props$label = props.label,
11989
+ label = _props$label === void 0 ? "" : _props$label,
11990
+ _props$placeholder = props.placeholder,
11991
+ placeholder = _props$placeholder === void 0 ? "" : _props$placeholder,
11992
+ _props$rules = props.rules,
11993
+ rules = _props$rules === void 0 ? [] : _props$rules,
11994
+ _props$textareaClassN = props.textareaClassName,
11995
+ textareaClassName = _props$textareaClassN === void 0 ? "" : _props$textareaClassN,
11996
+ _props$className = props.className,
11997
+ className = _props$className === void 0 ? "" : _props$className,
11998
+ _props$defaultValue = props.defaultValue,
11999
+ defaultValue = _props$defaultValue === void 0 ? "" : _props$defaultValue,
12000
+ _props$labelClassName = props.labelClassName,
12001
+ labelClassName = _props$labelClassName === void 0 ? "" : _props$labelClassName,
12002
+ _props$onChange = props.onChange,
12003
+ onChange = _props$onChange === void 0 ? function () {} : _props$onChange;
12004
+ var _useState = React.useState(defaultValue),
12005
+ value = _useState[0],
12006
+ _setValue = _useState[1];
12007
+ var _useState2 = React.useState(""),
12008
+ error = _useState2[0],
12009
+ _setError = _useState2[1];
12010
+ React.useImperativeHandle(ref, function () {
12011
+ return {
12012
+ validateData: function validateData() {
12013
+ return _validateData();
12014
+ },
12015
+ setValue: function setValue(text) {
12016
+ return _setValue(text);
12017
+ },
12018
+ getValue: function getValue() {
12019
+ return value;
12020
+ },
12021
+ setError: function setError(err) {
12022
+ return _setError(err);
12023
+ }
12024
+ };
12025
+ });
12026
+ var _validateData = function _validateData() {
12027
+ var count = 0;
12028
+ for (var _iterator = _createForOfIteratorHelperLoose(rules), _step; !(_step = _iterator()).done;) {
12029
+ var _e$pattern;
12030
+ var e = _step.value;
12031
+ if ((e === null || e === void 0 ? void 0 : e.type) === 'required' && value === '') {
12032
+ _setError(e === null || e === void 0 ? void 0 : e.message);
12033
+ count++;
12034
+ break;
12035
+ } else if ((e === null || e === void 0 ? void 0 : e.type) === 'pattern' && !(e !== null && e !== void 0 && (_e$pattern = e.pattern) !== null && _e$pattern !== void 0 && _e$pattern.test(value))) {
12036
+ _setError(e === null || e === void 0 ? void 0 : e.message);
12037
+ count++;
12038
+ break;
12039
+ }
12040
+ }
12041
+ if (count) {
12042
+ return false;
12043
+ } else {
12044
+ _setError('');
12045
+ return true;
12046
+ }
12047
+ };
12048
+ var handleOnChangeValue = function handleOnChangeValue(e) {
12049
+ var value = e.target.value;
12050
+ _setValue(value);
12051
+ onChange === null || onChange === void 0 ? void 0 : onChange(value);
12052
+ };
12053
+ var required = !!(rules !== null && rules !== void 0 && rules.find(function (e) {
12054
+ return (e === null || e === void 0 ? void 0 : e.type) === "required";
12055
+ }));
12056
+ var labelRequired = required ? /*#__PURE__*/React__default.createElement("span", {
12057
+ className: "text-danger"
12058
+ }, " *") : null;
11823
12059
  return /*#__PURE__*/React__default.createElement("div", {
11824
- className: "" + SECTION_DEFAULT_CLASS
11825
- }, /*#__PURE__*/React__default.createElement(SectionTitle, {
11826
- data: data,
11827
- shopConfigStyle: shopConfigStyle
11828
- }), /*#__PURE__*/React__default.createElement("div", {
11829
- className: "grid grid-cols-1 sm:grid-cols-3 gap-4 lg:gap-6 mt-6"
11830
- }, sectionData && sectionData.length > 0 && sectionData.map(function (item, index) {
11831
- return /*#__PURE__*/React__default.createElement("img", {
11832
- src: item === null || item === void 0 ? void 0 : item.srcImage,
11833
- alt: "",
11834
- className: "rounded-2xl",
11835
- key: "hnfhn-" + index
11836
- });
11837
- })));
11838
- };
12060
+ className: "" + className
12061
+ }, label ? /*#__PURE__*/React__default.createElement("div", {
12062
+ className: "mb-1 " + labelClassName
12063
+ }, label, labelRequired) : null, /*#__PURE__*/React__default.createElement("textarea", {
12064
+ name: "",
12065
+ id: "",
12066
+ className: "focus:outline-none focus:ring-0 border rounded-xl min-h-24 " + textareaClassName,
12067
+ placeholder: placeholder,
12068
+ value: value,
12069
+ onChange: function onChange(e) {
12070
+ handleOnChangeValue(e);
12071
+ }
12072
+ }), error ? /*#__PURE__*/React__default.createElement("div", {
12073
+ className: "text-danger"
12074
+ }, error) : null);
12075
+ });
11839
12076
 
11840
- var Banner2 = function Banner2(props) {
11841
- var data = props.data,
11842
- shopConfigStyle = props.shopConfigStyle,
11843
- _props$SectionTitle = props.SectionTitle,
11844
- SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
11845
- var sectionData = data === null || data === void 0 ? void 0 : data.data;
11846
- var _useState = React.useState(0),
11847
- currentSlide = _useState[0],
11848
- setCurrentSlide = _useState[1];
11849
- function RenderArrow(props) {
11850
- var className = props.className,
11851
- style = props.style,
11852
- onClick = props.onClick;
11853
- return /*#__PURE__*/React__default.createElement("div", {
11854
- className: className,
11855
- style: _extends({}, style, {
11856
- display: "none"
11857
- }),
11858
- onClick: onClick
11859
- });
11860
- }
11861
- return /*#__PURE__*/React__default.createElement("div", {
11862
- className: "" + SECTION_DEFAULT_CLASS
11863
- }, /*#__PURE__*/React__default.createElement(SectionTitle, {
11864
- data: data,
11865
- shopConfigStyle: shopConfigStyle
12077
+ var BookingFoodForm = function BookingFoodForm(props) {
12078
+ var _props$shopConfig = props.shopConfig,
12079
+ shopConfig = _props$shopConfig === void 0 ? {} : _props$shopConfig,
12080
+ _props$shopConfigStyl = props.shopConfigStyle,
12081
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
12082
+ _props$onCloseFormBoo = props.onCloseFormBooking,
12083
+ onCloseFormBooking = _props$onCloseFormBoo === void 0 ? function () {} : _props$onCloseFormBoo,
12084
+ _props$defaultValue = props.defaultValue,
12085
+ defaultValue = _props$defaultValue === void 0 ? [] : _props$defaultValue,
12086
+ _props$className = props.className,
12087
+ className = _props$className === void 0 ? "" : _props$className,
12088
+ _props$isModalBooking = props.isModalBooking,
12089
+ isModalBooking = _props$isModalBooking === void 0 ? false : _props$isModalBooking;
12090
+ var _useState = React.useState(defaultValue),
12091
+ listProductSelected = _useState[0],
12092
+ setListProductSelected = _useState[1];
12093
+ var inputNameRef = React.useRef(null);
12094
+ var inputDateRef = React.useRef(null);
12095
+ var inputPhoneNumberRef = React.useRef(null);
12096
+ var inputQuantityRef = React.useRef(null);
12097
+ var _useState2 = React.useState(false),
12098
+ isOpenPopup = _useState2[0],
12099
+ setIsOpenPopup = _useState2[1];
12100
+ var _useState3 = React.useState(false),
12101
+ isHiddenForm = _useState3[0],
12102
+ setIsHiddenForm = _useState3[1];
12103
+ var _BookingController = BookingController(props),
12104
+ _BookingController$cr = _BookingController.createSchedule,
12105
+ createSchedule = _BookingController$cr === void 0 ? function () {} : _BookingController$cr;
12106
+ var checkDateBooking = function checkDateBooking() {
12107
+ var _inputDateRef$current;
12108
+ var scheduleDate = inputDateRef === null || inputDateRef === void 0 ? void 0 : (_inputDateRef$current = inputDateRef.current) === null || _inputDateRef$current === void 0 ? void 0 : _inputDateRef$current.getValue();
12109
+ return scheduleDate && scheduleDate >= Date.now();
12110
+ };
12111
+ var handleSubmit = function handleSubmit() {
12112
+ try {
12113
+ var _inputNameRef$current, _inputPhoneNumberRef$, _inputDateRef$current2, _inputQuantityRef$cur;
12114
+ var validateName = inputNameRef === null || inputNameRef === void 0 ? void 0 : (_inputNameRef$current = inputNameRef.current) === null || _inputNameRef$current === void 0 ? void 0 : _inputNameRef$current.validateData();
12115
+ var validatePhoneNumber = inputPhoneNumberRef === null || inputPhoneNumberRef === void 0 ? void 0 : (_inputPhoneNumberRef$ = inputPhoneNumberRef.current) === null || _inputPhoneNumberRef$ === void 0 ? void 0 : _inputPhoneNumberRef$.validateData();
12116
+ var validateDate = inputDateRef === null || inputDateRef === void 0 ? void 0 : (_inputDateRef$current2 = inputDateRef.current) === null || _inputDateRef$current2 === void 0 ? void 0 : _inputDateRef$current2.validateData();
12117
+ var validateQuantity = inputQuantityRef === null || inputQuantityRef === void 0 ? void 0 : (_inputQuantityRef$cur = inputQuantityRef.current) === null || _inputQuantityRef$cur === void 0 ? void 0 : _inputQuantityRef$cur.validateData();
12118
+ var _temp = function () {
12119
+ if (validateName && validatePhoneNumber && validateDate && validateQuantity) {
12120
+ var _inputPhoneNumberRef$2, _inputNameRef$current2, _inputDateRef$current3;
12121
+ var customerPhone = inputPhoneNumberRef === null || inputPhoneNumberRef === void 0 ? void 0 : (_inputPhoneNumberRef$2 = inputPhoneNumberRef.current) === null || _inputPhoneNumberRef$2 === void 0 ? void 0 : _inputPhoneNumberRef$2.getValue();
12122
+ var customerName = inputNameRef === null || inputNameRef === void 0 ? void 0 : (_inputNameRef$current2 = inputNameRef.current) === null || _inputNameRef$current2 === void 0 ? void 0 : _inputNameRef$current2.getValue();
12123
+ var scheduleDate = inputDateRef === null || inputDateRef === void 0 ? void 0 : (_inputDateRef$current3 = inputDateRef.current) === null || _inputDateRef$current3 === void 0 ? void 0 : _inputDateRef$current3.getValue();
12124
+ var services = listProductSelected === null || listProductSelected === void 0 ? void 0 : listProductSelected.map(function (item) {
12125
+ var _item$technical;
12126
+ return {
12127
+ productId: item === null || item === void 0 ? void 0 : item.value,
12128
+ technicalStaffIds: [item === null || item === void 0 ? void 0 : (_item$technical = item.technical) === null || _item$technical === void 0 ? void 0 : _item$technical.sysUserId],
12129
+ quantity: item === null || item === void 0 ? void 0 : item.quantity,
12130
+ oldService: item === null || item === void 0 ? void 0 : item.oldService
12131
+ };
12132
+ });
12133
+ var shopId = shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopId;
12134
+ console.log("check payload:::", services);
12135
+ return Promise.resolve(createSchedule(customerName, customerPhone, scheduleDate, services, shopId)).then(function (response) {
12136
+ var _response$data, _response$data$status;
12137
+ if ((response === null || response === void 0 ? void 0 : (_response$data = response.data) === null || _response$data === void 0 ? void 0 : (_response$data$status = _response$data.status) === null || _response$data$status === void 0 ? void 0 : _response$data$status.code) === '200') {
12138
+ var _inputPhoneNumberRef$3, _inputNameRef$current3, _inputDateRef$current4;
12139
+ if (isModalBooking) {
12140
+ setIsHiddenForm(true);
12141
+ }
12142
+ setIsOpenPopup(true);
12143
+ inputPhoneNumberRef === null || inputPhoneNumberRef === void 0 ? void 0 : (_inputPhoneNumberRef$3 = inputPhoneNumberRef.current) === null || _inputPhoneNumberRef$3 === void 0 ? void 0 : _inputPhoneNumberRef$3.setValue("");
12144
+ inputNameRef === null || inputNameRef === void 0 ? void 0 : (_inputNameRef$current3 = inputNameRef.current) === null || _inputNameRef$current3 === void 0 ? void 0 : _inputNameRef$current3.setValue("");
12145
+ inputDateRef === null || inputDateRef === void 0 ? void 0 : (_inputDateRef$current4 = inputDateRef.current) === null || _inputDateRef$current4 === void 0 ? void 0 : _inputDateRef$current4.setValue(new Date());
12146
+ setListProductSelected([]);
12147
+ }
12148
+ });
12149
+ }
12150
+ }();
12151
+ return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
12152
+ } catch (e) {
12153
+ return Promise.reject(e);
12154
+ }
12155
+ };
12156
+ var handleClosePopup = function handleClosePopup() {
12157
+ setIsOpenPopup(false);
12158
+ setIsHiddenForm(false);
12159
+ };
12160
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !isHiddenForm ? /*#__PURE__*/React__default.createElement("div", {
12161
+ className: "flex flex-col gap-4 rounded-2xl p-6 border bg-white " + className
12162
+ }, /*#__PURE__*/React__default.createElement("div", {
12163
+ className: "grid grid-cols-1 md:grid-cols-2 gap-4"
12164
+ }, /*#__PURE__*/React__default.createElement(Input, {
12165
+ ref: inputNameRef,
12166
+ label: "Họ và tên",
12167
+ placeholder: "Nhập họ tên",
12168
+ rules: [{
12169
+ type: "required",
12170
+ message: "Bắt buộc nhập họ tên"
12171
+ }],
12172
+ className: "w-full rounded-lg bg-white",
12173
+ inputClassName: "w-full focus:outline-none focus:ring-0"
12174
+ }), /*#__PURE__*/React__default.createElement(InputPhoneNumber, {
12175
+ ref: inputPhoneNumberRef,
12176
+ name: "customerPhone",
12177
+ label: "Số điện thoại",
12178
+ placeholder: "Nhập số điện thoại",
12179
+ rules: [{
12180
+ type: "required",
12181
+ message: "Bắt buộc nhập số điện thoại"
12182
+ }, {
12183
+ type: "pattern",
12184
+ pattern: pattern === null || pattern === void 0 ? void 0 : pattern.phoneNumberPattern,
12185
+ message: "Số điện thoại không hợp lệ!"
12186
+ }],
12187
+ className: "bg-bgSecondary"
12188
+ })), /*#__PURE__*/React__default.createElement("div", {
12189
+ className: "grid grid-cols-1 md:grid-cols-2 gap-4"
12190
+ }, /*#__PURE__*/React__default.createElement(Input, {
12191
+ ref: inputQuantityRef,
12192
+ label: "Số người",
12193
+ placeholder: "Nhập số người",
12194
+ rules: [{
12195
+ type: "required",
12196
+ message: "Bắt buộc nhập số người"
12197
+ }],
12198
+ className: "w-full rounded-lg bg-white",
12199
+ inputClassName: "w-full focus:outline-none focus:ring-0"
12200
+ }), /*#__PURE__*/React__default.createElement(DateTimePicker, {
12201
+ ref: inputDateRef,
12202
+ label: "Thời gian",
12203
+ className: "w-full rounded-lg",
12204
+ placeholder: "Chọn thời gian",
12205
+ time: true,
12206
+ rules: [{
12207
+ type: "required",
12208
+ message: "Bắt buộc chọn ngày đặt"
12209
+ }, {
12210
+ type: "validate",
12211
+ message: "Thời gian không hợp lệ",
12212
+ validate: checkDateBooking
12213
+ }]
12214
+ })), /*#__PURE__*/React__default.createElement("div", {
12215
+ className: "grid grid-cols-1 gap-6"
12216
+ }, /*#__PURE__*/React__default.createElement(TextArea, {
12217
+ label: "Ghi ch\xFA",
12218
+ placeholder: "Nh\u1EADp ghi ch\xFA (n\u1EBFu c\xF3)",
12219
+ className: " w-full ",
12220
+ textareaClassName: "px-4 py-3 w-full min-h-32"
12221
+ })), /*#__PURE__*/React__default.createElement("div", {
12222
+ className: "text-center"
12223
+ }, /*#__PURE__*/React__default.createElement(Button, {
12224
+ label: "Đặt lịch ngay",
12225
+ shopConfigStyle: shopConfigStyle,
12226
+ onClick: handleSubmit
12227
+ }))) : null, isOpenPopup && /*#__PURE__*/React__default.createElement(ModalNotification, {
12228
+ onCloseFormBooking: onCloseFormBooking,
12229
+ onClose: handleClosePopup
12230
+ }, /*#__PURE__*/React__default.createElement("div", {
12231
+ className: "bg-white rounded-lg shadow-lg p-6 lg:px-16 lg:pb-10 max-w-sm flex gap-4 flex-col items-center justify-center"
12232
+ }, /*#__PURE__*/React__default.createElement("div", {
12233
+ className: "flex items-center justify-center"
12234
+ }, /*#__PURE__*/React__default.createElement(fa.FaCheckCircle, {
12235
+ className: "h-full text-green-500",
12236
+ style: {
12237
+ fontSize: "56px"
12238
+ }
12239
+ })), /*#__PURE__*/React__default.createElement("div", {
12240
+ className: "font-medium text-2xl"
12241
+ }, "\u0110\u1EB7t l\u1ECBch th\xE0nh c\xF4ng"), /*#__PURE__*/React__default.createElement("div", {
12242
+ className: "text-center"
12243
+ }, "Ch\xFAng t\xF4i \u0111\xE3 ghi nh\u1EADn th\xF4ng tin c\u1EE7a b\u1EA1n v\xE0 s\u1EBD li\xEAn h\u1EC7 l\u1EA1i ngay"))));
12244
+ };
12245
+
12246
+ var BookingTable1 = function BookingTable1(props) {
12247
+ var _data$data, _data$data$, _data$data2, _data$data2$, _data$data3, _data$data3$, _data$data4, _data$data4$, _data$data5, _data$data5$, _data$data6, _data$data6$;
12248
+ var _props$shopConfigStyl = props.shopConfigStyle,
12249
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
12250
+ _props$shopConfig = props.shopConfig,
12251
+ shopConfig = _props$shopConfig === void 0 ? {} : _props$shopConfig,
12252
+ _props$data = props.data,
12253
+ data = _props$data === void 0 ? {} : _props$data,
12254
+ _props$SectionTitle = props.SectionTitle,
12255
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
12256
+ console.log("booking data", data);
12257
+ return /*#__PURE__*/React__default.createElement("div", {
12258
+ className: "relative w-full px-4 xl:px-20 py-12"
12259
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
12260
+ data: data,
12261
+ shopConfigStyle: shopConfigStyle
12262
+ }), /*#__PURE__*/React__default.createElement("div", {
12263
+ className: "mt-6 md:mt-12 grid grid-cols-1 gap-6 md:grid-cols-3 md:gap-12"
12264
+ }, /*#__PURE__*/React__default.createElement(LinkToPage, {
12265
+ href: convertURL(data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : (_data$data$ = _data$data[0]) === null || _data$data$ === void 0 ? void 0 : _data$data$.route) || (data === null || data === void 0 ? void 0 : (_data$data2 = data.data) === null || _data$data2 === void 0 ? void 0 : (_data$data2$ = _data$data2[0]) === null || _data$data2$ === void 0 ? void 0 : _data$data2$.link) || "#"
12266
+ }, data !== null && data !== void 0 && (_data$data3 = data.data) !== null && _data$data3 !== void 0 && (_data$data3$ = _data$data3[0]) !== null && _data$data3$ !== void 0 && _data$data3$.svgImage ? /*#__PURE__*/React__default.createElement("div", {
12267
+ className: "text-primary w-full h-auto"
12268
+ }, /*#__PURE__*/React__default.createElement("div", {
12269
+ dangerouslySetInnerHTML: {
12270
+ __html: configSvg(data === null || data === void 0 ? void 0 : (_data$data4 = data.data) === null || _data$data4 === void 0 ? void 0 : (_data$data4$ = _data$data4[0]) === null || _data$data4$ === void 0 ? void 0 : _data$data4$.svgImage)
12271
+ }
12272
+ })) : /*#__PURE__*/React__default.createElement("img", {
12273
+ src: data === null || data === void 0 ? void 0 : (_data$data5 = data.data) === null || _data$data5 === void 0 ? void 0 : (_data$data5$ = _data$data5[0]) === null || _data$data5$ === void 0 ? void 0 : _data$data5$.srcImage,
12274
+ className: "w-full h-auto"
12275
+ }), /*#__PURE__*/React__default.createElement("div", {
12276
+ className: "mt-4 whitespace-pre-line"
12277
+ }, data === null || data === void 0 ? void 0 : (_data$data6 = data.data) === null || _data$data6 === void 0 ? void 0 : (_data$data6$ = _data$data6[0]) === null || _data$data6$ === void 0 ? void 0 : _data$data6$.description)), /*#__PURE__*/React__default.createElement(BookingFoodForm, {
12278
+ shopConfigStyle: shopConfigStyle,
12279
+ shopConfig: shopConfig,
12280
+ className: "col-span-2"
12281
+ })));
12282
+ };
12283
+
12284
+ var Banner1 = function Banner1(props) {
12285
+ var data = props.data,
12286
+ shopConfigStyle = props.shopConfigStyle,
12287
+ _props$SectionTitle = props.SectionTitle,
12288
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
12289
+ var sectionData = data === null || data === void 0 ? void 0 : data.data;
12290
+ return /*#__PURE__*/React__default.createElement("div", {
12291
+ className: "" + SECTION_DEFAULT_CLASS
12292
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
12293
+ data: data,
12294
+ shopConfigStyle: shopConfigStyle
12295
+ }), /*#__PURE__*/React__default.createElement("div", {
12296
+ className: "grid grid-cols-1 sm:grid-cols-3 gap-4 lg:gap-6 mt-6"
12297
+ }, sectionData && sectionData.length > 0 && sectionData.map(function (item, index) {
12298
+ return /*#__PURE__*/React__default.createElement("img", {
12299
+ src: item === null || item === void 0 ? void 0 : item.srcImage,
12300
+ alt: "",
12301
+ className: "rounded-2xl",
12302
+ key: "hnfhn-" + index
12303
+ });
12304
+ })));
12305
+ };
12306
+
12307
+ var Banner2 = function Banner2(props) {
12308
+ var data = props.data,
12309
+ shopConfigStyle = props.shopConfigStyle,
12310
+ _props$SectionTitle = props.SectionTitle,
12311
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
12312
+ var sectionData = data === null || data === void 0 ? void 0 : data.data;
12313
+ var _useState = React.useState(0),
12314
+ currentSlide = _useState[0],
12315
+ setCurrentSlide = _useState[1];
12316
+ function RenderArrow(props) {
12317
+ var className = props.className,
12318
+ style = props.style,
12319
+ onClick = props.onClick;
12320
+ return /*#__PURE__*/React__default.createElement("div", {
12321
+ className: className,
12322
+ style: _extends({}, style, {
12323
+ display: "none"
12324
+ }),
12325
+ onClick: onClick
12326
+ });
12327
+ }
12328
+ return /*#__PURE__*/React__default.createElement("div", {
12329
+ className: "" + SECTION_DEFAULT_CLASS
12330
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
12331
+ data: data,
12332
+ shopConfigStyle: shopConfigStyle
11866
12333
  }), /*#__PURE__*/React__default.createElement(Slider, {
11867
- className: "center",
12334
+ className: "center mt-6 lg:mt-12",
11868
12335
  infinite: false,
11869
12336
  slidesToShow: 2,
11870
12337
  speed: 500,
@@ -12324,11 +12791,10 @@ var Footer1 = function Footer1(props) {
12324
12791
  href: "/",
12325
12792
  className: "flex items-center"
12326
12793
  }, /*#__PURE__*/React__default.createElement("img", {
12327
- className: "object-cover w-16 h-16",
12328
- src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
12329
- alt: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName
12794
+ className: "object-cover w-14 max-h-14",
12795
+ src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl
12330
12796
  }), /*#__PURE__*/React__default.createElement("h3", {
12331
- className: " text-2xl md:text-3xl font-semibold ms-2",
12797
+ className: "text-2xl md:text-3xl ms-2 font-headingFont ",
12332
12798
  style: {
12333
12799
  color: primary
12334
12800
  }
@@ -12469,11 +12935,10 @@ var Footer7 = function Footer7(props) {
12469
12935
  href: "/",
12470
12936
  className: "flex items-center gap-2"
12471
12937
  }, /*#__PURE__*/React__default.createElement("img", {
12472
- className: "object-cover w-14",
12473
- src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
12474
- alt: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName
12938
+ className: "object-cover w-14 max-h-14",
12939
+ src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl
12475
12940
  }), /*#__PURE__*/React__default.createElement("h3", {
12476
- className: " text-2xl md:text-3xl ms-2",
12941
+ className: " text-2xl md:text-3xl ms-2 font-headingFont ",
12477
12942
  style: {
12478
12943
  color: primary
12479
12944
  }
@@ -12733,6 +13198,46 @@ var CustomerRating6 = function CustomerRating6(props) {
12733
13198
  }))));
12734
13199
  };
12735
13200
 
13201
+ var CustomerRating8 = function CustomerRating8(props) {
13202
+ var _data$data;
13203
+ var _props$shopConfigStyl = props.shopConfigStyle,
13204
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
13205
+ _props$data = props.data,
13206
+ data = _props$data === void 0 ? {} : _props$data,
13207
+ _props$SectionTitle = props.SectionTitle,
13208
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
13209
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
13210
+ className: SECTION_CLASS + " !my-0 py-12 bg-bgSecondary"
13211
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
13212
+ data: data,
13213
+ shopConfigStyle: shopConfigStyle
13214
+ }), /*#__PURE__*/React__default.createElement("div", {
13215
+ className: " mt-6 md:mt-12 grid grid-cols-1 md:grid-cols-3 gap-6"
13216
+ }, data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.map(function (item, index) {
13217
+ return /*#__PURE__*/React__default.createElement("div", {
13218
+ className: "flex flex-col items-center gap-2 p-4 border border-stroke rounded-2xl ",
13219
+ key: "ht-" + index
13220
+ }, /*#__PURE__*/React__default.createElement("img", {
13221
+ src: item === null || item === void 0 ? void 0 : item.avatar,
13222
+ className: "w-40 h-40 rounded-full object-cover border-8 border-stroke"
13223
+ }), /*#__PURE__*/React__default.createElement("div", {
13224
+ className: "text-xl text-primary"
13225
+ }, item === null || item === void 0 ? void 0 : item.name), /*#__PURE__*/React__default.createElement("div", {
13226
+ className: "text-gray3"
13227
+ }, item === null || item === void 0 ? void 0 : item.description), /*#__PURE__*/React__default.createElement("div", {
13228
+ className: "flex gap-2 "
13229
+ }, /*#__PURE__*/React__default.createElement(ri.RiDoubleQuotesL, {
13230
+ className: "text-gray3",
13231
+ size: 36
13232
+ }), /*#__PURE__*/React__default.createElement("div", {
13233
+ className: "pt-4"
13234
+ }, item === null || item === void 0 ? void 0 : item.content), /*#__PURE__*/React__default.createElement(ri.RiDoubleQuotesL, {
13235
+ className: " mt-auto text-gray3",
13236
+ size: 36
13237
+ })));
13238
+ }))));
13239
+ };
13240
+
12736
13241
  var CustomerRating10 = function CustomerRating10(props) {
12737
13242
  var _data$data;
12738
13243
  var _props$shopConfigStyl = props.shopConfigStyle,
@@ -12907,7 +13412,65 @@ var Gallery1 = function Gallery1(props) {
12907
13412
  }));
12908
13413
  };
12909
13414
 
12910
- var PageTitle1 = function PageTitle1(props) {
13415
+ var Gallery1$1 = function Gallery1(props) {
13416
+ var _data$data, _data$data$slice, _data$data2, _data$data2$slice, _data$data3, _data$data3$slice;
13417
+ var _props$shopConfigStyl = props.shopConfigStyle,
13418
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
13419
+ _props$data = props.data,
13420
+ data = _props$data === void 0 ? {} : _props$data,
13421
+ _props$SectionTitle = props.SectionTitle,
13422
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
13423
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
13424
+ className: "" + SECTION_DEFAULT_CLASS
13425
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
13426
+ data: data,
13427
+ shopConfigStyle: shopConfigStyle
13428
+ }), /*#__PURE__*/React__default.createElement("div", {
13429
+ className: "grid grid-cols-3 gap-2 md:gap-6 mt-6 md:mt-12"
13430
+ }, /*#__PURE__*/React__default.createElement("div", {
13431
+ className: "flex flex-col gap-2 md:gap-4"
13432
+ }, data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : (_data$data$slice = _data$data.slice(0, 2)) === null || _data$data$slice === void 0 ? void 0 : _data$data$slice.map(function (item, index) {
13433
+ return /*#__PURE__*/React__default.createElement("img", {
13434
+ src: item === null || item === void 0 ? void 0 : item.srcImage,
13435
+ className: "w-full h-full object-cover rounded-xl md:rounded-2xl"
13436
+ });
13437
+ })), /*#__PURE__*/React__default.createElement("div", {
13438
+ className: "flex flex-col gap-2 md:gap-4"
13439
+ }, data === null || data === void 0 ? void 0 : (_data$data2 = data.data) === null || _data$data2 === void 0 ? void 0 : (_data$data2$slice = _data$data2.slice(2, 4)) === null || _data$data2$slice === void 0 ? void 0 : _data$data2$slice.map(function (item, index) {
13440
+ return /*#__PURE__*/React__default.createElement("img", {
13441
+ src: item === null || item === void 0 ? void 0 : item.srcImage,
13442
+ className: "w-full h-full object-cover rounded-xl md:rounded-2xl odd:h-[130%]"
13443
+ });
13444
+ })), /*#__PURE__*/React__default.createElement("div", {
13445
+ className: "flex flex-col gap-2 md:gap-4"
13446
+ }, data === null || data === void 0 ? void 0 : (_data$data3 = data.data) === null || _data$data3 === void 0 ? void 0 : (_data$data3$slice = _data$data3.slice(4, 6)) === null || _data$data3$slice === void 0 ? void 0 : _data$data3$slice.map(function (item, index) {
13447
+ return /*#__PURE__*/React__default.createElement("img", {
13448
+ src: item === null || item === void 0 ? void 0 : item.srcImage,
13449
+ className: "w-full h-full object-cover rounded-xl md:rounded-2xl even:h-[130%]"
13450
+ });
13451
+ })))));
13452
+ };
13453
+
13454
+ var PageTitle1 = function PageTitle1(props) {
13455
+ var _sectionData$;
13456
+ var data = props.data,
13457
+ route = props.route;
13458
+ var sectionData = data === null || data === void 0 ? void 0 : data.data;
13459
+ return /*#__PURE__*/React__default.createElement("div", {
13460
+ className: "relative w-full bg-cover bg-center bg-no-repeat ",
13461
+ style: {
13462
+ backgroundImage: "url(" + (sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$ = sectionData[0]) === null || _sectionData$ === void 0 ? void 0 : _sectionData$.srcImage) + ")"
13463
+ }
13464
+ }, /*#__PURE__*/React__default.createElement("div", {
13465
+ className: "absolute top-0 w-full h-full bg-black opacity-40 z-0"
13466
+ }), /*#__PURE__*/React__default.createElement("div", {
13467
+ className: "relative w-full p-20 z-10 flex flex-col gap-6 items-center justify-center"
13468
+ }, /*#__PURE__*/React__default.createElement("h2", {
13469
+ className: "text-3xl md:text-5xl text-white leading-[1.6] md:leading-[1.6] text-center font-headingFont"
13470
+ }, data !== null && data !== void 0 && data.sectionTitle ? data === null || data === void 0 ? void 0 : data.sectionTitle : route === null || route === void 0 ? void 0 : route.label)));
13471
+ };
13472
+
13473
+ var PageTitle2 = function PageTitle2(props) {
12911
13474
  var _sectionData$;
12912
13475
  var data = props.data,
12913
13476
  route = props.route;
@@ -12923,7 +13486,103 @@ var PageTitle1 = function PageTitle1(props) {
12923
13486
  className: "relative w-full p-20 z-10 flex flex-col gap-6 items-center justify-center"
12924
13487
  }, /*#__PURE__*/React__default.createElement("h2", {
12925
13488
  className: "text-3xl md:text-5xl text-white leading-[1.6] md:leading-[1.6] text-center font-headingFont"
12926
- }, sectionData !== null && sectionData !== void 0 && sectionData.sectionTitle ? sectionData === null || sectionData === void 0 ? void 0 : sectionData.sectionTitle : route === null || route === void 0 ? void 0 : route.label)));
13489
+ }, data !== null && data !== void 0 && data.sectionTitle ? data === null || data === void 0 ? void 0 : data.sectionTitle : route === null || route === void 0 ? void 0 : route.label), data !== null && data !== void 0 && data.sectionDescription ? /*#__PURE__*/React__default.createElement("div", {
13490
+ className: "text-lg md:text-2xl text-white"
13491
+ }, data === null || data === void 0 ? void 0 : data.sectionDescription) : null));
13492
+ };
13493
+
13494
+ var Breadcrumb1 = function Breadcrumb1(props) {
13495
+ var shopConfigStyle = props.shopConfigStyle,
13496
+ route = props.route,
13497
+ _props$routes = props.routes,
13498
+ routes = _props$routes === void 0 ? [] : _props$routes,
13499
+ _props$Link = props.Link,
13500
+ Link = _props$Link === void 0 ? null : _props$Link,
13501
+ _props$className = props.className,
13502
+ className = _props$className === void 0 ? "" : _props$className,
13503
+ _props$routeClassName = props.routeClassName,
13504
+ routeClassName = _props$routeClassName === void 0 ? "" : _props$routeClassName;
13505
+ var _shopConfigStyle$colo = shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.color,
13506
+ _shopConfigStyle$colo3 = _shopConfigStyle$colo.textHeading,
13507
+ textHeading = _shopConfigStyle$colo3 === void 0 ? "#000" : _shopConfigStyle$colo3;
13508
+ var _useState = React.useState([]),
13509
+ items = _useState[0],
13510
+ setItems = _useState[1];
13511
+ React.useEffect(function () {
13512
+ getItems();
13513
+ }, [route]);
13514
+ var getItems = function getItems() {
13515
+ var _route$route, _route$route$split, _route$route$split$fi, _items, _items2;
13516
+ var items = route === null || route === void 0 ? void 0 : (_route$route = route.route) === null || _route$route === void 0 ? void 0 : (_route$route$split = _route$route.split("/")) === null || _route$route$split === void 0 ? void 0 : (_route$route$split$fi = _route$route$split.filter(function (e) {
13517
+ return e === null || e === void 0 ? void 0 : e.length;
13518
+ })) === null || _route$route$split$fi === void 0 ? void 0 : _route$route$split$fi.slice(0, 2);
13519
+ items = (_items = items) === null || _items === void 0 ? void 0 : _items.map(function (e) {
13520
+ var _e, _e$replace, _e$replace$replace, _e$replace$replace$re;
13521
+ if (e === "product") e = "products";else if (e === "service") e = "services";
13522
+ return (routes === null || routes === void 0 ? void 0 : routes.find(function (r) {
13523
+ return (r === null || r === void 0 ? void 0 : r.name) === e;
13524
+ })) || {
13525
+ label: (_e = e) === null || _e === void 0 ? void 0 : (_e$replace = _e.replace(/-{3}/g, "###")) === null || _e$replace === void 0 ? void 0 : (_e$replace$replace = _e$replace.replace(/-/g, " ")) === null || _e$replace$replace === void 0 ? void 0 : (_e$replace$replace$re = _e$replace$replace.replace(/###/g, "-")) === null || _e$replace$replace$re === void 0 ? void 0 : _e$replace$replace$re.replace(/~/g, "/")
13526
+ };
13527
+ });
13528
+ (_items2 = items) === null || _items2 === void 0 ? void 0 : _items2.unshift({
13529
+ name: "home",
13530
+ label: "Trang chủ",
13531
+ route: "/"
13532
+ });
13533
+ console.log(items);
13534
+ setItems(items);
13535
+ };
13536
+ return /*#__PURE__*/React__default.createElement("div", {
13537
+ className: SECTION_DEFAULT_CLASS + " !my-6 flex gap-2 overflow-x-auto scroll-custom " + className
13538
+ }, items === null || items === void 0 ? void 0 : items.map(function (item, index) {
13539
+ return /*#__PURE__*/React__default.createElement("div", {
13540
+ key: index,
13541
+ className: "flex gap-2 flex-shrink-0"
13542
+ }, index ? /*#__PURE__*/React__default.createElement("div", {
13543
+ className: "text-gray4"
13544
+ }, "/") : null, item !== null && item !== void 0 && item.route ? /*#__PURE__*/React__default.createElement(LinkToPage, {
13545
+ Link: Link,
13546
+ href: convertURL(item === null || item === void 0 ? void 0 : item.route) || "#",
13547
+ style: {
13548
+ color: textHeading
13549
+ },
13550
+ className: routeClassName
13551
+ }, item === null || item === void 0 ? void 0 : item.label) : /*#__PURE__*/React__default.createElement("div", null, item === null || item === void 0 ? void 0 : item.label));
13552
+ }));
13553
+ };
13554
+
13555
+ var PageTitle3 = function PageTitle3(props) {
13556
+ var _sectionData$, _route$route, _route$route$split, _route$route$split$fi, _route$route$split$fi2, _route$route$split$fi3, _route$route$split$fi4, _route$route$split$fi5;
13557
+ var data = props.data,
13558
+ route = props.route,
13559
+ shopConfigStyle = props.shopConfigStyle,
13560
+ _props$routes = props.routes,
13561
+ routes = _props$routes === void 0 ? [] : _props$routes,
13562
+ _props$Link = props.Link,
13563
+ Link = _props$Link === void 0 ? null : _props$Link;
13564
+ var sectionData = data === null || data === void 0 ? void 0 : data.data;
13565
+ return /*#__PURE__*/React__default.createElement("div", {
13566
+ className: "relative w-full bg-cover bg-center bg-no-repeat mb-6 md:mb-12 ",
13567
+ style: {
13568
+ backgroundImage: "url(" + (sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$ = sectionData[0]) === null || _sectionData$ === void 0 ? void 0 : _sectionData$.srcImage) + ")"
13569
+ }
13570
+ }, /*#__PURE__*/React__default.createElement("div", {
13571
+ className: "absolute top-0 w-full h-full bg-black opacity-60 z-0"
13572
+ }), /*#__PURE__*/React__default.createElement("div", {
13573
+ className: "relative w-full p-20 z-10 flex flex-col items-center justify-center"
13574
+ }, /*#__PURE__*/React__default.createElement("h2", {
13575
+ className: "text-3xl md:text-5xl text-white leading-[1.6] md:leading-[1.6] text-center font-headingFont"
13576
+ }, route === null || route === void 0 ? void 0 : (_route$route = route.route) === null || _route$route === void 0 ? void 0 : (_route$route$split = _route$route.split("/")) === null || _route$route$split === void 0 ? void 0 : (_route$route$split$fi = _route$route$split.filter(function (e) {
13577
+ return e === null || e === void 0 ? void 0 : e.length;
13578
+ })) === null || _route$route$split$fi === void 0 ? void 0 : (_route$route$split$fi2 = _route$route$split$fi.at(-1)) === null || _route$route$split$fi2 === void 0 ? void 0 : (_route$route$split$fi3 = _route$route$split$fi2.replace(/-{3}/g, "###")) === null || _route$route$split$fi3 === void 0 ? void 0 : (_route$route$split$fi4 = _route$route$split$fi3.replace(/-/g, " ")) === null || _route$route$split$fi4 === void 0 ? void 0 : (_route$route$split$fi5 = _route$route$split$fi4.replace(/###/g, "-")) === null || _route$route$split$fi5 === void 0 ? void 0 : _route$route$split$fi5.replace(/~/g, "/")), /*#__PURE__*/React__default.createElement(Breadcrumb1, {
13579
+ className: "!bg-transparent !text-gray4",
13580
+ routeClassName: "!text-textButton",
13581
+ shopConfigStyle: shopConfigStyle,
13582
+ route: route,
13583
+ routes: routes,
13584
+ Link: Link
13585
+ })));
12927
13586
  };
12928
13587
 
12929
13588
  var About1 = function About1(props) {
@@ -12938,7 +13597,7 @@ var About1 = function About1(props) {
12938
13597
  data: data,
12939
13598
  shopConfigStyle: shopConfigStyle
12940
13599
  }) : null, /*#__PURE__*/React__default.createElement("div", {
12941
- className: "text-wrap",
13600
+ className: "text-wrap ck-content",
12942
13601
  dangerouslySetInnerHTML: {
12943
13602
  __html: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopAbout
12944
13603
  }
@@ -12963,7 +13622,7 @@ var About5 = function About5(props) {
12963
13622
  className: "grid grid-cols-1 lg:grid-cols-2 gap-12 mt-4 md:mt-6"
12964
13623
  }, /*#__PURE__*/React__default.createElement("img", {
12965
13624
  src: sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$ = sectionData[0]) === null || _sectionData$ === void 0 ? void 0 : _sectionData$.srcImage,
12966
- className: "w-full hidden lg:block rounded-xl"
13625
+ className: "w-full object-cover hidden lg:block rounded-xl"
12967
13626
  }), /*#__PURE__*/React__default.createElement("div", {
12968
13627
  className: "ck-content text-wrap",
12969
13628
  dangerouslySetInnerHTML: {
@@ -12971,7 +13630,7 @@ var About5 = function About5(props) {
12971
13630
  }
12972
13631
  }), /*#__PURE__*/React__default.createElement("img", {
12973
13632
  src: sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$2 = sectionData[0]) === null || _sectionData$2 === void 0 ? void 0 : _sectionData$2.srcImage,
12974
- className: "w-full block lg:hidden rounded-xl"
13633
+ className: "w-full block object-cover lg:hidden rounded-xl"
12975
13634
  })));
12976
13635
  };
12977
13636
 
@@ -13050,62 +13709,6 @@ var Contact1 = function Contact1(props) {
13050
13709
  }) : null));
13051
13710
  };
13052
13711
 
13053
- var Breadcrumb1 = function Breadcrumb1(props) {
13054
- var shopConfigStyle = props.shopConfigStyle,
13055
- route = props.route,
13056
- _props$routes = props.routes,
13057
- routes = _props$routes === void 0 ? [] : _props$routes,
13058
- _props$Link = props.Link,
13059
- Link = _props$Link === void 0 ? null : _props$Link;
13060
- var _shopConfigStyle$colo = shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.color,
13061
- _shopConfigStyle$colo3 = _shopConfigStyle$colo.textHeading,
13062
- textHeading = _shopConfigStyle$colo3 === void 0 ? "#000" : _shopConfigStyle$colo3;
13063
- var _useState = React.useState([]),
13064
- items = _useState[0],
13065
- setItems = _useState[1];
13066
- React.useEffect(function () {
13067
- getItems();
13068
- }, [route]);
13069
- var getItems = function getItems() {
13070
- var _route$route, _route$route$split, _route$route$split$fi, _items, _items2;
13071
- var items = route === null || route === void 0 ? void 0 : (_route$route = route.route) === null || _route$route === void 0 ? void 0 : (_route$route$split = _route$route.split("/")) === null || _route$route$split === void 0 ? void 0 : (_route$route$split$fi = _route$route$split.filter(function (e) {
13072
- return e === null || e === void 0 ? void 0 : e.length;
13073
- })) === null || _route$route$split$fi === void 0 ? void 0 : _route$route$split$fi.slice(0, 2);
13074
- items = (_items = items) === null || _items === void 0 ? void 0 : _items.map(function (e) {
13075
- var _e, _e$replace, _e$replace$replace, _e$replace$replace$re;
13076
- if (e === "product") e = "products";else if (e === "service") e = "services";
13077
- return (routes === null || routes === void 0 ? void 0 : routes.find(function (r) {
13078
- return (r === null || r === void 0 ? void 0 : r.name) === e;
13079
- })) || {
13080
- label: (_e = e) === null || _e === void 0 ? void 0 : (_e$replace = _e.replace(/-{3}/g, "###")) === null || _e$replace === void 0 ? void 0 : (_e$replace$replace = _e$replace.replace(/-/g, " ")) === null || _e$replace$replace === void 0 ? void 0 : (_e$replace$replace$re = _e$replace$replace.replace(/###/g, "-")) === null || _e$replace$replace$re === void 0 ? void 0 : _e$replace$replace$re.replace(/~/g, "/")
13081
- };
13082
- });
13083
- (_items2 = items) === null || _items2 === void 0 ? void 0 : _items2.unshift({
13084
- name: "home",
13085
- label: "Trang chủ",
13086
- route: "/"
13087
- });
13088
- console.log(items);
13089
- setItems(items);
13090
- };
13091
- return /*#__PURE__*/React__default.createElement("div", {
13092
- className: SECTION_DEFAULT_CLASS + " !my-6 flex gap-2 overflow-x-auto scroll-custom"
13093
- }, items === null || items === void 0 ? void 0 : items.map(function (item, index) {
13094
- return /*#__PURE__*/React__default.createElement("div", {
13095
- key: index,
13096
- className: "flex gap-2 flex-shrink-0"
13097
- }, index ? /*#__PURE__*/React__default.createElement("div", {
13098
- className: "text-gray4"
13099
- }, "/") : null, item !== null && item !== void 0 && item.route ? /*#__PURE__*/React__default.createElement(LinkToPage, {
13100
- Link: Link,
13101
- href: convertURL(item === null || item === void 0 ? void 0 : item.route) || "#",
13102
- style: {
13103
- color: textHeading
13104
- }
13105
- }, item === null || item === void 0 ? void 0 : item.label) : /*#__PURE__*/React__default.createElement("div", null, item === null || item === void 0 ? void 0 : item.label));
13106
- }));
13107
- };
13108
-
13109
13712
  var getRegionApi = function getRegionApi(parentId) {
13110
13713
  return api({
13111
13714
  method: "get",
@@ -13223,96 +13826,6 @@ var RegionController = function RegionController(props) {
13223
13826
  };
13224
13827
  };
13225
13828
 
13226
- var TextArea = React.forwardRef(function (props, ref) {
13227
- var _props$label = props.label,
13228
- label = _props$label === void 0 ? "" : _props$label,
13229
- _props$placeholder = props.placeholder,
13230
- placeholder = _props$placeholder === void 0 ? "" : _props$placeholder,
13231
- _props$rules = props.rules,
13232
- rules = _props$rules === void 0 ? [] : _props$rules,
13233
- _props$textareaClassN = props.textareaClassName,
13234
- textareaClassName = _props$textareaClassN === void 0 ? "" : _props$textareaClassN,
13235
- _props$className = props.className,
13236
- className = _props$className === void 0 ? "" : _props$className,
13237
- _props$defaultValue = props.defaultValue,
13238
- defaultValue = _props$defaultValue === void 0 ? "" : _props$defaultValue,
13239
- _props$labelClassName = props.labelClassName,
13240
- labelClassName = _props$labelClassName === void 0 ? "" : _props$labelClassName,
13241
- _props$onChange = props.onChange,
13242
- onChange = _props$onChange === void 0 ? function () {} : _props$onChange;
13243
- var _useState = React.useState(defaultValue),
13244
- value = _useState[0],
13245
- _setValue = _useState[1];
13246
- var _useState2 = React.useState(""),
13247
- error = _useState2[0],
13248
- _setError = _useState2[1];
13249
- React.useImperativeHandle(ref, function () {
13250
- return {
13251
- validateData: function validateData() {
13252
- return _validateData();
13253
- },
13254
- setValue: function setValue(text) {
13255
- return _setValue(text);
13256
- },
13257
- getValue: function getValue() {
13258
- return value;
13259
- },
13260
- setError: function setError(err) {
13261
- return _setError(err);
13262
- }
13263
- };
13264
- });
13265
- var _validateData = function _validateData() {
13266
- var count = 0;
13267
- for (var _iterator = _createForOfIteratorHelperLoose(rules), _step; !(_step = _iterator()).done;) {
13268
- var _e$pattern;
13269
- var e = _step.value;
13270
- if ((e === null || e === void 0 ? void 0 : e.type) === 'required' && value === '') {
13271
- _setError(e === null || e === void 0 ? void 0 : e.message);
13272
- count++;
13273
- break;
13274
- } else if ((e === null || e === void 0 ? void 0 : e.type) === 'pattern' && !(e !== null && e !== void 0 && (_e$pattern = e.pattern) !== null && _e$pattern !== void 0 && _e$pattern.test(value))) {
13275
- _setError(e === null || e === void 0 ? void 0 : e.message);
13276
- count++;
13277
- break;
13278
- }
13279
- }
13280
- if (count) {
13281
- return false;
13282
- } else {
13283
- _setError('');
13284
- return true;
13285
- }
13286
- };
13287
- var handleOnChangeValue = function handleOnChangeValue(e) {
13288
- var value = e.target.value;
13289
- _setValue(value);
13290
- onChange === null || onChange === void 0 ? void 0 : onChange(value);
13291
- };
13292
- var required = !!(rules !== null && rules !== void 0 && rules.find(function (e) {
13293
- return (e === null || e === void 0 ? void 0 : e.type) === "required";
13294
- }));
13295
- var labelRequired = required ? /*#__PURE__*/React__default.createElement("span", {
13296
- className: "text-danger"
13297
- }, " *") : null;
13298
- return /*#__PURE__*/React__default.createElement("div", {
13299
- className: "" + className
13300
- }, label ? /*#__PURE__*/React__default.createElement("div", {
13301
- className: "mb-1 " + labelClassName
13302
- }, label, labelRequired) : null, /*#__PURE__*/React__default.createElement("textarea", {
13303
- name: "",
13304
- id: "",
13305
- className: "focus:outline-none focus:ring-0 " + textareaClassName,
13306
- placeholder: placeholder,
13307
- value: value,
13308
- onChange: function onChange(e) {
13309
- handleOnChangeValue(e);
13310
- }
13311
- }), error ? /*#__PURE__*/React__default.createElement("div", {
13312
- className: "text-danger"
13313
- }, error) : null);
13314
- });
13315
-
13316
13829
  var FormCheckout = React.forwardRef(function (props, ref) {
13317
13830
  var _props$label = props.label,
13318
13831
  label = _props$label === void 0 ? "" : _props$label,
@@ -14386,6 +14899,37 @@ var ShopHighlights7 = function ShopHighlights7(props) {
14386
14899
  }));
14387
14900
  };
14388
14901
 
14902
+ var ShopHighlights8 = function ShopHighlights8(props) {
14903
+ var data = props.data,
14904
+ _props$Link = props.Link,
14905
+ Link = _props$Link === void 0 ? null : _props$Link,
14906
+ _props$SectionTitle = props.SectionTitle,
14907
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
14908
+ var sectionData = data === null || data === void 0 ? void 0 : data.data;
14909
+ return /*#__PURE__*/React__default.createElement("div", {
14910
+ className: SECTION_CLASS + " flex flex-col gap-6 md:gap-10"
14911
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
14912
+ data: data
14913
+ }), /*#__PURE__*/React__default.createElement("div", {
14914
+ className: "grid grid-cols-2 lg:grid-cols-4 gap-4 md:gap-10"
14915
+ }, sectionData === null || sectionData === void 0 ? void 0 : sectionData.map(function (item, index) {
14916
+ return /*#__PURE__*/React__default.createElement(LinkToPage, {
14917
+ Link: Link,
14918
+ href: convertURL(item === null || item === void 0 ? void 0 : item.route) || (item === null || item === void 0 ? void 0 : item.link) || "#",
14919
+ key: "kdf-" + index
14920
+ }, /*#__PURE__*/React__default.createElement("div", {
14921
+ className: "flex flex-col h-full gap-3"
14922
+ }, /*#__PURE__*/React__default.createElement("img", {
14923
+ src: item === null || item === void 0 ? void 0 : item.srcImage,
14924
+ className: "object-cover"
14925
+ }), /*#__PURE__*/React__default.createElement("div", {
14926
+ className: "text-2xl text-textBody"
14927
+ }, item === null || item === void 0 ? void 0 : item.title), /*#__PURE__*/React__default.createElement("div", {
14928
+ className: "flex-grow text-textBody leading-relaxed"
14929
+ }, item === null || item === void 0 ? void 0 : item.description)));
14930
+ })));
14931
+ };
14932
+
14389
14933
  var VideoFull1 = function VideoFull1(props) {
14390
14934
  var _data$data, _data$data$;
14391
14935
  var shopConfigStyle = props.shopConfigStyle,
@@ -14957,6 +15501,7 @@ exports.BannerFull1 = BannerFull1;
14957
15501
  exports.BannerFull2 = BannerFull2;
14958
15502
  exports.Booking1 = Booking1;
14959
15503
  exports.BookingForm6 = BookingForm6;
15504
+ exports.BookingTable1 = BookingTable1;
14960
15505
  exports.Breadcrumb1 = Breadcrumb1;
14961
15506
  exports.Button = Button;
14962
15507
  exports.Carts1 = Carts1;
@@ -14965,6 +15510,7 @@ exports.CustomerRating1 = CustomerRating1;
14965
15510
  exports.CustomerRating10 = CustomerRating10;
14966
15511
  exports.CustomerRating5 = CustomerRating5;
14967
15512
  exports.CustomerRating6 = CustomerRating6;
15513
+ exports.CustomerRating8 = CustomerRating8;
14968
15514
  exports.DateTimePicker = DateTimePicker;
14969
15515
  exports.Employees1 = Employees1;
14970
15516
  exports.Features2 = Features2;
@@ -14972,9 +15518,11 @@ exports.Features3 = Features3;
14972
15518
  exports.Footer1 = Footer1;
14973
15519
  exports.Footer7 = Footer7;
14974
15520
  exports.Gallery1 = Gallery1;
15521
+ exports.Gallery2 = Gallery1$1;
14975
15522
  exports.Hero1 = Hero1;
14976
15523
  exports.Hero10 = Hero10;
14977
- exports.Hero12 = Hero11;
15524
+ exports.Hero11 = Hero11;
15525
+ exports.Hero12 = Hero12;
14978
15526
  exports.Hero13 = Hero13;
14979
15527
  exports.Hero2 = Hero2;
14980
15528
  exports.Hero5 = Hero5;
@@ -14989,6 +15537,8 @@ exports.News1 = News1;
14989
15537
  exports.NewsDetail1 = NewsDetail1;
14990
15538
  exports.NewsHighlight1 = NewsHighlight1;
14991
15539
  exports.PageTitle1 = PageTitle1;
15540
+ exports.PageTitle2 = PageTitle2;
15541
+ exports.PageTitle3 = PageTitle3;
14992
15542
  exports.Partner1 = Partner1;
14993
15543
  exports.ProductCategory2 = ProductCategory2;
14994
15544
  exports.ProductDetail10 = ProductDetail10;
@@ -15003,12 +15553,14 @@ exports.ProductItem4 = ProductItem4;
15003
15553
  exports.ProductItem5 = ProductItem5;
15004
15554
  exports.ProductItem6 = ProductItem6;
15005
15555
  exports.ProductItem7 = ProductItem7;
15556
+ exports.ProductItem8 = ProductItem8;
15006
15557
  exports.ProductList5 = ProductList5;
15007
15558
  exports.ProductList7 = ProductList7;
15008
15559
  exports.ProductSale2 = ProductSale2;
15009
15560
  exports.ProductSearch1 = ProductSearch1;
15010
15561
  exports.Products10 = Products10;
15011
15562
  exports.Products11 = Products11;
15563
+ exports.Products12 = Products12;
15012
15564
  exports.Products2 = Products2;
15013
15565
  exports.Products3 = Products3;
15014
15566
  exports.Products9 = Products9;
@@ -15020,12 +15572,14 @@ exports.SearchProduct1 = SearchProduct1;
15020
15572
  exports.SectionTitle1 = SectionTitle1;
15021
15573
  exports.SectionTitle2 = SectionTitle2;
15022
15574
  exports.SectionTitle3 = SectionTitle3;
15575
+ exports.SectionTitle4 = SectionTitle4;
15023
15576
  exports.Select = Select$1;
15024
15577
  exports.ServiceDetail1 = ServiceDetail1;
15025
15578
  exports.ShopHighlights2 = ShopHighlights2;
15026
15579
  exports.ShopHighlights5 = ShopHighlights5;
15027
15580
  exports.ShopHighlights6 = ShopHighlights6;
15028
15581
  exports.ShopHighlights7 = ShopHighlights7;
15582
+ exports.ShopHighlights8 = ShopHighlights8;
15029
15583
  exports.TextArea = TextArea;
15030
15584
  exports.TreatmentDetail1 = TreatmentDetail1;
15031
15585
  exports.TreatmentItem1 = TreatmentItem1;