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.
@@ -18,7 +18,7 @@ import 'slick-carousel/slick/slick.css';
18
18
  import 'slick-carousel/slick/slick-theme.css';
19
19
  import { AiOutlineShoppingCart, AiOutlineInfoCircle, AiOutlinePhone } from 'react-icons/ai';
20
20
  import { GoCreditCard, GoClock } from 'react-icons/go';
21
- import { RiMessengerFill, RiDeleteBin7Line } from 'react-icons/ri';
21
+ import { RiMessengerFill, RiDoubleQuotesL, RiDeleteBin7Line } from 'react-icons/ri';
22
22
  import { HiOutlineLocationMarker, HiOutlineArrowNarrowLeft, HiOutlineArrowNarrowRight } from 'react-icons/hi';
23
23
  import { GiNewspaper } from 'react-icons/gi';
24
24
 
@@ -425,18 +425,17 @@ var NavBar7 = function NavBar7(props) {
425
425
  position: "fixed",
426
426
  top: "-100px"
427
427
  }
428
- }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.defaultDomain, " | ", shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName), /*#__PURE__*/React__default.createElement("div", {
428
+ }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName), /*#__PURE__*/React__default.createElement("div", {
429
429
  className: "hidden lg:flex gap-6 justify-between items-center py-2 px-4 xl:px-20"
430
430
  }, /*#__PURE__*/React__default.createElement(LinkToPage, {
431
431
  Link: Link,
432
432
  href: "/",
433
433
  className: "flex items-center gap-2"
434
434
  }, /*#__PURE__*/React__default.createElement("img", {
435
- className: "object-cover w-12 h-12",
436
- src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
437
- alt: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName
435
+ className: "object-cover w-12 max-h-12",
436
+ src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl
438
437
  }), /*#__PURE__*/React__default.createElement("h3", {
439
- className: "text-xl md:text-2xl text-primary text-wrap line-clamp-2 leading-tight"
438
+ className: "text-xl md:text-2xl text-primary font-headingFont text-wrap line-clamp-2 leading-tight"
440
439
  }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName)), /*#__PURE__*/React__default.createElement("div", {
441
440
  className: "hidden lg:flex flex-1 items-center gap-4"
442
441
  }, 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) {
@@ -496,11 +495,10 @@ var NavBar7 = function NavBar7(props) {
496
495
  href: "/",
497
496
  className: "flex flex-1 gap-2 items-center"
498
497
  }, /*#__PURE__*/React__default.createElement("img", {
499
- className: "object-cover w-12 h-12",
500
- src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
501
- alt: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName
498
+ className: "object-cover w-12 max-h-12",
499
+ src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl
502
500
  }), /*#__PURE__*/React__default.createElement("h3", {
503
- className: "text-xl md:text-2xl text-wrap text-primary line-clamp-2"
501
+ className: "text-xl md:text-2xl font-headingFont text-wrap text-primary line-clamp-2"
504
502
  }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName)), cart(), /*#__PURE__*/React__default.createElement("button", {
505
503
  type: "button",
506
504
  onClick: function onClick() {
@@ -528,12 +526,12 @@ var NavBar7 = function NavBar7(props) {
528
526
  return setIsOpen(false);
529
527
  }
530
528
  }, /*#__PURE__*/React__default.createElement("div", {
531
- className: "flex gap-2 items-center"
529
+ className: "flex gap-2 items-center mb-2"
532
530
  }, /*#__PURE__*/React__default.createElement("img", {
533
531
  src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
534
- className: "h-14 w-14 bg-cover bg-no-repeat"
532
+ className: "max-h-14 w-14 object-cover"
535
533
  }), /*#__PURE__*/React__default.createElement("h3", {
536
- className: "text-xl font-semibold line-clamp-1"
534
+ className: "text-xl font-headingFont text-primary line-clamp-1"
537
535
  }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName))), /*#__PURE__*/React__default.createElement("button", {
538
536
  className: "text-gray4",
539
537
  onClick: function onClick() {
@@ -727,11 +725,11 @@ var NavBar1 = function NavBar1(props) {
727
725
  href: "/",
728
726
  className: "flex items-center gap-2"
729
727
  }, /*#__PURE__*/React__default.createElement("img", {
730
- className: "object-cover w-12 h-12",
728
+ className: "object-cover w-12 max-h-12",
731
729
  src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
732
730
  alt: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName
733
731
  }), /*#__PURE__*/React__default.createElement("h3", {
734
- className: "text-xl md:text-2xl text-wrap font-fredoka text-primary"
732
+ className: "text-xl md:text-2xl text-wrap font-headingFont text-primary"
735
733
  }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName)), /*#__PURE__*/React__default.createElement("div", {
736
734
  className: "hidden lg:flex flex-1 items-center gap-4"
737
735
  }, 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) {
@@ -789,11 +787,11 @@ var NavBar1 = function NavBar1(props) {
789
787
  href: "/",
790
788
  className: "flex flex-1 gap-2 items-center"
791
789
  }, /*#__PURE__*/React__default.createElement("img", {
792
- className: "object-cover w-12 h-12",
790
+ className: "object-cover w-12 max-h-12",
793
791
  src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
794
792
  alt: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName
795
793
  }), /*#__PURE__*/React__default.createElement("h3", {
796
- className: "text-xl md:text-2xl text-wrap text-primary"
794
+ className: "text-xl md:text-2xl text-wrap text-primary font-headingFont"
797
795
  }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName)), cart(), /*#__PURE__*/React__default.createElement("button", {
798
796
  type: "button",
799
797
  onClick: function onClick() {
@@ -821,12 +819,12 @@ var NavBar1 = function NavBar1(props) {
821
819
  return setIsOpen(false);
822
820
  }
823
821
  }, /*#__PURE__*/React__default.createElement("div", {
824
- className: "flex gap-2 items-center"
822
+ className: "flex gap-2 items-center mb-2"
825
823
  }, /*#__PURE__*/React__default.createElement("img", {
826
824
  src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
827
- className: "h-14 w-14 bg-cover bg-no-repeat"
825
+ className: "max-h-14 w-14 bg-cover bg-no-repeat"
828
826
  }), /*#__PURE__*/React__default.createElement("div", {
829
- className: "text-xl line-clamp-1"
827
+ className: "text-xl font-headingFont text-primary line-clamp-1"
830
828
  }, shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName))), /*#__PURE__*/React__default.createElement("button", {
831
829
  className: "text-gray4",
832
830
  onClick: function onClick() {
@@ -962,6 +960,24 @@ var SectionTitle3 = function SectionTitle3(props) {
962
960
  }, data === null || data === void 0 ? void 0 : data.sectionDescription) : null);
963
961
  };
964
962
 
963
+ var SectionTitle4 = function SectionTitle4(props) {
964
+ var _data$sectionTitle;
965
+ var data = props.data;
966
+ return /*#__PURE__*/React__default.createElement("div", {
967
+ className: true
968
+ }, data !== null && data !== void 0 && data.sectionTitle ? /*#__PURE__*/React__default.createElement("div", {
969
+ className: "flex justify-center items-center gap-6"
970
+ }, /*#__PURE__*/React__default.createElement("div", {
971
+ className: "border w-32 border-primary"
972
+ }), /*#__PURE__*/React__default.createElement("h2", {
973
+ className: "font-headingFont !leading-relaxed text-primary text-center text-2xl md:text-4xl"
974
+ }, 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", {
975
+ className: "border w-32 border-primary"
976
+ })) : null, data !== null && data !== void 0 && data.sectionDescription ? /*#__PURE__*/React__default.createElement("p", {
977
+ className: "text-xl text-center font-medium leading-relaxed text-secondary mt-2"
978
+ }, data === null || data === void 0 ? void 0 : data.sectionDescription) : null);
979
+ };
980
+
965
981
  var Input = forwardRef(function (props, ref) {
966
982
  var _props$label = props.label,
967
983
  label = _props$label === void 0 ? "" : _props$label,
@@ -1270,7 +1286,7 @@ var Hero6 = function Hero6(props) {
1270
1286
  };
1271
1287
 
1272
1288
  var Hero10 = function Hero10(props) {
1273
- var _data$data, _data$data$, _data$data$$srcImages, _sectionData$, _sectionData$2, _sectionData$2$button;
1289
+ var _data$data, _data$data$, _data$data$$srcImages, _sectionData$, _sectionData$2, _sectionData$3, _sectionData$4, _sectionData$4$button;
1274
1290
  var shopConfigStyle = props.shopConfigStyle,
1275
1291
  data = props.data,
1276
1292
  _props$Link = props.Link,
@@ -1287,7 +1303,9 @@ var Hero10 = function Hero10(props) {
1287
1303
  className: "relative w-full min-h-[540px] p-12 z-10 flex flex-col gap-6 items-center justify-center"
1288
1304
  }, /*#__PURE__*/React__default.createElement("div", {
1289
1305
  className: "text-3xl md:text-5xl text-white leading-[1.6] md:leading-[1.6] text-center font-headingFont"
1290
- }, 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) {
1306
+ }, 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", {
1307
+ className: "text-lg text-center text-white md:text-2xl"
1308
+ }, 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) {
1291
1309
  return /*#__PURE__*/React__default.createElement(LinkToPage, {
1292
1310
  Link: Link,
1293
1311
  key: "gdf-" + index,
@@ -1299,7 +1317,51 @@ var Hero10 = function Hero10(props) {
1299
1317
  })));
1300
1318
  };
1301
1319
 
1320
+ var SECTION_DEFAULT_CLASS = "my-12 mx-4 xl:mx-20 bg-background";
1321
+ var SECTION_CLASS = "my-6 md:my-12 px-4 xl:px-20 bg-background";
1322
+
1302
1323
  var Hero11 = function Hero11(props) {
1324
+ var _data$data, _data$data$, _data$data$$srcImages, _data$data2, _data$data2$, _data$data2$$title, _data$data3, _data$data3$;
1325
+ var _props$data = props.data,
1326
+ data = _props$data === void 0 ? {} : _props$data,
1327
+ _props$shopConfigStyl = props.shopConfigStyle,
1328
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl;
1329
+ return /*#__PURE__*/React__default.createElement("div", {
1330
+ className: SECTION_CLASS + " grid grid-cols-1 md:grid-cols-2 py-12 !bg-bgSecondary gap-6 md:gap-12"
1331
+ }, /*#__PURE__*/React__default.createElement("div", {
1332
+ className: "flex w-full"
1333
+ }, /*#__PURE__*/React__default.createElement("div", {
1334
+ className: "w-4"
1335
+ }, /*#__PURE__*/React__default.createElement("div", {
1336
+ className: "bg-primary w-4 h-1/2 mt-6 "
1337
+ }), /*#__PURE__*/React__default.createElement("div", {
1338
+ className: "h-[45%]"
1339
+ })), /*#__PURE__*/React__default.createElement("div", {
1340
+ className: "w-full"
1341
+ }, /*#__PURE__*/React__default.createElement("img", {
1342
+ 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],
1343
+ className: "object-cover max-w-full h-auto"
1344
+ })), /*#__PURE__*/React__default.createElement("div", {
1345
+ className: "w-4"
1346
+ }, /*#__PURE__*/React__default.createElement("div", {
1347
+ className: "h-[45%]"
1348
+ }), /*#__PURE__*/React__default.createElement("div", {
1349
+ className: "bg-primary w-4 h-1/2 mb-6"
1350
+ }))), /*#__PURE__*/React__default.createElement("div", {
1351
+ className: "relative flex flex-col justify-center gap-6 lg:gap-10"
1352
+ }, /*#__PURE__*/React__default.createElement("div", {
1353
+ className: "text-2xl md:text-4xl !leading-[1.6] font-headingFont w-max text-center text-primary"
1354
+ }, 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", {
1355
+ className: "text-lg md:text-xl lg:text-2xl"
1356
+ }, 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, {
1357
+ label: "\u0110\u1EB7t b\xE0n ngay",
1358
+ shopConfigStyle: shopConfigStyle,
1359
+ className: "!font-normal w-max",
1360
+ sho: true
1361
+ })));
1362
+ };
1363
+
1364
+ var Hero12 = function Hero12(props) {
1303
1365
  var _data$data, _data$data$, _data$data$$srcImages, _data$data2, _data$data2$, _data$data3, _data$data3$;
1304
1366
  var _props$data = props.data,
1305
1367
  data = _props$data === void 0 ? {} : _props$data;
@@ -1394,7 +1456,7 @@ var CarouselItem = function CarouselItem(props) {
1394
1456
  }, /*#__PURE__*/React__default.createElement("div", {
1395
1457
  className: "w-full overflow-hidden "
1396
1458
  }, /*#__PURE__*/React__default.createElement("div", {
1397
- className: "flex overflow-x-auto gap-2 no-scrollbar items-center",
1459
+ className: "flex overflow-x-auto gap-2 " + (isNavigateButton ? "no-scrollbar" : "scroll-custom pb-2") + " items-center",
1398
1460
  ref: listRef
1399
1461
  }, isAll ? /*#__PURE__*/React__default.createElement("div", {
1400
1462
  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",
@@ -7499,7 +7561,7 @@ var lib = {
7499
7561
  };
7500
7562
 
7501
7563
  var getBaseUrl = function getBaseUrl() {
7502
- return process.env.NEXT_PUBLIC_BASE_URL || "https://proapi.sspa.com.vn";
7564
+ return process.env.NEXT_PUBLIC_BASE_URL || "https://test-apigateway.sfin.vn";
7503
7565
  };
7504
7566
  var request = axios.create();
7505
7567
  request.interceptors.request.use(function (config) {
@@ -7550,7 +7612,7 @@ var getYoutubeVideoIdByUrl = function getYoutubeVideoIdByUrl(url) {
7550
7612
  var linkPagePolicy = "https://sites.google.com/view/sodofin-landing-page-policy";
7551
7613
  var endpointLandingShop = "/landing-shop/v2";
7552
7614
  var endpointLanding = "/landing/v2";
7553
- var baseURL = process.env.NEXT_PUBLIC_BASE_URL || "https://proapi.sspa.com.vn";
7615
+ var baseURL = process.env.NEXT_PUBLIC_BASE_URL || "https://test-apigateway.sfin.vn";
7554
7616
 
7555
7617
  var getShopCategoriesApi = function getShopCategoriesApi(shopId, types) {
7556
7618
  return api({
@@ -7645,9 +7707,6 @@ var Hero13 = function Hero13(props) {
7645
7707
  }));
7646
7708
  };
7647
7709
 
7648
- var SECTION_DEFAULT_CLASS = "my-12 mx-4 xl:mx-20 bg-background";
7649
- var SECTION_CLASS = "my-6 md:my-12 px-4 xl:px-20 bg-background";
7650
-
7651
7710
  var Features2 = function Features2(props) {
7652
7711
  var data = props.data;
7653
7712
  var sectionData = data === null || data === void 0 ? void 0 : data.data;
@@ -8061,7 +8120,11 @@ var ProductPrice = function ProductPrice(props) {
8061
8120
  _props$className = props.className,
8062
8121
  className = _props$className === void 0 ? "" : _props$className,
8063
8122
  _props$style = props.style,
8064
- style = _props$style === void 0 ? {} : _props$style;
8123
+ style = _props$style === void 0 ? {} : _props$style,
8124
+ _props$priceClassName = props.priceClassName,
8125
+ priceClassName = _props$priceClassName === void 0 ? "" : _props$priceClassName,
8126
+ _props$priceBeforeDis = props.priceBeforeDiscountClassName,
8127
+ priceBeforeDiscountClassName = _props$priceBeforeDis === void 0 ? "" : _props$priceBeforeDis;
8065
8128
  var _useState = useState(),
8066
8129
  displayPrice = _useState[0],
8067
8130
  setDisplayPrice = _useState[1];
@@ -8096,12 +8159,12 @@ var ProductPrice = function ProductPrice(props) {
8096
8159
  };
8097
8160
  return /*#__PURE__*/React__default.createElement("div", {
8098
8161
  className: className
8099
- }, displayPriceBeforeDiscount !== displayPrice && displayPriceBeforeDiscount != null ? /*#__PURE__*/React__default.createElement("span", {
8100
- className: "text-gray3 line-through mr-2"
8101
- }, displayPriceBeforeDiscount) : null, /*#__PURE__*/React__default.createElement("span", {
8102
- className: "text-primary font-semibold",
8162
+ }, /*#__PURE__*/React__default.createElement("span", {
8163
+ className: "text-primary font-semibold mr-4 " + priceClassName,
8103
8164
  style: style
8104
- }, displayPrice));
8165
+ }, displayPrice), displayPriceBeforeDiscount !== displayPrice && displayPriceBeforeDiscount != null ? /*#__PURE__*/React__default.createElement("span", {
8166
+ className: "text-gray3 line-through " + priceBeforeDiscountClassName + " "
8167
+ }, "200,000\u0111") : null);
8105
8168
  };
8106
8169
 
8107
8170
  var ProductItem1 = function ProductItem1(props) {
@@ -10092,6 +10155,39 @@ var ProductItem7 = function ProductItem7(props) {
10092
10155
  }, 1 - 100 * (product === null || product === void 0 ? void 0 : product.price) / (product === null || product === void 0 ? void 0 : product.priceBeforeDiscount)) : null));
10093
10156
  };
10094
10157
 
10158
+ var ProductItem8 = function ProductItem8(props) {
10159
+ var product = props.product,
10160
+ _props$Link = props.Link,
10161
+ Link = _props$Link === void 0 ? null : _props$Link,
10162
+ _props$className = props.className,
10163
+ className = _props$className === void 0 ? "" : _props$className,
10164
+ _props$shopConfigStyl = props.shopConfigStyle,
10165
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl;
10166
+ return /*#__PURE__*/React__default.createElement(LinkToPage, {
10167
+ Link: Link,
10168
+ href: getLinkProductDetail(product)
10169
+ }, /*#__PURE__*/React__default.createElement("div", {
10170
+ className: "text-center rounded relative group " + className
10171
+ }, /*#__PURE__*/React__default.createElement("div", {
10172
+ className: "relative "
10173
+ }, /*#__PURE__*/React__default.createElement(ProductImage, {
10174
+ product: product,
10175
+ className: "min-h-[360px] md:min-h-[400px] xl:min-h-[440px] !object-cover !rounded"
10176
+ }), /*#__PURE__*/React__default.createElement("div", {
10177
+ 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 "
10178
+ }, /*#__PURE__*/React__default.createElement("div", {
10179
+ className: "text-lg text-textButton"
10180
+ }, product === null || product === void 0 ? void 0 : product.productName), /*#__PURE__*/React__default.createElement(ProductPrice, {
10181
+ product: product,
10182
+ priceClassName: "text-textButton !font-normal",
10183
+ priceBeforeDiscountClassName: "text-textButton !font-normal"
10184
+ }), /*#__PURE__*/React__default.createElement(Button, {
10185
+ label: "Th\xEAm v\xE0o gi\u1ECF",
10186
+ shopConfigStyle: shopConfigStyle,
10187
+ className: "hidden group-hover:block transition-all duration-300 !font-normal"
10188
+ })))));
10189
+ };
10190
+
10095
10191
  var TreatmentItem1 = function TreatmentItem1(props) {
10096
10192
  var product = props.product,
10097
10193
  _props$Link = props.Link,
@@ -10767,6 +10863,80 @@ var Products11 = function Products11(props) {
10767
10863
  }) : null)));
10768
10864
  };
10769
10865
 
10866
+ var ProductItem9 = function ProductItem9(props) {
10867
+ var product = props.product;
10868
+ return /*#__PURE__*/React__default.createElement("div", {
10869
+ className: "flex border-b border-stroke items-center py-4"
10870
+ }, /*#__PURE__*/React__default.createElement(ProductImage, {
10871
+ product: product,
10872
+ className: "!w-24 rounded-lg"
10873
+ }), /*#__PURE__*/React__default.createElement("div", {
10874
+ className: "ml-4 flex-1"
10875
+ }, /*#__PURE__*/React__default.createElement("div", {
10876
+ className: "text-xl"
10877
+ }, product === null || product === void 0 ? void 0 : product.productName), /*#__PURE__*/React__default.createElement("div", {
10878
+ className: "mt-2"
10879
+ }, /*#__PURE__*/React__default.createElement(ProductPrice, {
10880
+ product: product,
10881
+ priceClassName: "!font-normal text-lg"
10882
+ }))));
10883
+ };
10884
+
10885
+ var Products12 = function Products12(props) {
10886
+ var _props$shopConfigStyl = props.shopConfigStyle,
10887
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
10888
+ _props$data = props.data,
10889
+ data = _props$data === void 0 ? {} : _props$data,
10890
+ _props$SectionTitle = props.SectionTitle,
10891
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle,
10892
+ _props$Link = props.Link,
10893
+ Link = _props$Link === void 0 ? null : _props$Link;
10894
+ var _useState = useState({
10895
+ types: "0"
10896
+ }),
10897
+ params = _useState[0],
10898
+ setParams = _useState[1];
10899
+ var _CategoryController = CategoryController(_extends({}, props, {
10900
+ types: "0"
10901
+ })),
10902
+ categories = _CategoryController.categories;
10903
+ var _ProductController = ProductController(_extends({}, props, {
10904
+ params: params
10905
+ })),
10906
+ _ProductController$pr = _ProductController.products,
10907
+ products = _ProductController$pr === void 0 ? [] : _ProductController$pr,
10908
+ loading = _ProductController.loading;
10909
+ var handleFilterByCategory = function handleFilterByCategory(category) {
10910
+ setParams(function (prev) {
10911
+ return _extends({}, prev, {
10912
+ categoryId: category === null || category === void 0 ? void 0 : category.categoryId
10913
+ });
10914
+ });
10915
+ };
10916
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
10917
+ className: SECTION_DEFAULT_CLASS + " flex flex-col gap-6"
10918
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
10919
+ data: data,
10920
+ shopConfigStyle: shopConfigStyle
10921
+ }), /*#__PURE__*/React__default.createElement(CarouselItem, {
10922
+ isNavigateButton: false,
10923
+ data: categories,
10924
+ onClick: handleFilterByCategory
10925
+ }), loading ? /*#__PURE__*/React__default.createElement("div", {
10926
+ className: "flex w-full justify-center p-12"
10927
+ }, /*#__PURE__*/React__default.createElement(Loading, null)) : products !== null && products !== void 0 && products.length ? /*#__PURE__*/React__default.createElement("div", {
10928
+ className: "grid grid-cols-1 md:grid-cols-2 gap-x-12"
10929
+ }, products === null || products === void 0 ? void 0 : products.map(function (product, index) {
10930
+ return /*#__PURE__*/React__default.createElement(LinkToPage, {
10931
+ key: index,
10932
+ Link: Link,
10933
+ href: getLinkProductDetail(product === null || product === void 0 ? void 0 : product.productInfo)
10934
+ }, /*#__PURE__*/React__default.createElement(ProductItem9, {
10935
+ product: product === null || product === void 0 ? void 0 : product.productInfo
10936
+ }));
10937
+ })) : /*#__PURE__*/React__default.createElement(NotFoundProduct, null)));
10938
+ };
10939
+
10770
10940
  var ProductCategory2 = function ProductCategory2(props) {
10771
10941
  var _products$slice;
10772
10942
  var _props$Link = props.Link,
@@ -11020,7 +11190,7 @@ var ProductHot1 = function ProductHot1(props) {
11020
11190
  }));
11021
11191
  };
11022
11192
  return /*#__PURE__*/React__default.createElement("div", {
11023
- className: SECTION_CLASS + " flex flex-col gap-4 md:gap-8"
11193
+ className: SECTION_CLASS + " flex flex-col gap-6 md:gap-12"
11024
11194
  }, /*#__PURE__*/React__default.createElement(SectionTitle, {
11025
11195
  data: data,
11026
11196
  shopConfigStyle: shopConfigStyle
@@ -11811,57 +11981,354 @@ var BookingForm6 = function BookingForm6(props) {
11811
11981
  })));
11812
11982
  };
11813
11983
 
11814
- var Banner1 = function Banner1(props) {
11815
- var data = props.data,
11816
- shopConfigStyle = props.shopConfigStyle,
11817
- _props$SectionTitle = props.SectionTitle,
11818
- SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
11819
- var sectionData = data === null || data === void 0 ? void 0 : data.data;
11984
+ var TextArea = forwardRef(function (props, ref) {
11985
+ var _props$label = props.label,
11986
+ label = _props$label === void 0 ? "" : _props$label,
11987
+ _props$placeholder = props.placeholder,
11988
+ placeholder = _props$placeholder === void 0 ? "" : _props$placeholder,
11989
+ _props$rules = props.rules,
11990
+ rules = _props$rules === void 0 ? [] : _props$rules,
11991
+ _props$textareaClassN = props.textareaClassName,
11992
+ textareaClassName = _props$textareaClassN === void 0 ? "" : _props$textareaClassN,
11993
+ _props$className = props.className,
11994
+ className = _props$className === void 0 ? "" : _props$className,
11995
+ _props$defaultValue = props.defaultValue,
11996
+ defaultValue = _props$defaultValue === void 0 ? "" : _props$defaultValue,
11997
+ _props$labelClassName = props.labelClassName,
11998
+ labelClassName = _props$labelClassName === void 0 ? "" : _props$labelClassName,
11999
+ _props$onChange = props.onChange,
12000
+ onChange = _props$onChange === void 0 ? function () {} : _props$onChange;
12001
+ var _useState = useState(defaultValue),
12002
+ value = _useState[0],
12003
+ _setValue = _useState[1];
12004
+ var _useState2 = useState(""),
12005
+ error = _useState2[0],
12006
+ _setError = _useState2[1];
12007
+ useImperativeHandle(ref, function () {
12008
+ return {
12009
+ validateData: function validateData() {
12010
+ return _validateData();
12011
+ },
12012
+ setValue: function setValue(text) {
12013
+ return _setValue(text);
12014
+ },
12015
+ getValue: function getValue() {
12016
+ return value;
12017
+ },
12018
+ setError: function setError(err) {
12019
+ return _setError(err);
12020
+ }
12021
+ };
12022
+ });
12023
+ var _validateData = function _validateData() {
12024
+ var count = 0;
12025
+ for (var _iterator = _createForOfIteratorHelperLoose(rules), _step; !(_step = _iterator()).done;) {
12026
+ var _e$pattern;
12027
+ var e = _step.value;
12028
+ if ((e === null || e === void 0 ? void 0 : e.type) === 'required' && value === '') {
12029
+ _setError(e === null || e === void 0 ? void 0 : e.message);
12030
+ count++;
12031
+ break;
12032
+ } 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))) {
12033
+ _setError(e === null || e === void 0 ? void 0 : e.message);
12034
+ count++;
12035
+ break;
12036
+ }
12037
+ }
12038
+ if (count) {
12039
+ return false;
12040
+ } else {
12041
+ _setError('');
12042
+ return true;
12043
+ }
12044
+ };
12045
+ var handleOnChangeValue = function handleOnChangeValue(e) {
12046
+ var value = e.target.value;
12047
+ _setValue(value);
12048
+ onChange === null || onChange === void 0 ? void 0 : onChange(value);
12049
+ };
12050
+ var required = !!(rules !== null && rules !== void 0 && rules.find(function (e) {
12051
+ return (e === null || e === void 0 ? void 0 : e.type) === "required";
12052
+ }));
12053
+ var labelRequired = required ? /*#__PURE__*/React__default.createElement("span", {
12054
+ className: "text-danger"
12055
+ }, " *") : null;
11820
12056
  return /*#__PURE__*/React__default.createElement("div", {
11821
- className: "" + SECTION_DEFAULT_CLASS
11822
- }, /*#__PURE__*/React__default.createElement(SectionTitle, {
11823
- data: data,
11824
- shopConfigStyle: shopConfigStyle
11825
- }), /*#__PURE__*/React__default.createElement("div", {
11826
- className: "grid grid-cols-1 sm:grid-cols-3 gap-4 lg:gap-6 mt-6"
11827
- }, sectionData && sectionData.length > 0 && sectionData.map(function (item, index) {
11828
- return /*#__PURE__*/React__default.createElement("img", {
11829
- src: item === null || item === void 0 ? void 0 : item.srcImage,
11830
- alt: "",
11831
- className: "rounded-2xl",
11832
- key: "hnfhn-" + index
11833
- });
11834
- })));
11835
- };
12057
+ className: "" + className
12058
+ }, label ? /*#__PURE__*/React__default.createElement("div", {
12059
+ className: "mb-1 " + labelClassName
12060
+ }, label, labelRequired) : null, /*#__PURE__*/React__default.createElement("textarea", {
12061
+ name: "",
12062
+ id: "",
12063
+ className: "focus:outline-none focus:ring-0 border rounded-xl min-h-24 " + textareaClassName,
12064
+ placeholder: placeholder,
12065
+ value: value,
12066
+ onChange: function onChange(e) {
12067
+ handleOnChangeValue(e);
12068
+ }
12069
+ }), error ? /*#__PURE__*/React__default.createElement("div", {
12070
+ className: "text-danger"
12071
+ }, error) : null);
12072
+ });
11836
12073
 
11837
- var Banner2 = function Banner2(props) {
11838
- var data = props.data,
11839
- shopConfigStyle = props.shopConfigStyle,
11840
- _props$SectionTitle = props.SectionTitle,
11841
- SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
11842
- var sectionData = data === null || data === void 0 ? void 0 : data.data;
11843
- var _useState = useState(0),
11844
- currentSlide = _useState[0],
11845
- setCurrentSlide = _useState[1];
11846
- function RenderArrow(props) {
11847
- var className = props.className,
11848
- style = props.style,
11849
- onClick = props.onClick;
11850
- return /*#__PURE__*/React__default.createElement("div", {
11851
- className: className,
11852
- style: _extends({}, style, {
11853
- display: "none"
11854
- }),
11855
- onClick: onClick
11856
- });
11857
- }
11858
- return /*#__PURE__*/React__default.createElement("div", {
11859
- className: "" + SECTION_DEFAULT_CLASS
11860
- }, /*#__PURE__*/React__default.createElement(SectionTitle, {
11861
- data: data,
11862
- shopConfigStyle: shopConfigStyle
12074
+ var BookingFoodForm = function BookingFoodForm(props) {
12075
+ var _props$shopConfig = props.shopConfig,
12076
+ shopConfig = _props$shopConfig === void 0 ? {} : _props$shopConfig,
12077
+ _props$shopConfigStyl = props.shopConfigStyle,
12078
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
12079
+ _props$onCloseFormBoo = props.onCloseFormBooking,
12080
+ onCloseFormBooking = _props$onCloseFormBoo === void 0 ? function () {} : _props$onCloseFormBoo,
12081
+ _props$defaultValue = props.defaultValue,
12082
+ defaultValue = _props$defaultValue === void 0 ? [] : _props$defaultValue,
12083
+ _props$className = props.className,
12084
+ className = _props$className === void 0 ? "" : _props$className,
12085
+ _props$isModalBooking = props.isModalBooking,
12086
+ isModalBooking = _props$isModalBooking === void 0 ? false : _props$isModalBooking;
12087
+ var _useState = useState(defaultValue),
12088
+ listProductSelected = _useState[0],
12089
+ setListProductSelected = _useState[1];
12090
+ var inputNameRef = useRef(null);
12091
+ var inputDateRef = useRef(null);
12092
+ var inputPhoneNumberRef = useRef(null);
12093
+ var inputQuantityRef = useRef(null);
12094
+ var _useState2 = useState(false),
12095
+ isOpenPopup = _useState2[0],
12096
+ setIsOpenPopup = _useState2[1];
12097
+ var _useState3 = useState(false),
12098
+ isHiddenForm = _useState3[0],
12099
+ setIsHiddenForm = _useState3[1];
12100
+ var _BookingController = BookingController(props),
12101
+ _BookingController$cr = _BookingController.createSchedule,
12102
+ createSchedule = _BookingController$cr === void 0 ? function () {} : _BookingController$cr;
12103
+ var checkDateBooking = function checkDateBooking() {
12104
+ var _inputDateRef$current;
12105
+ var scheduleDate = inputDateRef === null || inputDateRef === void 0 ? void 0 : (_inputDateRef$current = inputDateRef.current) === null || _inputDateRef$current === void 0 ? void 0 : _inputDateRef$current.getValue();
12106
+ return scheduleDate && scheduleDate >= Date.now();
12107
+ };
12108
+ var handleSubmit = function handleSubmit() {
12109
+ try {
12110
+ var _inputNameRef$current, _inputPhoneNumberRef$, _inputDateRef$current2, _inputQuantityRef$cur;
12111
+ var validateName = inputNameRef === null || inputNameRef === void 0 ? void 0 : (_inputNameRef$current = inputNameRef.current) === null || _inputNameRef$current === void 0 ? void 0 : _inputNameRef$current.validateData();
12112
+ var validatePhoneNumber = inputPhoneNumberRef === null || inputPhoneNumberRef === void 0 ? void 0 : (_inputPhoneNumberRef$ = inputPhoneNumberRef.current) === null || _inputPhoneNumberRef$ === void 0 ? void 0 : _inputPhoneNumberRef$.validateData();
12113
+ var validateDate = inputDateRef === null || inputDateRef === void 0 ? void 0 : (_inputDateRef$current2 = inputDateRef.current) === null || _inputDateRef$current2 === void 0 ? void 0 : _inputDateRef$current2.validateData();
12114
+ var validateQuantity = inputQuantityRef === null || inputQuantityRef === void 0 ? void 0 : (_inputQuantityRef$cur = inputQuantityRef.current) === null || _inputQuantityRef$cur === void 0 ? void 0 : _inputQuantityRef$cur.validateData();
12115
+ var _temp = function () {
12116
+ if (validateName && validatePhoneNumber && validateDate && validateQuantity) {
12117
+ var _inputPhoneNumberRef$2, _inputNameRef$current2, _inputDateRef$current3;
12118
+ var customerPhone = inputPhoneNumberRef === null || inputPhoneNumberRef === void 0 ? void 0 : (_inputPhoneNumberRef$2 = inputPhoneNumberRef.current) === null || _inputPhoneNumberRef$2 === void 0 ? void 0 : _inputPhoneNumberRef$2.getValue();
12119
+ var customerName = inputNameRef === null || inputNameRef === void 0 ? void 0 : (_inputNameRef$current2 = inputNameRef.current) === null || _inputNameRef$current2 === void 0 ? void 0 : _inputNameRef$current2.getValue();
12120
+ var scheduleDate = inputDateRef === null || inputDateRef === void 0 ? void 0 : (_inputDateRef$current3 = inputDateRef.current) === null || _inputDateRef$current3 === void 0 ? void 0 : _inputDateRef$current3.getValue();
12121
+ var services = listProductSelected === null || listProductSelected === void 0 ? void 0 : listProductSelected.map(function (item) {
12122
+ var _item$technical;
12123
+ return {
12124
+ productId: item === null || item === void 0 ? void 0 : item.value,
12125
+ technicalStaffIds: [item === null || item === void 0 ? void 0 : (_item$technical = item.technical) === null || _item$technical === void 0 ? void 0 : _item$technical.sysUserId],
12126
+ quantity: item === null || item === void 0 ? void 0 : item.quantity,
12127
+ oldService: item === null || item === void 0 ? void 0 : item.oldService
12128
+ };
12129
+ });
12130
+ var shopId = shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopId;
12131
+ console.log("check payload:::", services);
12132
+ return Promise.resolve(createSchedule(customerName, customerPhone, scheduleDate, services, shopId)).then(function (response) {
12133
+ var _response$data, _response$data$status;
12134
+ 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') {
12135
+ var _inputPhoneNumberRef$3, _inputNameRef$current3, _inputDateRef$current4;
12136
+ if (isModalBooking) {
12137
+ setIsHiddenForm(true);
12138
+ }
12139
+ setIsOpenPopup(true);
12140
+ inputPhoneNumberRef === null || inputPhoneNumberRef === void 0 ? void 0 : (_inputPhoneNumberRef$3 = inputPhoneNumberRef.current) === null || _inputPhoneNumberRef$3 === void 0 ? void 0 : _inputPhoneNumberRef$3.setValue("");
12141
+ inputNameRef === null || inputNameRef === void 0 ? void 0 : (_inputNameRef$current3 = inputNameRef.current) === null || _inputNameRef$current3 === void 0 ? void 0 : _inputNameRef$current3.setValue("");
12142
+ inputDateRef === null || inputDateRef === void 0 ? void 0 : (_inputDateRef$current4 = inputDateRef.current) === null || _inputDateRef$current4 === void 0 ? void 0 : _inputDateRef$current4.setValue(new Date());
12143
+ setListProductSelected([]);
12144
+ }
12145
+ });
12146
+ }
12147
+ }();
12148
+ return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
12149
+ } catch (e) {
12150
+ return Promise.reject(e);
12151
+ }
12152
+ };
12153
+ var handleClosePopup = function handleClosePopup() {
12154
+ setIsOpenPopup(false);
12155
+ setIsHiddenForm(false);
12156
+ };
12157
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, !isHiddenForm ? /*#__PURE__*/React__default.createElement("div", {
12158
+ className: "flex flex-col gap-4 rounded-2xl p-6 border bg-white " + className
12159
+ }, /*#__PURE__*/React__default.createElement("div", {
12160
+ className: "grid grid-cols-1 md:grid-cols-2 gap-4"
12161
+ }, /*#__PURE__*/React__default.createElement(Input, {
12162
+ ref: inputNameRef,
12163
+ label: "Họ và tên",
12164
+ placeholder: "Nhập họ tên",
12165
+ rules: [{
12166
+ type: "required",
12167
+ message: "Bắt buộc nhập họ tên"
12168
+ }],
12169
+ className: "w-full rounded-lg bg-white",
12170
+ inputClassName: "w-full focus:outline-none focus:ring-0"
12171
+ }), /*#__PURE__*/React__default.createElement(InputPhoneNumber, {
12172
+ ref: inputPhoneNumberRef,
12173
+ name: "customerPhone",
12174
+ label: "Số điện thoại",
12175
+ placeholder: "Nhập số điện thoại",
12176
+ rules: [{
12177
+ type: "required",
12178
+ message: "Bắt buộc nhập số điện thoại"
12179
+ }, {
12180
+ type: "pattern",
12181
+ pattern: pattern === null || pattern === void 0 ? void 0 : pattern.phoneNumberPattern,
12182
+ message: "Số điện thoại không hợp lệ!"
12183
+ }],
12184
+ className: "bg-bgSecondary"
12185
+ })), /*#__PURE__*/React__default.createElement("div", {
12186
+ className: "grid grid-cols-1 md:grid-cols-2 gap-4"
12187
+ }, /*#__PURE__*/React__default.createElement(Input, {
12188
+ ref: inputQuantityRef,
12189
+ label: "Số người",
12190
+ placeholder: "Nhập số người",
12191
+ rules: [{
12192
+ type: "required",
12193
+ message: "Bắt buộc nhập số người"
12194
+ }],
12195
+ className: "w-full rounded-lg bg-white",
12196
+ inputClassName: "w-full focus:outline-none focus:ring-0"
12197
+ }), /*#__PURE__*/React__default.createElement(DateTimePicker, {
12198
+ ref: inputDateRef,
12199
+ label: "Thời gian",
12200
+ className: "w-full rounded-lg",
12201
+ placeholder: "Chọn thời gian",
12202
+ time: true,
12203
+ rules: [{
12204
+ type: "required",
12205
+ message: "Bắt buộc chọn ngày đặt"
12206
+ }, {
12207
+ type: "validate",
12208
+ message: "Thời gian không hợp lệ",
12209
+ validate: checkDateBooking
12210
+ }]
12211
+ })), /*#__PURE__*/React__default.createElement("div", {
12212
+ className: "grid grid-cols-1 gap-6"
12213
+ }, /*#__PURE__*/React__default.createElement(TextArea, {
12214
+ label: "Ghi ch\xFA",
12215
+ placeholder: "Nh\u1EADp ghi ch\xFA (n\u1EBFu c\xF3)",
12216
+ className: " w-full ",
12217
+ textareaClassName: "px-4 py-3 w-full min-h-32"
12218
+ })), /*#__PURE__*/React__default.createElement("div", {
12219
+ className: "text-center"
12220
+ }, /*#__PURE__*/React__default.createElement(Button, {
12221
+ label: "Đặt lịch ngay",
12222
+ shopConfigStyle: shopConfigStyle,
12223
+ onClick: handleSubmit
12224
+ }))) : null, isOpenPopup && /*#__PURE__*/React__default.createElement(ModalNotification, {
12225
+ onCloseFormBooking: onCloseFormBooking,
12226
+ onClose: handleClosePopup
12227
+ }, /*#__PURE__*/React__default.createElement("div", {
12228
+ 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"
12229
+ }, /*#__PURE__*/React__default.createElement("div", {
12230
+ className: "flex items-center justify-center"
12231
+ }, /*#__PURE__*/React__default.createElement(FaCheckCircle, {
12232
+ className: "h-full text-green-500",
12233
+ style: {
12234
+ fontSize: "56px"
12235
+ }
12236
+ })), /*#__PURE__*/React__default.createElement("div", {
12237
+ className: "font-medium text-2xl"
12238
+ }, "\u0110\u1EB7t l\u1ECBch th\xE0nh c\xF4ng"), /*#__PURE__*/React__default.createElement("div", {
12239
+ className: "text-center"
12240
+ }, "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"))));
12241
+ };
12242
+
12243
+ var BookingTable1 = function BookingTable1(props) {
12244
+ 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$;
12245
+ var _props$shopConfigStyl = props.shopConfigStyle,
12246
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
12247
+ _props$shopConfig = props.shopConfig,
12248
+ shopConfig = _props$shopConfig === void 0 ? {} : _props$shopConfig,
12249
+ _props$data = props.data,
12250
+ data = _props$data === void 0 ? {} : _props$data,
12251
+ _props$SectionTitle = props.SectionTitle,
12252
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
12253
+ console.log("booking data", data);
12254
+ return /*#__PURE__*/React__default.createElement("div", {
12255
+ className: "relative w-full px-4 xl:px-20 py-12"
12256
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
12257
+ data: data,
12258
+ shopConfigStyle: shopConfigStyle
12259
+ }), /*#__PURE__*/React__default.createElement("div", {
12260
+ className: "mt-6 md:mt-12 grid grid-cols-1 gap-6 md:grid-cols-3 md:gap-12"
12261
+ }, /*#__PURE__*/React__default.createElement(LinkToPage, {
12262
+ 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) || "#"
12263
+ }, 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", {
12264
+ className: "text-primary w-full h-auto"
12265
+ }, /*#__PURE__*/React__default.createElement("div", {
12266
+ dangerouslySetInnerHTML: {
12267
+ __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)
12268
+ }
12269
+ })) : /*#__PURE__*/React__default.createElement("img", {
12270
+ 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,
12271
+ className: "w-full h-auto"
12272
+ }), /*#__PURE__*/React__default.createElement("div", {
12273
+ className: "mt-4 whitespace-pre-line"
12274
+ }, 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, {
12275
+ shopConfigStyle: shopConfigStyle,
12276
+ shopConfig: shopConfig,
12277
+ className: "col-span-2"
12278
+ })));
12279
+ };
12280
+
12281
+ var Banner1 = function Banner1(props) {
12282
+ var data = props.data,
12283
+ shopConfigStyle = props.shopConfigStyle,
12284
+ _props$SectionTitle = props.SectionTitle,
12285
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
12286
+ var sectionData = data === null || data === void 0 ? void 0 : data.data;
12287
+ return /*#__PURE__*/React__default.createElement("div", {
12288
+ className: "" + SECTION_DEFAULT_CLASS
12289
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
12290
+ data: data,
12291
+ shopConfigStyle: shopConfigStyle
12292
+ }), /*#__PURE__*/React__default.createElement("div", {
12293
+ className: "grid grid-cols-1 sm:grid-cols-3 gap-4 lg:gap-6 mt-6"
12294
+ }, sectionData && sectionData.length > 0 && sectionData.map(function (item, index) {
12295
+ return /*#__PURE__*/React__default.createElement("img", {
12296
+ src: item === null || item === void 0 ? void 0 : item.srcImage,
12297
+ alt: "",
12298
+ className: "rounded-2xl",
12299
+ key: "hnfhn-" + index
12300
+ });
12301
+ })));
12302
+ };
12303
+
12304
+ var Banner2 = function Banner2(props) {
12305
+ var data = props.data,
12306
+ shopConfigStyle = props.shopConfigStyle,
12307
+ _props$SectionTitle = props.SectionTitle,
12308
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
12309
+ var sectionData = data === null || data === void 0 ? void 0 : data.data;
12310
+ var _useState = useState(0),
12311
+ currentSlide = _useState[0],
12312
+ setCurrentSlide = _useState[1];
12313
+ function RenderArrow(props) {
12314
+ var className = props.className,
12315
+ style = props.style,
12316
+ onClick = props.onClick;
12317
+ return /*#__PURE__*/React__default.createElement("div", {
12318
+ className: className,
12319
+ style: _extends({}, style, {
12320
+ display: "none"
12321
+ }),
12322
+ onClick: onClick
12323
+ });
12324
+ }
12325
+ return /*#__PURE__*/React__default.createElement("div", {
12326
+ className: "" + SECTION_DEFAULT_CLASS
12327
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
12328
+ data: data,
12329
+ shopConfigStyle: shopConfigStyle
11863
12330
  }), /*#__PURE__*/React__default.createElement(Slider, {
11864
- className: "center",
12331
+ className: "center mt-6 lg:mt-12",
11865
12332
  infinite: false,
11866
12333
  slidesToShow: 2,
11867
12334
  speed: 500,
@@ -12321,11 +12788,10 @@ var Footer1 = function Footer1(props) {
12321
12788
  href: "/",
12322
12789
  className: "flex items-center"
12323
12790
  }, /*#__PURE__*/React__default.createElement("img", {
12324
- className: "object-cover w-16 h-16",
12325
- src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
12326
- alt: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName
12791
+ className: "object-cover w-14 max-h-14",
12792
+ src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl
12327
12793
  }), /*#__PURE__*/React__default.createElement("h3", {
12328
- className: " text-2xl md:text-3xl font-semibold ms-2",
12794
+ className: "text-2xl md:text-3xl ms-2 font-headingFont ",
12329
12795
  style: {
12330
12796
  color: primary
12331
12797
  }
@@ -12466,11 +12932,10 @@ var Footer7 = function Footer7(props) {
12466
12932
  href: "/",
12467
12933
  className: "flex items-center gap-2"
12468
12934
  }, /*#__PURE__*/React__default.createElement("img", {
12469
- className: "object-cover w-14",
12470
- src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl,
12471
- alt: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopName
12935
+ className: "object-cover w-14 max-h-14",
12936
+ src: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.logoUrl
12472
12937
  }), /*#__PURE__*/React__default.createElement("h3", {
12473
- className: " text-2xl md:text-3xl ms-2",
12938
+ className: " text-2xl md:text-3xl ms-2 font-headingFont ",
12474
12939
  style: {
12475
12940
  color: primary
12476
12941
  }
@@ -12730,6 +13195,46 @@ var CustomerRating6 = function CustomerRating6(props) {
12730
13195
  }))));
12731
13196
  };
12732
13197
 
13198
+ var CustomerRating8 = function CustomerRating8(props) {
13199
+ var _data$data;
13200
+ var _props$shopConfigStyl = props.shopConfigStyle,
13201
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
13202
+ _props$data = props.data,
13203
+ data = _props$data === void 0 ? {} : _props$data,
13204
+ _props$SectionTitle = props.SectionTitle,
13205
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
13206
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
13207
+ className: SECTION_CLASS + " !my-0 py-12 bg-bgSecondary"
13208
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
13209
+ data: data,
13210
+ shopConfigStyle: shopConfigStyle
13211
+ }), /*#__PURE__*/React__default.createElement("div", {
13212
+ className: " mt-6 md:mt-12 grid grid-cols-1 md:grid-cols-3 gap-6"
13213
+ }, data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.map(function (item, index) {
13214
+ return /*#__PURE__*/React__default.createElement("div", {
13215
+ className: "flex flex-col items-center gap-2 p-4 border border-stroke rounded-2xl ",
13216
+ key: "ht-" + index
13217
+ }, /*#__PURE__*/React__default.createElement("img", {
13218
+ src: item === null || item === void 0 ? void 0 : item.avatar,
13219
+ className: "w-40 h-40 rounded-full object-cover border-8 border-stroke"
13220
+ }), /*#__PURE__*/React__default.createElement("div", {
13221
+ className: "text-xl text-primary"
13222
+ }, item === null || item === void 0 ? void 0 : item.name), /*#__PURE__*/React__default.createElement("div", {
13223
+ className: "text-gray3"
13224
+ }, item === null || item === void 0 ? void 0 : item.description), /*#__PURE__*/React__default.createElement("div", {
13225
+ className: "flex gap-2 "
13226
+ }, /*#__PURE__*/React__default.createElement(RiDoubleQuotesL, {
13227
+ className: "text-gray3",
13228
+ size: 36
13229
+ }), /*#__PURE__*/React__default.createElement("div", {
13230
+ className: "pt-4"
13231
+ }, item === null || item === void 0 ? void 0 : item.content), /*#__PURE__*/React__default.createElement(RiDoubleQuotesL, {
13232
+ className: " mt-auto text-gray3",
13233
+ size: 36
13234
+ })));
13235
+ }))));
13236
+ };
13237
+
12733
13238
  var CustomerRating10 = function CustomerRating10(props) {
12734
13239
  var _data$data;
12735
13240
  var _props$shopConfigStyl = props.shopConfigStyle,
@@ -12904,7 +13409,65 @@ var Gallery1 = function Gallery1(props) {
12904
13409
  }));
12905
13410
  };
12906
13411
 
12907
- var PageTitle1 = function PageTitle1(props) {
13412
+ var Gallery1$1 = function Gallery1(props) {
13413
+ var _data$data, _data$data$slice, _data$data2, _data$data2$slice, _data$data3, _data$data3$slice;
13414
+ var _props$shopConfigStyl = props.shopConfigStyle,
13415
+ shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
13416
+ _props$data = props.data,
13417
+ data = _props$data === void 0 ? {} : _props$data,
13418
+ _props$SectionTitle = props.SectionTitle,
13419
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
13420
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
13421
+ className: "" + SECTION_DEFAULT_CLASS
13422
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
13423
+ data: data,
13424
+ shopConfigStyle: shopConfigStyle
13425
+ }), /*#__PURE__*/React__default.createElement("div", {
13426
+ className: "grid grid-cols-3 gap-2 md:gap-6 mt-6 md:mt-12"
13427
+ }, /*#__PURE__*/React__default.createElement("div", {
13428
+ className: "flex flex-col gap-2 md:gap-4"
13429
+ }, 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) {
13430
+ return /*#__PURE__*/React__default.createElement("img", {
13431
+ src: item === null || item === void 0 ? void 0 : item.srcImage,
13432
+ className: "w-full h-full object-cover rounded-xl md:rounded-2xl"
13433
+ });
13434
+ })), /*#__PURE__*/React__default.createElement("div", {
13435
+ className: "flex flex-col gap-2 md:gap-4"
13436
+ }, 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) {
13437
+ return /*#__PURE__*/React__default.createElement("img", {
13438
+ src: item === null || item === void 0 ? void 0 : item.srcImage,
13439
+ className: "w-full h-full object-cover rounded-xl md:rounded-2xl odd:h-[130%]"
13440
+ });
13441
+ })), /*#__PURE__*/React__default.createElement("div", {
13442
+ className: "flex flex-col gap-2 md:gap-4"
13443
+ }, 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) {
13444
+ return /*#__PURE__*/React__default.createElement("img", {
13445
+ src: item === null || item === void 0 ? void 0 : item.srcImage,
13446
+ className: "w-full h-full object-cover rounded-xl md:rounded-2xl even:h-[130%]"
13447
+ });
13448
+ })))));
13449
+ };
13450
+
13451
+ var PageTitle1 = function PageTitle1(props) {
13452
+ var _sectionData$;
13453
+ var data = props.data,
13454
+ route = props.route;
13455
+ var sectionData = data === null || data === void 0 ? void 0 : data.data;
13456
+ return /*#__PURE__*/React__default.createElement("div", {
13457
+ className: "relative w-full bg-cover bg-center bg-no-repeat ",
13458
+ style: {
13459
+ backgroundImage: "url(" + (sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$ = sectionData[0]) === null || _sectionData$ === void 0 ? void 0 : _sectionData$.srcImage) + ")"
13460
+ }
13461
+ }, /*#__PURE__*/React__default.createElement("div", {
13462
+ className: "absolute top-0 w-full h-full bg-black opacity-40 z-0"
13463
+ }), /*#__PURE__*/React__default.createElement("div", {
13464
+ className: "relative w-full p-20 z-10 flex flex-col gap-6 items-center justify-center"
13465
+ }, /*#__PURE__*/React__default.createElement("h2", {
13466
+ className: "text-3xl md:text-5xl text-white leading-[1.6] md:leading-[1.6] text-center font-headingFont"
13467
+ }, 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)));
13468
+ };
13469
+
13470
+ var PageTitle2 = function PageTitle2(props) {
12908
13471
  var _sectionData$;
12909
13472
  var data = props.data,
12910
13473
  route = props.route;
@@ -12920,7 +13483,103 @@ var PageTitle1 = function PageTitle1(props) {
12920
13483
  className: "relative w-full p-20 z-10 flex flex-col gap-6 items-center justify-center"
12921
13484
  }, /*#__PURE__*/React__default.createElement("h2", {
12922
13485
  className: "text-3xl md:text-5xl text-white leading-[1.6] md:leading-[1.6] text-center font-headingFont"
12923
- }, 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)));
13486
+ }, 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", {
13487
+ className: "text-lg md:text-2xl text-white"
13488
+ }, data === null || data === void 0 ? void 0 : data.sectionDescription) : null));
13489
+ };
13490
+
13491
+ var Breadcrumb1 = function Breadcrumb1(props) {
13492
+ var shopConfigStyle = props.shopConfigStyle,
13493
+ route = props.route,
13494
+ _props$routes = props.routes,
13495
+ routes = _props$routes === void 0 ? [] : _props$routes,
13496
+ _props$Link = props.Link,
13497
+ Link = _props$Link === void 0 ? null : _props$Link,
13498
+ _props$className = props.className,
13499
+ className = _props$className === void 0 ? "" : _props$className,
13500
+ _props$routeClassName = props.routeClassName,
13501
+ routeClassName = _props$routeClassName === void 0 ? "" : _props$routeClassName;
13502
+ var _shopConfigStyle$colo = shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.color,
13503
+ _shopConfigStyle$colo3 = _shopConfigStyle$colo.textHeading,
13504
+ textHeading = _shopConfigStyle$colo3 === void 0 ? "#000" : _shopConfigStyle$colo3;
13505
+ var _useState = useState([]),
13506
+ items = _useState[0],
13507
+ setItems = _useState[1];
13508
+ useEffect(function () {
13509
+ getItems();
13510
+ }, [route]);
13511
+ var getItems = function getItems() {
13512
+ var _route$route, _route$route$split, _route$route$split$fi, _items, _items2;
13513
+ 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) {
13514
+ return e === null || e === void 0 ? void 0 : e.length;
13515
+ })) === null || _route$route$split$fi === void 0 ? void 0 : _route$route$split$fi.slice(0, 2);
13516
+ items = (_items = items) === null || _items === void 0 ? void 0 : _items.map(function (e) {
13517
+ var _e, _e$replace, _e$replace$replace, _e$replace$replace$re;
13518
+ if (e === "product") e = "products";else if (e === "service") e = "services";
13519
+ return (routes === null || routes === void 0 ? void 0 : routes.find(function (r) {
13520
+ return (r === null || r === void 0 ? void 0 : r.name) === e;
13521
+ })) || {
13522
+ 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, "/")
13523
+ };
13524
+ });
13525
+ (_items2 = items) === null || _items2 === void 0 ? void 0 : _items2.unshift({
13526
+ name: "home",
13527
+ label: "Trang chủ",
13528
+ route: "/"
13529
+ });
13530
+ console.log(items);
13531
+ setItems(items);
13532
+ };
13533
+ return /*#__PURE__*/React__default.createElement("div", {
13534
+ className: SECTION_DEFAULT_CLASS + " !my-6 flex gap-2 overflow-x-auto scroll-custom " + className
13535
+ }, items === null || items === void 0 ? void 0 : items.map(function (item, index) {
13536
+ return /*#__PURE__*/React__default.createElement("div", {
13537
+ key: index,
13538
+ className: "flex gap-2 flex-shrink-0"
13539
+ }, index ? /*#__PURE__*/React__default.createElement("div", {
13540
+ className: "text-gray4"
13541
+ }, "/") : null, item !== null && item !== void 0 && item.route ? /*#__PURE__*/React__default.createElement(LinkToPage, {
13542
+ Link: Link,
13543
+ href: convertURL(item === null || item === void 0 ? void 0 : item.route) || "#",
13544
+ style: {
13545
+ color: textHeading
13546
+ },
13547
+ className: routeClassName
13548
+ }, item === null || item === void 0 ? void 0 : item.label) : /*#__PURE__*/React__default.createElement("div", null, item === null || item === void 0 ? void 0 : item.label));
13549
+ }));
13550
+ };
13551
+
13552
+ var PageTitle3 = function PageTitle3(props) {
13553
+ 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;
13554
+ var data = props.data,
13555
+ route = props.route,
13556
+ shopConfigStyle = props.shopConfigStyle,
13557
+ _props$routes = props.routes,
13558
+ routes = _props$routes === void 0 ? [] : _props$routes,
13559
+ _props$Link = props.Link,
13560
+ Link = _props$Link === void 0 ? null : _props$Link;
13561
+ var sectionData = data === null || data === void 0 ? void 0 : data.data;
13562
+ return /*#__PURE__*/React__default.createElement("div", {
13563
+ className: "relative w-full bg-cover bg-center bg-no-repeat mb-6 md:mb-12 ",
13564
+ style: {
13565
+ backgroundImage: "url(" + (sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$ = sectionData[0]) === null || _sectionData$ === void 0 ? void 0 : _sectionData$.srcImage) + ")"
13566
+ }
13567
+ }, /*#__PURE__*/React__default.createElement("div", {
13568
+ className: "absolute top-0 w-full h-full bg-black opacity-60 z-0"
13569
+ }), /*#__PURE__*/React__default.createElement("div", {
13570
+ className: "relative w-full p-20 z-10 flex flex-col items-center justify-center"
13571
+ }, /*#__PURE__*/React__default.createElement("h2", {
13572
+ className: "text-3xl md:text-5xl text-white leading-[1.6] md:leading-[1.6] text-center font-headingFont"
13573
+ }, 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) {
13574
+ return e === null || e === void 0 ? void 0 : e.length;
13575
+ })) === 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, {
13576
+ className: "!bg-transparent !text-gray4",
13577
+ routeClassName: "!text-textButton",
13578
+ shopConfigStyle: shopConfigStyle,
13579
+ route: route,
13580
+ routes: routes,
13581
+ Link: Link
13582
+ })));
12924
13583
  };
12925
13584
 
12926
13585
  var About1 = function About1(props) {
@@ -12935,7 +13594,7 @@ var About1 = function About1(props) {
12935
13594
  data: data,
12936
13595
  shopConfigStyle: shopConfigStyle
12937
13596
  }) : null, /*#__PURE__*/React__default.createElement("div", {
12938
- className: "text-wrap",
13597
+ className: "text-wrap ck-content",
12939
13598
  dangerouslySetInnerHTML: {
12940
13599
  __html: shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopAbout
12941
13600
  }
@@ -12960,7 +13619,7 @@ var About5 = function About5(props) {
12960
13619
  className: "grid grid-cols-1 lg:grid-cols-2 gap-12 mt-4 md:mt-6"
12961
13620
  }, /*#__PURE__*/React__default.createElement("img", {
12962
13621
  src: sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$ = sectionData[0]) === null || _sectionData$ === void 0 ? void 0 : _sectionData$.srcImage,
12963
- className: "w-full hidden lg:block rounded-xl"
13622
+ className: "w-full object-cover hidden lg:block rounded-xl"
12964
13623
  }), /*#__PURE__*/React__default.createElement("div", {
12965
13624
  className: "ck-content text-wrap",
12966
13625
  dangerouslySetInnerHTML: {
@@ -12968,7 +13627,7 @@ var About5 = function About5(props) {
12968
13627
  }
12969
13628
  }), /*#__PURE__*/React__default.createElement("img", {
12970
13629
  src: sectionData === null || sectionData === void 0 ? void 0 : (_sectionData$2 = sectionData[0]) === null || _sectionData$2 === void 0 ? void 0 : _sectionData$2.srcImage,
12971
- className: "w-full block lg:hidden rounded-xl"
13630
+ className: "w-full block object-cover lg:hidden rounded-xl"
12972
13631
  })));
12973
13632
  };
12974
13633
 
@@ -13047,62 +13706,6 @@ var Contact1 = function Contact1(props) {
13047
13706
  }) : null));
13048
13707
  };
13049
13708
 
13050
- var Breadcrumb1 = function Breadcrumb1(props) {
13051
- var shopConfigStyle = props.shopConfigStyle,
13052
- route = props.route,
13053
- _props$routes = props.routes,
13054
- routes = _props$routes === void 0 ? [] : _props$routes,
13055
- _props$Link = props.Link,
13056
- Link = _props$Link === void 0 ? null : _props$Link;
13057
- var _shopConfigStyle$colo = shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.color,
13058
- _shopConfigStyle$colo3 = _shopConfigStyle$colo.textHeading,
13059
- textHeading = _shopConfigStyle$colo3 === void 0 ? "#000" : _shopConfigStyle$colo3;
13060
- var _useState = useState([]),
13061
- items = _useState[0],
13062
- setItems = _useState[1];
13063
- useEffect(function () {
13064
- getItems();
13065
- }, [route]);
13066
- var getItems = function getItems() {
13067
- var _route$route, _route$route$split, _route$route$split$fi, _items, _items2;
13068
- 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) {
13069
- return e === null || e === void 0 ? void 0 : e.length;
13070
- })) === null || _route$route$split$fi === void 0 ? void 0 : _route$route$split$fi.slice(0, 2);
13071
- items = (_items = items) === null || _items === void 0 ? void 0 : _items.map(function (e) {
13072
- var _e, _e$replace, _e$replace$replace, _e$replace$replace$re;
13073
- if (e === "product") e = "products";else if (e === "service") e = "services";
13074
- return (routes === null || routes === void 0 ? void 0 : routes.find(function (r) {
13075
- return (r === null || r === void 0 ? void 0 : r.name) === e;
13076
- })) || {
13077
- 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, "/")
13078
- };
13079
- });
13080
- (_items2 = items) === null || _items2 === void 0 ? void 0 : _items2.unshift({
13081
- name: "home",
13082
- label: "Trang chủ",
13083
- route: "/"
13084
- });
13085
- console.log(items);
13086
- setItems(items);
13087
- };
13088
- return /*#__PURE__*/React__default.createElement("div", {
13089
- className: SECTION_DEFAULT_CLASS + " !my-6 flex gap-2 overflow-x-auto scroll-custom"
13090
- }, items === null || items === void 0 ? void 0 : items.map(function (item, index) {
13091
- return /*#__PURE__*/React__default.createElement("div", {
13092
- key: index,
13093
- className: "flex gap-2 flex-shrink-0"
13094
- }, index ? /*#__PURE__*/React__default.createElement("div", {
13095
- className: "text-gray4"
13096
- }, "/") : null, item !== null && item !== void 0 && item.route ? /*#__PURE__*/React__default.createElement(LinkToPage, {
13097
- Link: Link,
13098
- href: convertURL(item === null || item === void 0 ? void 0 : item.route) || "#",
13099
- style: {
13100
- color: textHeading
13101
- }
13102
- }, item === null || item === void 0 ? void 0 : item.label) : /*#__PURE__*/React__default.createElement("div", null, item === null || item === void 0 ? void 0 : item.label));
13103
- }));
13104
- };
13105
-
13106
13709
  var getRegionApi = function getRegionApi(parentId) {
13107
13710
  return api({
13108
13711
  method: "get",
@@ -13220,96 +13823,6 @@ var RegionController = function RegionController(props) {
13220
13823
  };
13221
13824
  };
13222
13825
 
13223
- var TextArea = forwardRef(function (props, ref) {
13224
- var _props$label = props.label,
13225
- label = _props$label === void 0 ? "" : _props$label,
13226
- _props$placeholder = props.placeholder,
13227
- placeholder = _props$placeholder === void 0 ? "" : _props$placeholder,
13228
- _props$rules = props.rules,
13229
- rules = _props$rules === void 0 ? [] : _props$rules,
13230
- _props$textareaClassN = props.textareaClassName,
13231
- textareaClassName = _props$textareaClassN === void 0 ? "" : _props$textareaClassN,
13232
- _props$className = props.className,
13233
- className = _props$className === void 0 ? "" : _props$className,
13234
- _props$defaultValue = props.defaultValue,
13235
- defaultValue = _props$defaultValue === void 0 ? "" : _props$defaultValue,
13236
- _props$labelClassName = props.labelClassName,
13237
- labelClassName = _props$labelClassName === void 0 ? "" : _props$labelClassName,
13238
- _props$onChange = props.onChange,
13239
- onChange = _props$onChange === void 0 ? function () {} : _props$onChange;
13240
- var _useState = useState(defaultValue),
13241
- value = _useState[0],
13242
- _setValue = _useState[1];
13243
- var _useState2 = useState(""),
13244
- error = _useState2[0],
13245
- _setError = _useState2[1];
13246
- useImperativeHandle(ref, function () {
13247
- return {
13248
- validateData: function validateData() {
13249
- return _validateData();
13250
- },
13251
- setValue: function setValue(text) {
13252
- return _setValue(text);
13253
- },
13254
- getValue: function getValue() {
13255
- return value;
13256
- },
13257
- setError: function setError(err) {
13258
- return _setError(err);
13259
- }
13260
- };
13261
- });
13262
- var _validateData = function _validateData() {
13263
- var count = 0;
13264
- for (var _iterator = _createForOfIteratorHelperLoose(rules), _step; !(_step = _iterator()).done;) {
13265
- var _e$pattern;
13266
- var e = _step.value;
13267
- if ((e === null || e === void 0 ? void 0 : e.type) === 'required' && value === '') {
13268
- _setError(e === null || e === void 0 ? void 0 : e.message);
13269
- count++;
13270
- break;
13271
- } 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))) {
13272
- _setError(e === null || e === void 0 ? void 0 : e.message);
13273
- count++;
13274
- break;
13275
- }
13276
- }
13277
- if (count) {
13278
- return false;
13279
- } else {
13280
- _setError('');
13281
- return true;
13282
- }
13283
- };
13284
- var handleOnChangeValue = function handleOnChangeValue(e) {
13285
- var value = e.target.value;
13286
- _setValue(value);
13287
- onChange === null || onChange === void 0 ? void 0 : onChange(value);
13288
- };
13289
- var required = !!(rules !== null && rules !== void 0 && rules.find(function (e) {
13290
- return (e === null || e === void 0 ? void 0 : e.type) === "required";
13291
- }));
13292
- var labelRequired = required ? /*#__PURE__*/React__default.createElement("span", {
13293
- className: "text-danger"
13294
- }, " *") : null;
13295
- return /*#__PURE__*/React__default.createElement("div", {
13296
- className: "" + className
13297
- }, label ? /*#__PURE__*/React__default.createElement("div", {
13298
- className: "mb-1 " + labelClassName
13299
- }, label, labelRequired) : null, /*#__PURE__*/React__default.createElement("textarea", {
13300
- name: "",
13301
- id: "",
13302
- className: "focus:outline-none focus:ring-0 " + textareaClassName,
13303
- placeholder: placeholder,
13304
- value: value,
13305
- onChange: function onChange(e) {
13306
- handleOnChangeValue(e);
13307
- }
13308
- }), error ? /*#__PURE__*/React__default.createElement("div", {
13309
- className: "text-danger"
13310
- }, error) : null);
13311
- });
13312
-
13313
13826
  var FormCheckout = forwardRef(function (props, ref) {
13314
13827
  var _props$label = props.label,
13315
13828
  label = _props$label === void 0 ? "" : _props$label,
@@ -14383,6 +14896,37 @@ var ShopHighlights7 = function ShopHighlights7(props) {
14383
14896
  }));
14384
14897
  };
14385
14898
 
14899
+ var ShopHighlights8 = function ShopHighlights8(props) {
14900
+ var data = props.data,
14901
+ _props$Link = props.Link,
14902
+ Link = _props$Link === void 0 ? null : _props$Link,
14903
+ _props$SectionTitle = props.SectionTitle,
14904
+ SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
14905
+ var sectionData = data === null || data === void 0 ? void 0 : data.data;
14906
+ return /*#__PURE__*/React__default.createElement("div", {
14907
+ className: SECTION_CLASS + " flex flex-col gap-6 md:gap-10"
14908
+ }, /*#__PURE__*/React__default.createElement(SectionTitle, {
14909
+ data: data
14910
+ }), /*#__PURE__*/React__default.createElement("div", {
14911
+ className: "grid grid-cols-2 lg:grid-cols-4 gap-4 md:gap-10"
14912
+ }, sectionData === null || sectionData === void 0 ? void 0 : sectionData.map(function (item, index) {
14913
+ return /*#__PURE__*/React__default.createElement(LinkToPage, {
14914
+ Link: Link,
14915
+ href: convertURL(item === null || item === void 0 ? void 0 : item.route) || (item === null || item === void 0 ? void 0 : item.link) || "#",
14916
+ key: "kdf-" + index
14917
+ }, /*#__PURE__*/React__default.createElement("div", {
14918
+ className: "flex flex-col h-full gap-3"
14919
+ }, /*#__PURE__*/React__default.createElement("img", {
14920
+ src: item === null || item === void 0 ? void 0 : item.srcImage,
14921
+ className: "object-cover"
14922
+ }), /*#__PURE__*/React__default.createElement("div", {
14923
+ className: "text-2xl text-textBody"
14924
+ }, item === null || item === void 0 ? void 0 : item.title), /*#__PURE__*/React__default.createElement("div", {
14925
+ className: "flex-grow text-textBody leading-relaxed"
14926
+ }, item === null || item === void 0 ? void 0 : item.description)));
14927
+ })));
14928
+ };
14929
+
14386
14930
  var VideoFull1 = function VideoFull1(props) {
14387
14931
  var _data$data, _data$data$;
14388
14932
  var shopConfigStyle = props.shopConfigStyle,
@@ -14942,5 +15486,5 @@ var NewsDetail1 = function NewsDetail1(props) {
14942
15486
  }))));
14943
15487
  };
14944
15488
 
14945
- export { About1, About5, About6, Address1, Banner1, Banner2, Banner3, Banner7, BannerFull1, BannerFull2, Booking1, BookingForm6, Breadcrumb1, Button, Carts1, Contact1, CustomerRating1, CustomerRating10, CustomerRating5, CustomerRating6, DateTimePicker, Employees1, Features2, Features3, Footer1, Footer7, Gallery1, Hero1, Hero10, Hero11 as Hero12, Hero13, Hero2, Hero5, Hero6, Input, InputPhoneNumber, Links1, ModalNotification, NavBar1, NavBar7, News1, NewsDetail1, NewsHighlight1, PageTitle1, Partner1, ProductCategory2, ProductDetail10, ProductDetail11, ProductHighlight1, ProductHot1, ProductHot3, ProductImage, ProductItem2, ProductItem3, ProductItem4, ProductItem5, ProductItem6, ProductItem7, ProductList5, ProductList7, ProductSale2, ProductSearch1, Products10, Products11, Products2, Products3, Products9, ProductsTop1, SearchBar2, SearchBar5, SearchBar6, SearchProduct1, SectionTitle1, SectionTitle2, SectionTitle3, Select$1 as Select, ServiceDetail1, ShopHighlights2, ShopHighlights5, ShopHighlights6, ShopHighlights7, TextArea, TreatmentDetail1, TreatmentItem1, TreatmentsCategory7, TreatmentsList6, TreatmentsList7, VideoFull1 };
15489
+ export { About1, About5, About6, Address1, Banner1, Banner2, Banner3, Banner7, BannerFull1, BannerFull2, Booking1, BookingForm6, BookingTable1, Breadcrumb1, Button, Carts1, Contact1, CustomerRating1, CustomerRating10, CustomerRating5, CustomerRating6, CustomerRating8, DateTimePicker, Employees1, Features2, Features3, Footer1, Footer7, Gallery1, Gallery1$1 as Gallery2, Hero1, Hero10, Hero11, Hero12, Hero13, Hero2, Hero5, Hero6, Input, InputPhoneNumber, Links1, ModalNotification, NavBar1, NavBar7, News1, NewsDetail1, NewsHighlight1, PageTitle1, PageTitle2, PageTitle3, Partner1, ProductCategory2, ProductDetail10, ProductDetail11, ProductHighlight1, ProductHot1, ProductHot3, ProductImage, ProductItem2, ProductItem3, ProductItem4, ProductItem5, ProductItem6, ProductItem7, ProductItem8, ProductList5, ProductList7, ProductSale2, ProductSearch1, Products10, Products11, Products12, Products2, Products3, Products9, ProductsTop1, SearchBar2, SearchBar5, SearchBar6, SearchProduct1, SectionTitle1, SectionTitle2, SectionTitle3, SectionTitle4, Select$1 as Select, ServiceDetail1, ShopHighlights2, ShopHighlights5, ShopHighlights6, ShopHighlights7, ShopHighlights8, TextArea, TreatmentDetail1, TreatmentItem1, TreatmentsCategory7, TreatmentsList6, TreatmentsList7, VideoFull1 };
14946
15490
  //# sourceMappingURL=index.modern.js.map