s-platform-landing-section 0.1.12 → 0.1.14
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 +833 -833
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +829 -829
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -988,54 +988,7 @@ var Hero10 = function Hero10(props) {
|
|
|
988
988
|
})));
|
|
989
989
|
};
|
|
990
990
|
|
|
991
|
-
var Dash = function Dash(props) {
|
|
992
|
-
var _props$color = props.color,
|
|
993
|
-
color = _props$color === void 0 ? "#ccc" : _props$color,
|
|
994
|
-
_props$className = props.className,
|
|
995
|
-
className = _props$className === void 0 ? "" : _props$className;
|
|
996
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
997
|
-
className: "mx-auto w-full max-w-[240px] md:max-w-[720px] border-b-0 " + className,
|
|
998
|
-
style: {
|
|
999
|
-
backgroundImage: "repeating-linear-gradient(to right, " + color + " 0, " + color + " 10px, transparent 10px, transparent 20px)",
|
|
1000
|
-
height: "1px"
|
|
1001
|
-
}
|
|
1002
|
-
});
|
|
1003
|
-
};
|
|
1004
|
-
|
|
1005
|
-
var SECTION_DEFAULT_CLASS = "my-12 mx-4 xl:mx-20 bg-background";
|
|
1006
|
-
var SECTION_CLASS = "my-6 md:my-12 px-4 xl:px-20 bg-background";
|
|
1007
|
-
|
|
1008
991
|
var Hero11 = function Hero11(props) {
|
|
1009
|
-
var _data$data;
|
|
1010
|
-
var _props$shopConfigStyl = props.shopConfigStyle,
|
|
1011
|
-
shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
|
|
1012
|
-
_props$data = props.data,
|
|
1013
|
-
data = _props$data === void 0 ? {} : _props$data,
|
|
1014
|
-
_props$SectionTitle = props.SectionTitle,
|
|
1015
|
-
SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
|
|
1016
|
-
var _shopConfigStyle$colo = shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.color,
|
|
1017
|
-
_shopConfigStyle$colo3 = _shopConfigStyle$colo.secondary,
|
|
1018
|
-
secondary = _shopConfigStyle$colo3 === void 0 ? "#000" : _shopConfigStyle$colo3;
|
|
1019
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
1020
|
-
className: "" + SECTION_DEFAULT_CLASS
|
|
1021
|
-
}, /*#__PURE__*/React__default.createElement(SectionTitle, {
|
|
1022
|
-
data: data,
|
|
1023
|
-
shopConfigStyle: shopConfigStyle
|
|
1024
|
-
}), /*#__PURE__*/React__default.createElement("div", {
|
|
1025
|
-
className: "mt-6 grid grid-cols-2 md:grid-cols-4 gap-1 md:gap-2"
|
|
1026
|
-
}, data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.map(function (it, index) {
|
|
1027
|
-
var _it$srcImages;
|
|
1028
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
1029
|
-
key: index
|
|
1030
|
-
}, /*#__PURE__*/React__default.createElement("img", {
|
|
1031
|
-
src: it === null || it === void 0 ? void 0 : (_it$srcImages = it.srcImages) === null || _it$srcImages === void 0 ? void 0 : _it$srcImages[0]
|
|
1032
|
-
}));
|
|
1033
|
-
}))), /*#__PURE__*/React__default.createElement(Dash, {
|
|
1034
|
-
color: secondary
|
|
1035
|
-
}));
|
|
1036
|
-
};
|
|
1037
|
-
|
|
1038
|
-
var Hero11$1 = function Hero11(props) {
|
|
1039
992
|
var _data$data, _data$data$, _data$data$$srcImages, _data$data2, _data$data2$, _data$data3, _data$data3$;
|
|
1040
993
|
var _props$data = props.data,
|
|
1041
994
|
data = _props$data === void 0 ? {} : _props$data;
|
|
@@ -7334,55 +7287,8 @@ var Hero13 = function Hero13(props) {
|
|
|
7334
7287
|
}));
|
|
7335
7288
|
};
|
|
7336
7289
|
|
|
7337
|
-
var
|
|
7338
|
-
|
|
7339
|
-
var _props$shopConfigStyl = props.shopConfigStyle,
|
|
7340
|
-
shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
|
|
7341
|
-
_props$data = props.data,
|
|
7342
|
-
data = _props$data === void 0 ? {} : _props$data,
|
|
7343
|
-
_props$SectionTitle = props.SectionTitle,
|
|
7344
|
-
SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
|
|
7345
|
-
var _shopConfigStyle$colo = shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.color,
|
|
7346
|
-
_shopConfigStyle$colo3 = _shopConfigStyle$colo.secondary,
|
|
7347
|
-
secondary = _shopConfigStyle$colo3 === void 0 ? "#000" : _shopConfigStyle$colo3;
|
|
7348
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
7349
|
-
className: SECTION_DEFAULT_CLASS + " relative"
|
|
7350
|
-
}, /*#__PURE__*/React__default.createElement(SectionTitle, {
|
|
7351
|
-
data: data
|
|
7352
|
-
}), /*#__PURE__*/React__default.createElement("div", {
|
|
7353
|
-
className: "mt-6 grid grid-cols-3 gap-4 md:gap-8"
|
|
7354
|
-
}, data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.map(function (it, index) {
|
|
7355
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
7356
|
-
key: index,
|
|
7357
|
-
className: "pt-6 col-span-3 md:col-span-1"
|
|
7358
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
7359
|
-
className: "relative w-40 h-24 flex items-center justify-center m-auto md:m-0"
|
|
7360
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
7361
|
-
className: "absolute w-40 h-24 rounded-2xl z-10 bg-primary"
|
|
7362
|
-
}), /*#__PURE__*/React__default.createElement("div", {
|
|
7363
|
-
className: "absolute w-24 h-16 rounded-2xl -right-2 -top-2 z-0 bg-secondary"
|
|
7364
|
-
}), it !== null && it !== void 0 && it.svgImage ? /*#__PURE__*/React__default.createElement("div", {
|
|
7365
|
-
className: "w-12 text-primary h-16 w-16 z-20 m-auto"
|
|
7366
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
7367
|
-
dangerouslySetInnerHTML: {
|
|
7368
|
-
__html: configSvg(it === null || it === void 0 ? void 0 : it.svgImage)
|
|
7369
|
-
}
|
|
7370
|
-
})) : /*#__PURE__*/React__default.createElement("div", {
|
|
7371
|
-
className: "h-16 m-auto bg-center w-16 bg-cover bg-no-repeat z-20",
|
|
7372
|
-
style: {
|
|
7373
|
-
backgroundImage: "url(" + it.srcImage + ")"
|
|
7374
|
-
}
|
|
7375
|
-
})), /*#__PURE__*/React__default.createElement("p", {
|
|
7376
|
-
className: "mx-auto md:mt-3 md:mx-0 text-xl py-2 font-medium w-fit rounded-lg"
|
|
7377
|
-
}, it.title), /*#__PURE__*/React__default.createElement("div", {
|
|
7378
|
-
className: "mx-auto md:mx-0 mb-2 w-28 h-2px rounded-full bg-secondary"
|
|
7379
|
-
}), /*#__PURE__*/React__default.createElement("p", {
|
|
7380
|
-
className: "text-base mx-auto md:mx-0 text-center md:text-start"
|
|
7381
|
-
}, it.description));
|
|
7382
|
-
}))), /*#__PURE__*/React__default.createElement(Dash, {
|
|
7383
|
-
color: secondary
|
|
7384
|
-
}));
|
|
7385
|
-
};
|
|
7290
|
+
var SECTION_DEFAULT_CLASS = "my-12 mx-4 xl:mx-20 bg-background";
|
|
7291
|
+
var SECTION_CLASS = "my-6 md:my-12 px-4 xl:px-20 bg-background";
|
|
7386
7292
|
|
|
7387
7293
|
var Features2 = function Features2(props) {
|
|
7388
7294
|
var data = props.data;
|
|
@@ -7542,7 +7448,7 @@ var ProductController = function ProductController(props) {
|
|
|
7542
7448
|
};
|
|
7543
7449
|
};
|
|
7544
7450
|
|
|
7545
|
-
var _path
|
|
7451
|
+
var _path;
|
|
7546
7452
|
function _extends$1() {
|
|
7547
7453
|
return _extends$1 = Object.assign ? Object.assign.bind() : function (n) {
|
|
7548
7454
|
for (var e = 1; e < arguments.length; e++) {
|
|
@@ -7552,13 +7458,130 @@ function _extends$1() {
|
|
|
7552
7458
|
return n;
|
|
7553
7459
|
}, _extends$1.apply(null, arguments);
|
|
7554
7460
|
}
|
|
7555
|
-
function
|
|
7461
|
+
function SvgAngleSmallLeft(props) {
|
|
7556
7462
|
return /*#__PURE__*/React.createElement("svg", _extends$1({
|
|
7463
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
7464
|
+
viewBox: "0 0 24 24",
|
|
7465
|
+
width: 512,
|
|
7466
|
+
height: 512
|
|
7467
|
+
}, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
|
|
7468
|
+
d: "M10.6 12.71a1 1 0 010-1.42l4.59-4.58a1 1 0 000-1.42 1 1 0 00-1.41 0L9.19 9.88a3 3 0 000 4.24l4.59 4.59a1 1 0 00.7.29 1 1 0 00.71-.29 1 1 0 000-1.42z"
|
|
7469
|
+
})));
|
|
7470
|
+
}
|
|
7471
|
+
|
|
7472
|
+
var _path$1;
|
|
7473
|
+
function _extends$2() {
|
|
7474
|
+
return _extends$2 = Object.assign ? Object.assign.bind() : function (n) {
|
|
7475
|
+
for (var e = 1; e < arguments.length; e++) {
|
|
7476
|
+
var t = arguments[e];
|
|
7477
|
+
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
7478
|
+
}
|
|
7479
|
+
return n;
|
|
7480
|
+
}, _extends$2.apply(null, arguments);
|
|
7481
|
+
}
|
|
7482
|
+
function SvgAngleSmallRight(props) {
|
|
7483
|
+
return /*#__PURE__*/React.createElement("svg", _extends$2({
|
|
7484
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
7485
|
+
viewBox: "0 0 24 24",
|
|
7486
|
+
width: 512,
|
|
7487
|
+
height: 512
|
|
7488
|
+
}, props), _path$1 || (_path$1 = /*#__PURE__*/React.createElement("path", {
|
|
7489
|
+
d: "M15.4 9.88l-4.59-4.59a1 1 0 00-1.41 0 1 1 0 000 1.42l4.6 4.58a1 1 0 010 1.42l-4.6 4.58a1 1 0 001.41 1.42l4.59-4.59a3 3 0 000-4.24z"
|
|
7490
|
+
})));
|
|
7491
|
+
}
|
|
7492
|
+
|
|
7493
|
+
var ScrollHorizontal = function ScrollHorizontal(props) {
|
|
7494
|
+
var _props$datas = props.datas,
|
|
7495
|
+
datas = _props$datas === void 0 ? [] : _props$datas,
|
|
7496
|
+
_props$className = props.className,
|
|
7497
|
+
className = _props$className === void 0 ? "" : _props$className,
|
|
7498
|
+
_props$style = props.style,
|
|
7499
|
+
style = _props$style === void 0 ? {} : _props$style,
|
|
7500
|
+
_props$renderItem = props.renderItem,
|
|
7501
|
+
renderItem = _props$renderItem === void 0 ? function () {} : _props$renderItem;
|
|
7502
|
+
var scrollContainerRef = React.useRef(null);
|
|
7503
|
+
var _useState = React.useState(true),
|
|
7504
|
+
isScrolledToLeft = _useState[0],
|
|
7505
|
+
setIsScrolledToLeft = _useState[1];
|
|
7506
|
+
var _useState2 = React.useState(false),
|
|
7507
|
+
isScrolledToRight = _useState2[0],
|
|
7508
|
+
setIsScrolledToRight = _useState2[1];
|
|
7509
|
+
var checkScrollPosition = function checkScrollPosition() {
|
|
7510
|
+
if (scrollContainerRef.current) {
|
|
7511
|
+
var _scrollContainerRef$c = scrollContainerRef.current,
|
|
7512
|
+
_scrollLeft = _scrollContainerRef$c.scrollLeft,
|
|
7513
|
+
scrollWidth = _scrollContainerRef$c.scrollWidth,
|
|
7514
|
+
clientWidth = _scrollContainerRef$c.clientWidth;
|
|
7515
|
+
setIsScrolledToLeft(_scrollLeft === 0);
|
|
7516
|
+
setIsScrolledToRight(_scrollLeft + clientWidth >= scrollWidth);
|
|
7517
|
+
}
|
|
7518
|
+
};
|
|
7519
|
+
var scrollLeft = function scrollLeft() {
|
|
7520
|
+
if (scrollContainerRef.current) {
|
|
7521
|
+
scrollContainerRef.current.scrollBy({
|
|
7522
|
+
left: -200,
|
|
7523
|
+
behavior: "smooth"
|
|
7524
|
+
});
|
|
7525
|
+
setTimeout(checkScrollPosition, 300);
|
|
7526
|
+
}
|
|
7527
|
+
};
|
|
7528
|
+
var scrollRight = function scrollRight() {
|
|
7529
|
+
if (scrollContainerRef.current) {
|
|
7530
|
+
scrollContainerRef.current.scrollBy({
|
|
7531
|
+
left: 200,
|
|
7532
|
+
behavior: "smooth"
|
|
7533
|
+
});
|
|
7534
|
+
setTimeout(checkScrollPosition, 300);
|
|
7535
|
+
}
|
|
7536
|
+
};
|
|
7537
|
+
React.useEffect(function () {
|
|
7538
|
+
checkScrollPosition();
|
|
7539
|
+
}, [datas]);
|
|
7540
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
7541
|
+
className: "flex " + className,
|
|
7542
|
+
style: style
|
|
7543
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
7544
|
+
className: "flex w-full overflow-x-hidden",
|
|
7545
|
+
ref: scrollContainerRef,
|
|
7546
|
+
onScroll: checkScrollPosition
|
|
7547
|
+
}, datas === null || datas === void 0 ? void 0 : datas.map(function (item, index) {
|
|
7548
|
+
return renderItem(item, index);
|
|
7549
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
7550
|
+
className: "flex gap-2 items-center px-4"
|
|
7551
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
7552
|
+
onClick: scrollLeft,
|
|
7553
|
+
className: "cursor-pointer w-8 h-8 rounded-full flex justify-center items-center " + (isScrolledToLeft ? "bg-gray4" : "bg-primary")
|
|
7554
|
+
}, /*#__PURE__*/React__default.createElement(SvgAngleSmallLeft, {
|
|
7555
|
+
width: 24,
|
|
7556
|
+
height: 24,
|
|
7557
|
+
fill: "#fff"
|
|
7558
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
7559
|
+
onClick: scrollRight,
|
|
7560
|
+
className: "cursor-pointer w-8 h-8 rounded-full flex justify-center items-center " + (isScrolledToRight ? "bg-gray4" : "bg-primary")
|
|
7561
|
+
}, /*#__PURE__*/React__default.createElement(SvgAngleSmallRight, {
|
|
7562
|
+
width: 24,
|
|
7563
|
+
height: 24,
|
|
7564
|
+
fill: "#fff"
|
|
7565
|
+
}))));
|
|
7566
|
+
};
|
|
7567
|
+
|
|
7568
|
+
var _path$2, _path2, _path3;
|
|
7569
|
+
function _extends$3() {
|
|
7570
|
+
return _extends$3 = Object.assign ? Object.assign.bind() : function (n) {
|
|
7571
|
+
for (var e = 1; e < arguments.length; e++) {
|
|
7572
|
+
var t = arguments[e];
|
|
7573
|
+
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
7574
|
+
}
|
|
7575
|
+
return n;
|
|
7576
|
+
}, _extends$3.apply(null, arguments);
|
|
7577
|
+
}
|
|
7578
|
+
function SvgImageGallery(props) {
|
|
7579
|
+
return /*#__PURE__*/React.createElement("svg", _extends$3({
|
|
7557
7580
|
height: 512,
|
|
7558
7581
|
viewBox: "0 0 24 24",
|
|
7559
7582
|
width: 512,
|
|
7560
7583
|
xmlns: "http://www.w3.org/2000/svg"
|
|
7561
|
-
}, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
|
|
7584
|
+
}, props), _path$2 || (_path$2 = /*#__PURE__*/React.createElement("path", {
|
|
7562
7585
|
d: "M17.453 24c-.168 0-.34-.021-.51-.066L1.48 19.793a2.018 2.018 0 01-1.414-2.45l1.951-7.272a.5.5 0 01.966.258l-1.95 7.27c-.139.53.179 1.082.71 1.229L17.2 22.967a.995.995 0 001.217-.704l.781-2.894a.499.499 0 11.966.26l-.78 2.89A1.997 1.997 0 0117.453 24z"
|
|
7563
7586
|
})), _path2 || (_path2 = /*#__PURE__*/React.createElement("path", {
|
|
7564
7587
|
d: "M22 18H6c-1.103 0-2-.897-2-2V4c0-1.103.897-2 2-2h16c1.103 0 2 .897 2 2v12c0 1.103-.897 2-2 2zM6 3c-.551 0-1 .449-1 1v12c0 .551.449 1 1 1h16c.551 0 1-.449 1-1V4c0-.551-.449-1-1-1z"
|
|
@@ -7611,233 +7634,285 @@ var ProductImage = function ProductImage(props) {
|
|
|
7611
7634
|
});
|
|
7612
7635
|
};
|
|
7613
7636
|
|
|
7614
|
-
var
|
|
7615
|
-
|
|
7616
|
-
|
|
7617
|
-
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
if (modalRef.current && !modalRef.current.contains(event.target)) {
|
|
7622
|
-
if (onClose) onClose();
|
|
7623
|
-
if (onCloseFormBooking && typeof onCloseFormBooking === 'function') {
|
|
7624
|
-
onCloseFormBooking();
|
|
7625
|
-
}
|
|
7626
|
-
}
|
|
7627
|
-
};
|
|
7628
|
-
React.useEffect(function () {
|
|
7629
|
-
document.addEventListener('click', handleClickOutside);
|
|
7630
|
-
return function () {
|
|
7631
|
-
document.removeEventListener('click', handleClickOutside);
|
|
7632
|
-
};
|
|
7633
|
-
}, []);
|
|
7634
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
7635
|
-
className: "fixed inset-0 bg-black flex items-center justify-center bg-opacity-50 z-50 "
|
|
7636
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
7637
|
-
className: " flex items-center justify-center relative bg-red",
|
|
7638
|
-
ref: modalRef
|
|
7639
|
-
}, props === null || props === void 0 ? void 0 : props.children, isButtonClose && /*#__PURE__*/React__default.createElement("button", {
|
|
7640
|
-
className: "absolute top-4 right-4",
|
|
7641
|
-
onClick: onClose
|
|
7642
|
-
}, /*#__PURE__*/React__default.createElement(rx.RxCross2, null))));
|
|
7637
|
+
var formatCurrency = function formatCurrency(amount) {
|
|
7638
|
+
if (isNaN(amount)) {
|
|
7639
|
+
return '0 ₫';
|
|
7640
|
+
}
|
|
7641
|
+
var roundedAmount = Math.round(amount);
|
|
7642
|
+
var formattedAmount = roundedAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.');
|
|
7643
|
+
return formattedAmount + " \u20AB";
|
|
7643
7644
|
};
|
|
7645
|
+
var pattern = {
|
|
7646
|
+
phoneNumberPattern: /^(?:\+84|0)\d{9}$/
|
|
7647
|
+
};
|
|
7648
|
+
var numberPattern = /^\d+$/;
|
|
7644
7649
|
|
|
7645
|
-
|
|
7646
|
-
|
|
7647
|
-
|
|
7648
|
-
|
|
7649
|
-
|
|
7650
|
-
|
|
7651
|
-
|
|
7652
|
-
|
|
7653
|
-
|
|
7654
|
-
|
|
7655
|
-
|
|
7656
|
-
|
|
7657
|
-
|
|
7658
|
-
|
|
7659
|
-
|
|
7660
|
-
|
|
7661
|
-
|
|
7662
|
-
|
|
7663
|
-
|
|
7664
|
-
|
|
7650
|
+
function getMinMax(array, field) {
|
|
7651
|
+
if (!(array !== null && array !== void 0 && array.length) || !array[0].hasOwnProperty(field)) {
|
|
7652
|
+
return null;
|
|
7653
|
+
}
|
|
7654
|
+
var _array$reduce = array.reduce(function (acc, obj) {
|
|
7655
|
+
var value = obj[field];
|
|
7656
|
+
return {
|
|
7657
|
+
min: value < acc.min ? value : acc.min,
|
|
7658
|
+
max: value > acc.max ? value : acc.max
|
|
7659
|
+
};
|
|
7660
|
+
}, {
|
|
7661
|
+
min: array[0][field],
|
|
7662
|
+
max: array[0][field]
|
|
7663
|
+
}),
|
|
7664
|
+
min = _array$reduce.min,
|
|
7665
|
+
max = _array$reduce.max;
|
|
7666
|
+
return {
|
|
7667
|
+
min: min,
|
|
7668
|
+
max: max
|
|
7669
|
+
};
|
|
7670
|
+
}
|
|
7671
|
+
var ProductPrice = function ProductPrice(props) {
|
|
7672
|
+
var product = props.product,
|
|
7673
|
+
variant = props.variant,
|
|
7674
|
+
_props$className = props.className,
|
|
7675
|
+
className = _props$className === void 0 ? "" : _props$className,
|
|
7676
|
+
_props$style = props.style,
|
|
7677
|
+
style = _props$style === void 0 ? {} : _props$style;
|
|
7678
|
+
var _useState = React.useState(),
|
|
7679
|
+
displayPrice = _useState[0],
|
|
7680
|
+
setDisplayPrice = _useState[1];
|
|
7681
|
+
var _useState2 = React.useState(),
|
|
7682
|
+
displayPriceBeforeDiscount = _useState2[0],
|
|
7683
|
+
setDisplayPriceBeforeDiscount = _useState2[1];
|
|
7665
7684
|
React.useEffect(function () {
|
|
7666
|
-
if (
|
|
7667
|
-
|
|
7685
|
+
if (variant) {
|
|
7686
|
+
genProductPrice([variant]);
|
|
7687
|
+
} else if (product) {
|
|
7688
|
+
genProductPrice(product.variants);
|
|
7668
7689
|
}
|
|
7669
|
-
}, [
|
|
7670
|
-
var
|
|
7671
|
-
|
|
7672
|
-
|
|
7673
|
-
|
|
7674
|
-
|
|
7675
|
-
|
|
7676
|
-
|
|
7677
|
-
|
|
7678
|
-
|
|
7679
|
-
|
|
7680
|
-
|
|
7681
|
-
}
|
|
7682
|
-
|
|
7683
|
-
|
|
7684
|
-
}
|
|
7685
|
-
|
|
7690
|
+
}, [product, variant]);
|
|
7691
|
+
var genProductPrice = function genProductPrice(variants) {
|
|
7692
|
+
var mPrice = getMinMax(variants, 'price');
|
|
7693
|
+
var mPriceBeforeDiscount = getMinMax(variants, 'priceBeforeDiscount');
|
|
7694
|
+
if (mPrice && mPriceBeforeDiscount) {
|
|
7695
|
+
var _displayPriceBeforeDiscount = formatCurrency(mPriceBeforeDiscount.min);
|
|
7696
|
+
var _displayPrice = formatCurrency(mPrice.min);
|
|
7697
|
+
if (mPrice.min !== mPrice.max) {
|
|
7698
|
+
_displayPrice += " - " + formatCurrency(mPrice.max);
|
|
7699
|
+
}
|
|
7700
|
+
if (mPriceBeforeDiscount.min !== mPriceBeforeDiscount.max) {
|
|
7701
|
+
_displayPriceBeforeDiscount += " - " + formatCurrency(mPriceBeforeDiscount.max);
|
|
7702
|
+
}
|
|
7703
|
+
setDisplayPrice(_displayPrice);
|
|
7704
|
+
setDisplayPriceBeforeDiscount(_displayPriceBeforeDiscount);
|
|
7705
|
+
} else {
|
|
7706
|
+
var _displayPrice2 = formatCurrency(product === null || product === void 0 ? void 0 : product.price);
|
|
7707
|
+
setDisplayPrice(_displayPrice2);
|
|
7686
7708
|
}
|
|
7687
7709
|
};
|
|
7688
|
-
return {
|
|
7689
|
-
|
|
7690
|
-
|
|
7691
|
-
|
|
7710
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
7711
|
+
className: className
|
|
7712
|
+
}, displayPriceBeforeDiscount !== displayPrice && displayPriceBeforeDiscount != null ? /*#__PURE__*/React__default.createElement("span", {
|
|
7713
|
+
className: "text-gray3 line-through mr-2"
|
|
7714
|
+
}, displayPriceBeforeDiscount) : null, /*#__PURE__*/React__default.createElement("span", {
|
|
7715
|
+
className: "text-primary font-semibold",
|
|
7716
|
+
style: style
|
|
7717
|
+
}, displayPrice));
|
|
7692
7718
|
};
|
|
7693
7719
|
|
|
7694
|
-
var
|
|
7695
|
-
|
|
7696
|
-
|
|
7697
|
-
|
|
7698
|
-
|
|
7699
|
-
|
|
7700
|
-
|
|
7701
|
-
|
|
7702
|
-
|
|
7720
|
+
var ProductItem1 = function ProductItem1(props) {
|
|
7721
|
+
var product = props.product;
|
|
7722
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
7723
|
+
className: "flex"
|
|
7724
|
+
}, /*#__PURE__*/React__default.createElement(ProductImage, {
|
|
7725
|
+
product: product,
|
|
7726
|
+
className: "!w-20 rounded-lg"
|
|
7727
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
7728
|
+
className: "ml-4 border-b border-stroke flex-1"
|
|
7729
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
7730
|
+
className: "text-lg"
|
|
7731
|
+
}, product === null || product === void 0 ? void 0 : product.productName), /*#__PURE__*/React__default.createElement("div", {
|
|
7732
|
+
className: "flex mt-2"
|
|
7733
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
7734
|
+
className: "flex-1 text-gray3"
|
|
7735
|
+
}, getDurationValue(product === null || product === void 0 ? void 0 : product.attributes)), /*#__PURE__*/React__default.createElement(ProductPrice, {
|
|
7736
|
+
product: product
|
|
7737
|
+
}))));
|
|
7703
7738
|
};
|
|
7704
|
-
|
|
7705
|
-
|
|
7706
|
-
|
|
7707
|
-
|
|
7708
|
-
|
|
7709
|
-
|
|
7710
|
-
|
|
7711
|
-
|
|
7712
|
-
|
|
7713
|
-
|
|
7739
|
+
|
|
7740
|
+
var Dash = function Dash(props) {
|
|
7741
|
+
var _props$color = props.color,
|
|
7742
|
+
color = _props$color === void 0 ? "#ccc" : _props$color,
|
|
7743
|
+
_props$className = props.className,
|
|
7744
|
+
className = _props$className === void 0 ? "" : _props$className;
|
|
7745
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
7746
|
+
className: "mx-auto w-full max-w-[240px] md:max-w-[720px] border-b-0 " + className,
|
|
7747
|
+
style: {
|
|
7748
|
+
backgroundImage: "repeating-linear-gradient(to right, " + color + " 0, " + color + " 10px, transparent 10px, transparent 20px)",
|
|
7749
|
+
height: "1px"
|
|
7714
7750
|
}
|
|
7715
7751
|
});
|
|
7716
7752
|
};
|
|
7717
7753
|
|
|
7718
|
-
var
|
|
7719
|
-
var
|
|
7720
|
-
|
|
7721
|
-
|
|
7722
|
-
|
|
7723
|
-
|
|
7724
|
-
|
|
7725
|
-
|
|
7726
|
-
appId: "SSPA",
|
|
7727
|
-
customerName: customerName,
|
|
7728
|
-
customerPhone: customerPhone === null || customerPhone === void 0 ? void 0 : customerPhone.replace("+", ""),
|
|
7729
|
-
isSellService: true,
|
|
7730
|
-
scheduleDate: (_Date = new Date(scheduleDate)) === null || _Date === void 0 ? void 0 : _Date.getTime(),
|
|
7731
|
-
services: services === null || services === void 0 ? void 0 : services.map(function (_ref) {
|
|
7732
|
-
var productName = _ref.productName,
|
|
7733
|
-
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
7734
|
-
return rest;
|
|
7735
|
-
}),
|
|
7736
|
-
shopId: shopId
|
|
7737
|
-
};
|
|
7738
|
-
return Promise.resolve(createSpaScheduleApi(shopId, data));
|
|
7739
|
-
}, function (e) {
|
|
7740
|
-
console.log(e);
|
|
7741
|
-
}));
|
|
7742
|
-
} catch (e) {
|
|
7743
|
-
return Promise.reject(e);
|
|
7754
|
+
var Loading = function Loading(props) {
|
|
7755
|
+
var _props$size = props.size,
|
|
7756
|
+
size = _props$size === void 0 ? 24 : _props$size;
|
|
7757
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
7758
|
+
className: "border-4 boder-[rgba(255, 255, 255, 0.2)] rounded-full border-t-4 border-t-primary animate-spin",
|
|
7759
|
+
style: {
|
|
7760
|
+
width: size,
|
|
7761
|
+
height: size
|
|
7744
7762
|
}
|
|
7745
|
-
};
|
|
7746
|
-
return {
|
|
7747
|
-
createSchedule: createSchedule
|
|
7748
|
-
};
|
|
7763
|
+
});
|
|
7749
7764
|
};
|
|
7750
7765
|
|
|
7751
|
-
var
|
|
7752
|
-
var _props$
|
|
7753
|
-
|
|
7754
|
-
_props$
|
|
7755
|
-
|
|
7756
|
-
_props$
|
|
7757
|
-
|
|
7758
|
-
|
|
7759
|
-
|
|
7760
|
-
|
|
7761
|
-
|
|
7762
|
-
|
|
7763
|
-
|
|
7764
|
-
|
|
7765
|
-
|
|
7766
|
-
|
|
7767
|
-
|
|
7768
|
-
|
|
7769
|
-
|
|
7770
|
-
|
|
7771
|
-
|
|
7772
|
-
|
|
7773
|
-
|
|
7774
|
-
|
|
7775
|
-
|
|
7776
|
-
|
|
7777
|
-
|
|
7778
|
-
|
|
7779
|
-
|
|
7780
|
-
|
|
7781
|
-
|
|
7782
|
-
|
|
7783
|
-
|
|
7784
|
-
|
|
7785
|
-
|
|
7786
|
-
|
|
7787
|
-
|
|
7788
|
-
|
|
7789
|
-
|
|
7790
|
-
|
|
7791
|
-
|
|
7792
|
-
|
|
7793
|
-
|
|
7794
|
-
|
|
7795
|
-
|
|
7796
|
-
|
|
7797
|
-
|
|
7798
|
-
|
|
7799
|
-
|
|
7800
|
-
|
|
7801
|
-
|
|
7802
|
-
|
|
7803
|
-
|
|
7804
|
-
|
|
7805
|
-
if (isMulti) setValue(defaultValue);
|
|
7806
|
-
}, [defaultValue]);
|
|
7807
|
-
React.useEffect(function () {
|
|
7808
|
-
setListOptions(options);
|
|
7809
|
-
if (!isMulti) setValue(defaultValue);
|
|
7810
|
-
}, [options]);
|
|
7811
|
-
React.useEffect(function () {
|
|
7812
|
-
var _inputRef$current;
|
|
7813
|
-
inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
|
7814
|
-
var updateDropdownPosition = function updateDropdownPosition() {
|
|
7815
|
-
if (selectRef.current && dropdownRef.current) {
|
|
7816
|
-
var _selectRef$current, _window;
|
|
7817
|
-
var selectRect = selectRef === null || selectRef === void 0 ? void 0 : (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.getBoundingClientRect();
|
|
7818
|
-
var spaceBelow = ((_window = window) === null || _window === void 0 ? void 0 : _window.innerHeight) - (selectRect === null || selectRect === void 0 ? void 0 : selectRect.bottom);
|
|
7819
|
-
var spaceAbove = selectRect === null || selectRect === void 0 ? void 0 : selectRect.top;
|
|
7820
|
-
if (spaceBelow < spaceAbove) {
|
|
7821
|
-
setDropdownPosition('top');
|
|
7822
|
-
} else {
|
|
7823
|
-
setDropdownPosition('bottom');
|
|
7766
|
+
var TreatmentsCategory7 = function TreatmentsCategory7(props) {
|
|
7767
|
+
var _props$shopConfigStyl = props.shopConfigStyle,
|
|
7768
|
+
shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
|
|
7769
|
+
_props$data = props.data,
|
|
7770
|
+
data = _props$data === void 0 ? {} : _props$data,
|
|
7771
|
+
_props$SectionTitle = props.SectionTitle,
|
|
7772
|
+
SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
|
|
7773
|
+
var _shopConfigStyle$colo = shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.color,
|
|
7774
|
+
_shopConfigStyle$colo2 = _shopConfigStyle$colo.secondary,
|
|
7775
|
+
secondary = _shopConfigStyle$colo2 === void 0 ? "#000" : _shopConfigStyle$colo2;
|
|
7776
|
+
var _useState = React.useState({
|
|
7777
|
+
types: "1"
|
|
7778
|
+
}),
|
|
7779
|
+
params = _useState[0],
|
|
7780
|
+
setParams = _useState[1];
|
|
7781
|
+
var _CategoryController = CategoryController(_extends({}, props, {
|
|
7782
|
+
types: "1"
|
|
7783
|
+
})),
|
|
7784
|
+
categories = _CategoryController.categories;
|
|
7785
|
+
var _ProductController = ProductController(_extends({}, props, {
|
|
7786
|
+
params: params
|
|
7787
|
+
})),
|
|
7788
|
+
_ProductController$pr = _ProductController.products,
|
|
7789
|
+
products = _ProductController$pr === void 0 ? [] : _ProductController$pr,
|
|
7790
|
+
loading = _ProductController.loading;
|
|
7791
|
+
var _useState2 = React.useState(0),
|
|
7792
|
+
selectedCategory = _useState2[0],
|
|
7793
|
+
setSelectedCategory = _useState2[1];
|
|
7794
|
+
React.useEffect(function () {
|
|
7795
|
+
var newParams = _extends({}, params, {
|
|
7796
|
+
categoryId: selectedCategory
|
|
7797
|
+
});
|
|
7798
|
+
if (!selectedCategory) {
|
|
7799
|
+
delete newParams.categoryId;
|
|
7800
|
+
}
|
|
7801
|
+
setParams(newParams);
|
|
7802
|
+
}, [selectedCategory]);
|
|
7803
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
7804
|
+
className: SECTION_DEFAULT_CLASS + " relative"
|
|
7805
|
+
}, /*#__PURE__*/React__default.createElement(SectionTitle, {
|
|
7806
|
+
data: data,
|
|
7807
|
+
shopConfigStyle: shopConfigStyle
|
|
7808
|
+
}), /*#__PURE__*/React__default.createElement(ScrollHorizontal, {
|
|
7809
|
+
datas: [{
|
|
7810
|
+
categoryId: 0,
|
|
7811
|
+
cateName: "Tất cả"
|
|
7812
|
+
}].concat(categories),
|
|
7813
|
+
className: "mt-6 rounded-lg overflow-hidden bg-bgSecondary",
|
|
7814
|
+
renderItem: function renderItem(item, index) {
|
|
7815
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
7816
|
+
key: index,
|
|
7817
|
+
className: "p-3 flex gap-3 shrink-0 cursor-pointer text-base " + (selectedCategory === item.categoryId ? "bg-primary text-textButton" : ""),
|
|
7818
|
+
onClick: function onClick() {
|
|
7819
|
+
return setSelectedCategory(item.categoryId);
|
|
7824
7820
|
}
|
|
7825
|
-
}
|
|
7826
|
-
};
|
|
7827
|
-
if (isOpen) {
|
|
7828
|
-
updateDropdownPosition();
|
|
7829
|
-
window.addEventListener('resize', updateDropdownPosition);
|
|
7821
|
+
}, item === null || item === void 0 ? void 0 : item.cateName);
|
|
7830
7822
|
}
|
|
7831
|
-
|
|
7832
|
-
|
|
7833
|
-
|
|
7834
|
-
|
|
7823
|
+
}), loading ? /*#__PURE__*/React__default.createElement("div", {
|
|
7824
|
+
className: "flex w-full justify-center p-12"
|
|
7825
|
+
}, /*#__PURE__*/React__default.createElement(Loading, null)) : products !== null && products !== void 0 && products.length ? /*#__PURE__*/React__default.createElement("div", {
|
|
7826
|
+
className: "grid grid-cols-1 md:grid-cols-2 gap-10 mt-6"
|
|
7827
|
+
}, products === null || products === void 0 ? void 0 : products.map(function (product, index) {
|
|
7828
|
+
return /*#__PURE__*/React__default.createElement(ProductItem1, {
|
|
7829
|
+
key: index,
|
|
7830
|
+
product: product === null || product === void 0 ? void 0 : product.productInfo
|
|
7831
|
+
});
|
|
7832
|
+
})) : /*#__PURE__*/React__default.createElement("div", {
|
|
7833
|
+
className: "text-gray3 text-center p-12"
|
|
7834
|
+
}, "Kh\xF4ng c\xF3 d\u1ECBch v\u1EE5")), /*#__PURE__*/React__default.createElement(Dash, {
|
|
7835
|
+
color: secondary
|
|
7836
|
+
}));
|
|
7837
|
+
};
|
|
7838
|
+
|
|
7839
|
+
var NotFoundProduct = function NotFoundProduct() {
|
|
7840
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
7841
|
+
className: "h-60 flex flex-col justify-center items-center text-xl text-gray3"
|
|
7842
|
+
}, /*#__PURE__*/React__default.createElement(fa.FaBoxOpen, {
|
|
7843
|
+
size: 80
|
|
7844
|
+
}), /*#__PURE__*/React__default.createElement("div", null, "Kh\xF4ng c\xF3 s\u1EA3n ph\u1EA9m"));
|
|
7845
|
+
};
|
|
7846
|
+
|
|
7847
|
+
var TreatmentsList6 = function TreatmentsList6(props) {
|
|
7848
|
+
var _products$slice;
|
|
7849
|
+
var data = props.data,
|
|
7850
|
+
_props$Link = props.Link,
|
|
7851
|
+
Link = _props$Link === void 0 ? null : _props$Link,
|
|
7852
|
+
_props$SectionTitle = props.SectionTitle,
|
|
7853
|
+
SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle,
|
|
7854
|
+
_props$TreatmentItem = props.TreatmentItem,
|
|
7855
|
+
TreatmentItem = _props$TreatmentItem === void 0 ? null : _props$TreatmentItem,
|
|
7856
|
+
_props$shopConfigStyl = props.shopConfigStyle,
|
|
7857
|
+
shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl;
|
|
7858
|
+
var _useState = React.useState({
|
|
7859
|
+
size: 12,
|
|
7860
|
+
types: "1"
|
|
7861
|
+
}),
|
|
7862
|
+
params = _useState[0],
|
|
7863
|
+
setParams = _useState[1];
|
|
7864
|
+
var _useState2 = React.useState(true),
|
|
7865
|
+
isGetMore = _useState2[0],
|
|
7866
|
+
setIsGetMore = _useState2[1];
|
|
7867
|
+
var _ProductController = ProductController(_extends({}, props, {
|
|
7868
|
+
params: params
|
|
7869
|
+
})),
|
|
7870
|
+
products = _ProductController.products,
|
|
7871
|
+
loading = _ProductController.loading;
|
|
7872
|
+
var handleGetMoreProducts = function handleGetMoreProducts() {
|
|
7873
|
+
setIsGetMore(false);
|
|
7874
|
+
setParams(function (prev) {
|
|
7875
|
+
return _extends({}, prev, {
|
|
7876
|
+
size: (prev === null || prev === void 0 ? void 0 : prev.size) + 4
|
|
7877
|
+
});
|
|
7878
|
+
});
|
|
7879
|
+
};
|
|
7880
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
7881
|
+
className: SECTION_CLASS + " flex flex-col gap-8 "
|
|
7882
|
+
}, /*#__PURE__*/React__default.createElement(SectionTitle, {
|
|
7883
|
+
data: data,
|
|
7884
|
+
shopConfigStyle: shopConfigStyle
|
|
7885
|
+
}), loading && isGetMore ? /*#__PURE__*/React__default.createElement("div", {
|
|
7886
|
+
className: "m-auto mt-20 min-h-32"
|
|
7887
|
+
}, /*#__PURE__*/React__default.createElement(Loading, null)) : (products === null || products === void 0 ? void 0 : products.length) > 0 ? /*#__PURE__*/React__default.createElement("div", {
|
|
7888
|
+
className: "grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-x-2 gap-y-4 md:gap-4 xl:gap-6"
|
|
7889
|
+
}, products === null || products === void 0 ? void 0 : (_products$slice = products.slice(0, params.size - 4)) === null || _products$slice === void 0 ? void 0 : _products$slice.map(function (product, idx) {
|
|
7890
|
+
return /*#__PURE__*/React__default.createElement(TreatmentItem, {
|
|
7891
|
+
Link: Link,
|
|
7892
|
+
shopConfigStyle: shopConfigStyle,
|
|
7893
|
+
product: product === null || product === void 0 ? void 0 : product.productInfo,
|
|
7894
|
+
key: "htrhr-" + idx
|
|
7895
|
+
});
|
|
7896
|
+
})) : /*#__PURE__*/React__default.createElement(NotFoundProduct, null), !loading && (products === null || products === void 0 ? void 0 : products.length) > (params === null || params === void 0 ? void 0 : params.size) - 4 ? /*#__PURE__*/React__default.createElement(Button, {
|
|
7897
|
+
label: "Xem thêm",
|
|
7898
|
+
onClick: handleGetMoreProducts,
|
|
7899
|
+
className: "mx-auto " + (shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.buttonClass),
|
|
7900
|
+
type: "outline"
|
|
7901
|
+
}) : null);
|
|
7902
|
+
};
|
|
7903
|
+
|
|
7904
|
+
var ModalNotification = function ModalNotification(props) {
|
|
7905
|
+
var modalRef = React.useRef(null);
|
|
7906
|
+
var onClose = props.onClose,
|
|
7907
|
+
onCloseFormBooking = props.onCloseFormBooking,
|
|
7908
|
+
_props$isButtonClose = props.isButtonClose,
|
|
7909
|
+
isButtonClose = _props$isButtonClose === void 0 ? true : _props$isButtonClose;
|
|
7835
7910
|
var handleClickOutside = function handleClickOutside(event) {
|
|
7836
|
-
|
|
7837
|
-
|
|
7838
|
-
|
|
7839
|
-
|
|
7840
|
-
|
|
7911
|
+
if (modalRef.current && !modalRef.current.contains(event.target)) {
|
|
7912
|
+
if (onClose) onClose();
|
|
7913
|
+
if (onCloseFormBooking && typeof onCloseFormBooking === 'function') {
|
|
7914
|
+
onCloseFormBooking();
|
|
7915
|
+
}
|
|
7841
7916
|
}
|
|
7842
7917
|
};
|
|
7843
7918
|
React.useEffect(function () {
|
|
@@ -7846,45 +7921,260 @@ var Select = React.forwardRef(function (props, ref) {
|
|
|
7846
7921
|
document.removeEventListener('click', handleClickOutside);
|
|
7847
7922
|
};
|
|
7848
7923
|
}, []);
|
|
7849
|
-
|
|
7850
|
-
|
|
7851
|
-
|
|
7852
|
-
|
|
7853
|
-
|
|
7854
|
-
|
|
7855
|
-
|
|
7856
|
-
|
|
7857
|
-
|
|
7924
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
7925
|
+
className: "fixed inset-0 bg-black flex items-center justify-center bg-opacity-50 z-50 "
|
|
7926
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
7927
|
+
className: " flex items-center justify-center relative bg-red",
|
|
7928
|
+
ref: modalRef
|
|
7929
|
+
}, props === null || props === void 0 ? void 0 : props.children, isButtonClose && /*#__PURE__*/React__default.createElement("button", {
|
|
7930
|
+
className: "absolute top-4 right-4",
|
|
7931
|
+
onClick: onClose
|
|
7932
|
+
}, /*#__PURE__*/React__default.createElement(rx.RxCross2, null))));
|
|
7933
|
+
};
|
|
7934
|
+
|
|
7935
|
+
var getEmployeeListApi = function getEmployeeListApi(shopId) {
|
|
7936
|
+
return api({
|
|
7937
|
+
method: "get",
|
|
7938
|
+
url: "/chain-employment-profile/filter-employ-by-customer",
|
|
7939
|
+
params: {
|
|
7940
|
+
shopIds: shopId
|
|
7941
|
+
},
|
|
7942
|
+
headers: {
|
|
7943
|
+
shopId: shopId
|
|
7944
|
+
}
|
|
7858
7945
|
});
|
|
7859
|
-
|
|
7860
|
-
|
|
7861
|
-
|
|
7862
|
-
|
|
7863
|
-
|
|
7864
|
-
|
|
7865
|
-
var
|
|
7866
|
-
|
|
7867
|
-
|
|
7868
|
-
|
|
7869
|
-
|
|
7870
|
-
|
|
7871
|
-
_setError(e === null || e === void 0 ? void 0 : e.message);
|
|
7872
|
-
count++;
|
|
7873
|
-
break;
|
|
7874
|
-
} 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))) {
|
|
7875
|
-
_setError(e === null || e === void 0 ? void 0 : e.message);
|
|
7876
|
-
count++;
|
|
7877
|
-
break;
|
|
7878
|
-
}
|
|
7946
|
+
};
|
|
7947
|
+
|
|
7948
|
+
var EmployeeController = function EmployeeController(props) {
|
|
7949
|
+
var _props$isAutoGetList = props.isAutoGetList,
|
|
7950
|
+
isAutoGetList = _props$isAutoGetList === void 0 ? true : _props$isAutoGetList,
|
|
7951
|
+
shopConfig = props.shopConfig;
|
|
7952
|
+
var _useState = React.useState([]),
|
|
7953
|
+
listEmployment = _useState[0],
|
|
7954
|
+
setListEmployment = _useState[1];
|
|
7955
|
+
React.useEffect(function () {
|
|
7956
|
+
if (isAutoGetList) {
|
|
7957
|
+
getListEmployee();
|
|
7879
7958
|
}
|
|
7880
|
-
|
|
7881
|
-
|
|
7882
|
-
|
|
7883
|
-
|
|
7884
|
-
|
|
7959
|
+
}, [isAutoGetList]);
|
|
7960
|
+
var getListEmployee = function getListEmployee() {
|
|
7961
|
+
try {
|
|
7962
|
+
return Promise.resolve(_catch(function () {
|
|
7963
|
+
return Promise.resolve(getEmployeeListApi(shopConfig === null || shopConfig === void 0 ? void 0 : shopConfig.shopId)).then(function (res) {
|
|
7964
|
+
var _res$data, _res$data$status;
|
|
7965
|
+
if ((res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : (_res$data$status = _res$data.status) === null || _res$data$status === void 0 ? void 0 : _res$data$status.code) == 200) {
|
|
7966
|
+
var _res$data2;
|
|
7967
|
+
setListEmployment((res === null || res === void 0 ? void 0 : (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.data) || []);
|
|
7968
|
+
}
|
|
7969
|
+
return res;
|
|
7970
|
+
});
|
|
7971
|
+
}, function (e) {
|
|
7972
|
+
console.log(e);
|
|
7973
|
+
}));
|
|
7974
|
+
} catch (e) {
|
|
7975
|
+
return Promise.reject(e);
|
|
7885
7976
|
}
|
|
7886
7977
|
};
|
|
7887
|
-
|
|
7978
|
+
return {
|
|
7979
|
+
listEmployment: listEmployment,
|
|
7980
|
+
getListEmployee: getListEmployee
|
|
7981
|
+
};
|
|
7982
|
+
};
|
|
7983
|
+
|
|
7984
|
+
var createSpaScheduleApi = function createSpaScheduleApi(shopId, data) {
|
|
7985
|
+
return api({
|
|
7986
|
+
method: "post",
|
|
7987
|
+
url: "/spa-schedule/customer/create",
|
|
7988
|
+
data: data,
|
|
7989
|
+
headers: {
|
|
7990
|
+
shopId: shopId
|
|
7991
|
+
}
|
|
7992
|
+
});
|
|
7993
|
+
};
|
|
7994
|
+
var draftOrderWithoutLoginApi = function draftOrderWithoutLoginApi(shopId, data) {
|
|
7995
|
+
return api({
|
|
7996
|
+
method: "post",
|
|
7997
|
+
url: "/spa/orders/draft-online-without-login",
|
|
7998
|
+
params: {
|
|
7999
|
+
shopId: shopId
|
|
8000
|
+
},
|
|
8001
|
+
data: data,
|
|
8002
|
+
headers: {
|
|
8003
|
+
shopId: shopId
|
|
8004
|
+
}
|
|
8005
|
+
});
|
|
8006
|
+
};
|
|
8007
|
+
|
|
8008
|
+
var _excluded$1 = ["productName"];
|
|
8009
|
+
var BookingController = function BookingController(props) {
|
|
8010
|
+
_objectDestructuringEmpty(props);
|
|
8011
|
+
var createSchedule = function createSchedule(customerName, customerPhone, scheduleDate, services, shopId) {
|
|
8012
|
+
try {
|
|
8013
|
+
return Promise.resolve(_catch(function () {
|
|
8014
|
+
var _Date;
|
|
8015
|
+
var data = {
|
|
8016
|
+
appId: "SSPA",
|
|
8017
|
+
customerName: customerName,
|
|
8018
|
+
customerPhone: customerPhone === null || customerPhone === void 0 ? void 0 : customerPhone.replace("+", ""),
|
|
8019
|
+
isSellService: true,
|
|
8020
|
+
scheduleDate: (_Date = new Date(scheduleDate)) === null || _Date === void 0 ? void 0 : _Date.getTime(),
|
|
8021
|
+
services: services === null || services === void 0 ? void 0 : services.map(function (_ref) {
|
|
8022
|
+
var productName = _ref.productName,
|
|
8023
|
+
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
8024
|
+
return rest;
|
|
8025
|
+
}),
|
|
8026
|
+
shopId: shopId
|
|
8027
|
+
};
|
|
8028
|
+
return Promise.resolve(createSpaScheduleApi(shopId, data));
|
|
8029
|
+
}, function (e) {
|
|
8030
|
+
console.log(e);
|
|
8031
|
+
}));
|
|
8032
|
+
} catch (e) {
|
|
8033
|
+
return Promise.reject(e);
|
|
8034
|
+
}
|
|
8035
|
+
};
|
|
8036
|
+
return {
|
|
8037
|
+
createSchedule: createSchedule
|
|
8038
|
+
};
|
|
8039
|
+
};
|
|
8040
|
+
|
|
8041
|
+
var Select = React.forwardRef(function (props, ref) {
|
|
8042
|
+
var _props$label = props.label,
|
|
8043
|
+
label = _props$label === void 0 ? "" : _props$label,
|
|
8044
|
+
_props$labelClassName = props.labelClassName,
|
|
8045
|
+
labelClassName = _props$labelClassName === void 0 ? "" : _props$labelClassName,
|
|
8046
|
+
_props$placeholder = props.placeholder,
|
|
8047
|
+
placeholder = _props$placeholder === void 0 ? "" : _props$placeholder,
|
|
8048
|
+
_props$className = props.className,
|
|
8049
|
+
className = _props$className === void 0 ? "" : _props$className,
|
|
8050
|
+
_props$optionClassNam = props.optionClassName,
|
|
8051
|
+
optionClassName = _props$optionClassNam === void 0 ? "" : _props$optionClassNam,
|
|
8052
|
+
_props$wrapClassName = props.wrapClassName,
|
|
8053
|
+
wrapClassName = _props$wrapClassName === void 0 ? "" : _props$wrapClassName,
|
|
8054
|
+
_props$selectClassNam = props.selectClassName,
|
|
8055
|
+
selectClassName = _props$selectClassNam === void 0 ? "" : _props$selectClassNam,
|
|
8056
|
+
_props$rules = props.rules,
|
|
8057
|
+
rules = _props$rules === void 0 ? [] : _props$rules,
|
|
8058
|
+
options = props.options,
|
|
8059
|
+
_props$defaultValue = props.defaultValue,
|
|
8060
|
+
defaultValue = _props$defaultValue === void 0 ? {} : _props$defaultValue,
|
|
8061
|
+
handleSearchOption = props.handleSearchOption,
|
|
8062
|
+
_props$isMulti = props.isMulti,
|
|
8063
|
+
isMulti = _props$isMulti === void 0 ? false : _props$isMulti,
|
|
8064
|
+
_props$onClick = props.onClick,
|
|
8065
|
+
onClick = _props$onClick === void 0 ? function () {} : _props$onClick,
|
|
8066
|
+
_props$isButtonDelete = props.isButtonDelete,
|
|
8067
|
+
isButtonDelete = _props$isButtonDelete === void 0 ? false : _props$isButtonDelete,
|
|
8068
|
+
_props$funcDelete = props.funcDelete,
|
|
8069
|
+
funcDelete = _props$funcDelete === void 0 ? function () {} : _props$funcDelete,
|
|
8070
|
+
_props$isSearch = props.isSearch,
|
|
8071
|
+
isSearch = _props$isSearch === void 0 ? true : _props$isSearch,
|
|
8072
|
+
renderItem = props.renderItem;
|
|
8073
|
+
var _useState = React.useState(false),
|
|
8074
|
+
isOpen = _useState[0],
|
|
8075
|
+
setIsOpen = _useState[1];
|
|
8076
|
+
var selectRef = React.useRef(null);
|
|
8077
|
+
var _useState2 = React.useState(""),
|
|
8078
|
+
error = _useState2[0],
|
|
8079
|
+
_setError = _useState2[1];
|
|
8080
|
+
var _useState3 = React.useState(""),
|
|
8081
|
+
inputSearch = _useState3[0],
|
|
8082
|
+
setInputSearch = _useState3[1];
|
|
8083
|
+
var _useState4 = React.useState(defaultValue),
|
|
8084
|
+
value = _useState4[0],
|
|
8085
|
+
setValue = _useState4[1];
|
|
8086
|
+
var _useState5 = React.useState(options),
|
|
8087
|
+
listOptions = _useState5[0],
|
|
8088
|
+
setListOptions = _useState5[1];
|
|
8089
|
+
var dropdownRef = React.useRef(null);
|
|
8090
|
+
var _useState6 = React.useState('bottom'),
|
|
8091
|
+
dropdownPosition = _useState6[0],
|
|
8092
|
+
setDropdownPosition = _useState6[1];
|
|
8093
|
+
var inputRef = React.useRef(null);
|
|
8094
|
+
React.useEffect(function () {
|
|
8095
|
+
if (isMulti) setValue(defaultValue);
|
|
8096
|
+
}, [defaultValue]);
|
|
8097
|
+
React.useEffect(function () {
|
|
8098
|
+
setListOptions(options);
|
|
8099
|
+
if (!isMulti) setValue(defaultValue);
|
|
8100
|
+
}, [options]);
|
|
8101
|
+
React.useEffect(function () {
|
|
8102
|
+
var _inputRef$current;
|
|
8103
|
+
inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
|
8104
|
+
var updateDropdownPosition = function updateDropdownPosition() {
|
|
8105
|
+
if (selectRef.current && dropdownRef.current) {
|
|
8106
|
+
var _selectRef$current, _window;
|
|
8107
|
+
var selectRect = selectRef === null || selectRef === void 0 ? void 0 : (_selectRef$current = selectRef.current) === null || _selectRef$current === void 0 ? void 0 : _selectRef$current.getBoundingClientRect();
|
|
8108
|
+
var spaceBelow = ((_window = window) === null || _window === void 0 ? void 0 : _window.innerHeight) - (selectRect === null || selectRect === void 0 ? void 0 : selectRect.bottom);
|
|
8109
|
+
var spaceAbove = selectRect === null || selectRect === void 0 ? void 0 : selectRect.top;
|
|
8110
|
+
if (spaceBelow < spaceAbove) {
|
|
8111
|
+
setDropdownPosition('top');
|
|
8112
|
+
} else {
|
|
8113
|
+
setDropdownPosition('bottom');
|
|
8114
|
+
}
|
|
8115
|
+
}
|
|
8116
|
+
};
|
|
8117
|
+
if (isOpen) {
|
|
8118
|
+
updateDropdownPosition();
|
|
8119
|
+
window.addEventListener('resize', updateDropdownPosition);
|
|
8120
|
+
}
|
|
8121
|
+
return function () {
|
|
8122
|
+
window.removeEventListener('resize', updateDropdownPosition);
|
|
8123
|
+
};
|
|
8124
|
+
}, [isOpen]);
|
|
8125
|
+
var handleClickOutside = function handleClickOutside(event) {
|
|
8126
|
+
var _selectRef$current2;
|
|
8127
|
+
if (selectRef !== null && selectRef !== void 0 && selectRef.current && !(selectRef !== null && selectRef !== void 0 && (_selectRef$current2 = selectRef.current) !== null && _selectRef$current2 !== void 0 && _selectRef$current2.contains(event.target))) {
|
|
8128
|
+
setIsOpen(false);
|
|
8129
|
+
setInputSearch("");
|
|
8130
|
+
setListOptions(options);
|
|
8131
|
+
}
|
|
8132
|
+
};
|
|
8133
|
+
React.useEffect(function () {
|
|
8134
|
+
document.addEventListener('click', handleClickOutside);
|
|
8135
|
+
return function () {
|
|
8136
|
+
document.removeEventListener('click', handleClickOutside);
|
|
8137
|
+
};
|
|
8138
|
+
}, []);
|
|
8139
|
+
React.useImperativeHandle(ref, function () {
|
|
8140
|
+
return {
|
|
8141
|
+
validateData: function validateData() {
|
|
8142
|
+
return _validateData();
|
|
8143
|
+
},
|
|
8144
|
+
setError: function setError(err) {
|
|
8145
|
+
return _setError(err);
|
|
8146
|
+
}
|
|
8147
|
+
};
|
|
8148
|
+
});
|
|
8149
|
+
var isEmpty = function isEmpty(value) {
|
|
8150
|
+
var _Object$keys;
|
|
8151
|
+
if (Array !== null && Array !== void 0 && Array.isArray(value)) return (value === null || value === void 0 ? void 0 : value.length) <= 0;
|
|
8152
|
+
if (typeof value === 'object') return (Object === null || Object === void 0 ? void 0 : (_Object$keys = Object.keys(value)) === null || _Object$keys === void 0 ? void 0 : _Object$keys.length) <= 0;
|
|
8153
|
+
return false;
|
|
8154
|
+
};
|
|
8155
|
+
var _validateData = function _validateData() {
|
|
8156
|
+
var count = 0;
|
|
8157
|
+
for (var _iterator = _createForOfIteratorHelperLoose(rules), _step; !(_step = _iterator()).done;) {
|
|
8158
|
+
var _e$pattern;
|
|
8159
|
+
var e = _step.value;
|
|
8160
|
+
if ((e === null || e === void 0 ? void 0 : e.type) === 'required' && isEmpty(value)) {
|
|
8161
|
+
_setError(e === null || e === void 0 ? void 0 : e.message);
|
|
8162
|
+
count++;
|
|
8163
|
+
break;
|
|
8164
|
+
} 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))) {
|
|
8165
|
+
_setError(e === null || e === void 0 ? void 0 : e.message);
|
|
8166
|
+
count++;
|
|
8167
|
+
break;
|
|
8168
|
+
}
|
|
8169
|
+
}
|
|
8170
|
+
if (count) {
|
|
8171
|
+
return false;
|
|
8172
|
+
} else {
|
|
8173
|
+
_setError('');
|
|
8174
|
+
return true;
|
|
8175
|
+
}
|
|
8176
|
+
};
|
|
8177
|
+
var handleSearch = function handleSearch(e) {
|
|
7888
8178
|
var searchValue = e.target.value;
|
|
7889
8179
|
setInputSearch(searchValue);
|
|
7890
8180
|
if (handleSearchOption && typeof handleSearchOption === 'function') {
|
|
@@ -8228,19 +8518,6 @@ var InputPhoneNumber = React.forwardRef(function (props, ref) {
|
|
|
8228
8518
|
}, error) : null);
|
|
8229
8519
|
});
|
|
8230
8520
|
|
|
8231
|
-
var formatCurrency = function formatCurrency(amount) {
|
|
8232
|
-
if (isNaN(amount)) {
|
|
8233
|
-
return '0 ₫';
|
|
8234
|
-
}
|
|
8235
|
-
var roundedAmount = Math.round(amount);
|
|
8236
|
-
var formattedAmount = roundedAmount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.');
|
|
8237
|
-
return formattedAmount + " \u20AB";
|
|
8238
|
-
};
|
|
8239
|
-
var pattern = {
|
|
8240
|
-
phoneNumberPattern: /^(?:\+84|0)\d{9}$/
|
|
8241
|
-
};
|
|
8242
|
-
var numberPattern = /^\d+$/;
|
|
8243
|
-
|
|
8244
8521
|
var dayjs_min = createCommonjsModule(function (module, exports) {
|
|
8245
8522
|
!function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p="$isDayjsObject",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0;}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return b},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f="set"+(this.$u?"UTC":""),l=(n={},n[a]=f+"Date",n[d]=f+"Date",n[c]=f+"Month",n[h]=f+"FullYear",n[u]=f+"Hours",n[s]=f+"Minutes",n[i]=f+"Seconds",n[r]=f+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,"0")},$=f||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case"YY":return String(e.$y).slice(-2);case"YYYY":return b.s(e.$y,4,"0");case"M":return a+1;case"MM":return b.s(a+1,2,"0");case"MMM":return h(n.monthsShort,a,c,3);case"MMMM":return h(c,a);case"D":return e.$D;case"DD":return b.s(e.$D,2,"0");case"d":return String(e.$W);case"dd":return h(n.weekdaysMin,e.$W,o,2);case"ddd":return h(n.weekdaysShort,e.$W,o,3);case"dddd":return o[e.$W];case"H":return String(s);case"HH":return b.s(s,2,"0");case"h":return d(1);case"hh":return d(2);case"a":return $(s,u,!0);case"A":return $(s,u,!1);case"m":return String(u);case"mm":return b.s(u,2,"0");case"s":return String(e.$s);case"ss":return b.s(e.$s,2,"0");case"SSS":return b.s(e.$ms,3,"0");case"Z":return i}return null}(t)||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g;}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));
|
|
8246
8523
|
});
|
|
@@ -8697,492 +8974,135 @@ var BookingForm = function BookingForm(props) {
|
|
|
8697
8974
|
})) : null, /*#__PURE__*/React__default.createElement("div", {
|
|
8698
8975
|
className: "text-center"
|
|
8699
8976
|
}, /*#__PURE__*/React__default.createElement(Button, {
|
|
8700
|
-
label: "Đặt lịch ngay",
|
|
8701
|
-
shopConfigStyle: shopConfigStyle,
|
|
8702
|
-
onClick: handleSubmit
|
|
8703
|
-
})), isOpenPopup && /*#__PURE__*/React__default.createElement(ModalNotification, {
|
|
8704
|
-
onCloseFormBooking: onCloseFormBooking,
|
|
8705
|
-
onClose: handleClosePopup
|
|
8706
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
8707
|
-
className: "bg-white rounded-lg shadow-lg p-6 max-w-sm flex flex-col items-center justify-center min-w-[320px] md:min-w-[650px] min-h-[420px] md:min-h-[380px] lg:h-auto "
|
|
8708
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
8709
|
-
className: "h-20 mb-4 flex items-center justify-center"
|
|
8710
|
-
}, /*#__PURE__*/React__default.createElement(fa.FaCheckCircle, {
|
|
8711
|
-
className: "h-full text-green-500",
|
|
8712
|
-
style: {
|
|
8713
|
-
fontSize: "150px"
|
|
8714
|
-
}
|
|
8715
|
-
})), /*#__PURE__*/React__default.createElement("div", {
|
|
8716
|
-
className: "mb-2"
|
|
8717
|
-
}, "Kh\xE1ch h\xE0ng: ", dataBooking === null || dataBooking === void 0 ? void 0 : dataBooking.customerName), /*#__PURE__*/React__default.createElement("div", {
|
|
8718
|
-
className: "mb-2"
|
|
8719
|
-
}, "S\u1ED1 \u0111i\u1EC7n tho\u1EA1i: ", dataBooking === null || dataBooking === void 0 ? void 0 : dataBooking.customerPhone), /*#__PURE__*/React__default.createElement("div", {
|
|
8720
|
-
className: "mb-4"
|
|
8721
|
-
}, "Th\u1EDDi gian: ", dayjs_min(dataBooking === null || dataBooking === void 0 ? void 0 : dataBooking.scheduleDate).format("DD/MM/YYYY")), token ? /*#__PURE__*/React__default.createElement("div", null) : /*#__PURE__*/React__default.createElement("div", {
|
|
8722
|
-
className: "flex flex-col items-center"
|
|
8723
|
-
}, /*#__PURE__*/React__default.createElement("p", {
|
|
8724
|
-
className: "mb-4 text-center"
|
|
8725
|
-
}, "B\u1EA1n \u0111\xE3 c\xF3 t\xE0i kho\u1EA3n, vui l\xF2ng \u0111\u0103ng nh\u1EADp \u0111\u1EC3 xem chi ti\u1EBFt c\xE1c s\u1EA3n ph\u1EA9m, d\u1ECBch v\u1EE5 li\u1EC7u tr\xECnh m\xE0 b\u1EA1n \u0111ang s\u1EDF h\u1EEFu"), /*#__PURE__*/React__default.createElement(Button, {
|
|
8726
|
-
label: "Đăng nhập",
|
|
8727
|
-
shopConfigStyle: shopConfigStyle
|
|
8728
|
-
})))));
|
|
8729
|
-
};
|
|
8730
|
-
|
|
8731
|
-
var Treatments1 = function Treatments1(props) {
|
|
8732
|
-
var _props$shopConfigStyl = props.shopConfigStyle,
|
|
8733
|
-
shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
|
|
8734
|
-
_props$shopConfig = props.shopConfig,
|
|
8735
|
-
shopConfig = _props$shopConfig === void 0 ? {} : _props$shopConfig,
|
|
8736
|
-
_props$data = props.data,
|
|
8737
|
-
data = _props$data === void 0 ? {} : _props$data,
|
|
8738
|
-
_props$SectionTitle = props.SectionTitle,
|
|
8739
|
-
SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
|
|
8740
|
-
var _shopConfigStyle$colo = shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.color,
|
|
8741
|
-
_shopConfigStyle$colo3 = _shopConfigStyle$colo.secondary,
|
|
8742
|
-
secondary = _shopConfigStyle$colo3 === void 0 ? "#000" : _shopConfigStyle$colo3;
|
|
8743
|
-
var _useState = React.useState({
|
|
8744
|
-
size: 10,
|
|
8745
|
-
types: "1,10",
|
|
8746
|
-
isHighlight: true
|
|
8747
|
-
}),
|
|
8748
|
-
params = _useState[0];
|
|
8749
|
-
var _useState2 = React.useState(false),
|
|
8750
|
-
isOpenModal = _useState2[0],
|
|
8751
|
-
setIsOpenModal = _useState2[1];
|
|
8752
|
-
var _useState3 = React.useState([]),
|
|
8753
|
-
dataBooking = _useState3[0],
|
|
8754
|
-
setDataBooking = _useState3[1];
|
|
8755
|
-
var _ProductController = ProductController(_extends({}, props, {
|
|
8756
|
-
params: params
|
|
8757
|
-
})),
|
|
8758
|
-
_ProductController$pr = _ProductController.products,
|
|
8759
|
-
products = _ProductController$pr === void 0 ? [] : _ProductController$pr;
|
|
8760
|
-
console.log("treatment1:", products);
|
|
8761
|
-
var handleOpenModalBooking = function handleOpenModalBooking(event, data) {
|
|
8762
|
-
try {
|
|
8763
|
-
var _data$productInfo, _data$productInfo2;
|
|
8764
|
-
event.stopPropagation();
|
|
8765
|
-
setDataBooking([_extends({}, data, {
|
|
8766
|
-
quantity: 1,
|
|
8767
|
-
technical: {},
|
|
8768
|
-
oldService: false,
|
|
8769
|
-
label: data === null || data === void 0 ? void 0 : (_data$productInfo = data.productInfo) === null || _data$productInfo === void 0 ? void 0 : _data$productInfo.productName,
|
|
8770
|
-
value: data === null || data === void 0 ? void 0 : (_data$productInfo2 = data.productInfo) === null || _data$productInfo2 === void 0 ? void 0 : _data$productInfo2.productId
|
|
8771
|
-
})]);
|
|
8772
|
-
setIsOpenModal(true);
|
|
8773
|
-
} catch (error) {
|
|
8774
|
-
console.log("::::::::::errrorrrrr::::::", error);
|
|
8775
|
-
}
|
|
8776
|
-
};
|
|
8777
|
-
var handleCloseModal = function handleCloseModal() {
|
|
8778
|
-
setIsOpenModal(false);
|
|
8779
|
-
setDataBooking([]);
|
|
8780
|
-
};
|
|
8781
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
8782
|
-
className: "" + SECTION_DEFAULT_CLASS
|
|
8783
|
-
}, /*#__PURE__*/React__default.createElement(SectionTitle, {
|
|
8784
|
-
data: data,
|
|
8785
|
-
shopConfigStyle: shopConfigStyle
|
|
8786
|
-
}), products === null || products === void 0 ? void 0 : products.map(function (product, index) {
|
|
8787
|
-
var _product$productInfo, _product$productInfo2;
|
|
8788
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
8789
|
-
className: "grid grid-cols-1 md:grid-cols-2 gap-6 mt-12",
|
|
8790
|
-
key: "rthirr-" + index
|
|
8791
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
8792
|
-
className: "block " + (index % 2 ? "md:hidden" : "")
|
|
8793
|
-
}, /*#__PURE__*/React__default.createElement(ProductImage, {
|
|
8794
|
-
product: product === null || product === void 0 ? void 0 : product.productInfo,
|
|
8795
|
-
className: "aspect-video rounded-2xl"
|
|
8796
|
-
})), /*#__PURE__*/React__default.createElement("div", {
|
|
8797
|
-
className: "text-left " + (index % 2 ? "md:text-right" : "")
|
|
8798
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
8799
|
-
className: "font-medium text-2xl"
|
|
8800
|
-
}, product === null || product === void 0 ? void 0 : (_product$productInfo = product.productInfo) === null || _product$productInfo === void 0 ? void 0 : _product$productInfo.productName), /*#__PURE__*/React__default.createElement("div", {
|
|
8801
|
-
className: "mt-4 text-textBody",
|
|
8802
|
-
dangerouslySetInnerHTML: {
|
|
8803
|
-
__html: product === null || product === void 0 ? void 0 : (_product$productInfo2 = product.productInfo) === null || _product$productInfo2 === void 0 ? void 0 : _product$productInfo2.description
|
|
8804
|
-
}
|
|
8805
|
-
}), /*#__PURE__*/React__default.createElement(Button, {
|
|
8806
|
-
label: "Đặt lịch ngay",
|
|
8807
|
-
shopConfigStyle: shopConfigStyle,
|
|
8808
|
-
className: "mt-4",
|
|
8809
|
-
onClick: function onClick(event) {
|
|
8810
|
-
handleOpenModalBooking(event, product);
|
|
8811
|
-
}
|
|
8812
|
-
})), /*#__PURE__*/React__default.createElement("div", {
|
|
8813
|
-
className: "hidden " + (index % 2 ? "md:block" : "")
|
|
8814
|
-
}, /*#__PURE__*/React__default.createElement(ProductImage, {
|
|
8815
|
-
product: product === null || product === void 0 ? void 0 : product.productInfo,
|
|
8816
|
-
className: "aspect-video rounded-2xl"
|
|
8817
|
-
})));
|
|
8818
|
-
})), /*#__PURE__*/React__default.createElement(Dash, {
|
|
8819
|
-
color: secondary
|
|
8820
|
-
}), isOpenModal ? /*#__PURE__*/React__default.createElement(ModalNotification, {
|
|
8821
|
-
onClose: handleCloseModal
|
|
8822
|
-
}, /*#__PURE__*/React__default.createElement(BookingForm, {
|
|
8823
|
-
className: "overflow-y-auto hide-scrollbar max-h-[80vh] !bg-bgSecondary",
|
|
8824
|
-
onCloseFormBooking: handleCloseModal,
|
|
8825
|
-
defaultValue: dataBooking,
|
|
8826
|
-
shopConfig: shopConfig,
|
|
8827
|
-
shopConfigStyle: shopConfigStyle
|
|
8828
|
-
})) : null);
|
|
8829
|
-
};
|
|
8830
|
-
|
|
8831
|
-
var _path$1;
|
|
8832
|
-
function _extends$2() {
|
|
8833
|
-
return _extends$2 = Object.assign ? Object.assign.bind() : function (n) {
|
|
8834
|
-
for (var e = 1; e < arguments.length; e++) {
|
|
8835
|
-
var t = arguments[e];
|
|
8836
|
-
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
8837
|
-
}
|
|
8838
|
-
return n;
|
|
8839
|
-
}, _extends$2.apply(null, arguments);
|
|
8840
|
-
}
|
|
8841
|
-
function SvgAngleSmallLeft(props) {
|
|
8842
|
-
return /*#__PURE__*/React.createElement("svg", _extends$2({
|
|
8843
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
8844
|
-
viewBox: "0 0 24 24",
|
|
8845
|
-
width: 512,
|
|
8846
|
-
height: 512
|
|
8847
|
-
}, props), _path$1 || (_path$1 = /*#__PURE__*/React.createElement("path", {
|
|
8848
|
-
d: "M10.6 12.71a1 1 0 010-1.42l4.59-4.58a1 1 0 000-1.42 1 1 0 00-1.41 0L9.19 9.88a3 3 0 000 4.24l4.59 4.59a1 1 0 00.7.29 1 1 0 00.71-.29 1 1 0 000-1.42z"
|
|
8849
|
-
})));
|
|
8850
|
-
}
|
|
8851
|
-
|
|
8852
|
-
var _path$2;
|
|
8853
|
-
function _extends$3() {
|
|
8854
|
-
return _extends$3 = Object.assign ? Object.assign.bind() : function (n) {
|
|
8855
|
-
for (var e = 1; e < arguments.length; e++) {
|
|
8856
|
-
var t = arguments[e];
|
|
8857
|
-
for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
|
|
8858
|
-
}
|
|
8859
|
-
return n;
|
|
8860
|
-
}, _extends$3.apply(null, arguments);
|
|
8861
|
-
}
|
|
8862
|
-
function SvgAngleSmallRight(props) {
|
|
8863
|
-
return /*#__PURE__*/React.createElement("svg", _extends$3({
|
|
8864
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
8865
|
-
viewBox: "0 0 24 24",
|
|
8866
|
-
width: 512,
|
|
8867
|
-
height: 512
|
|
8868
|
-
}, props), _path$2 || (_path$2 = /*#__PURE__*/React.createElement("path", {
|
|
8869
|
-
d: "M15.4 9.88l-4.59-4.59a1 1 0 00-1.41 0 1 1 0 000 1.42l4.6 4.58a1 1 0 010 1.42l-4.6 4.58a1 1 0 001.41 1.42l4.59-4.59a3 3 0 000-4.24z"
|
|
8870
|
-
})));
|
|
8871
|
-
}
|
|
8872
|
-
|
|
8873
|
-
var ScrollHorizontal = function ScrollHorizontal(props) {
|
|
8874
|
-
var _props$datas = props.datas,
|
|
8875
|
-
datas = _props$datas === void 0 ? [] : _props$datas,
|
|
8876
|
-
_props$className = props.className,
|
|
8877
|
-
className = _props$className === void 0 ? "" : _props$className,
|
|
8878
|
-
_props$style = props.style,
|
|
8879
|
-
style = _props$style === void 0 ? {} : _props$style,
|
|
8880
|
-
_props$renderItem = props.renderItem,
|
|
8881
|
-
renderItem = _props$renderItem === void 0 ? function () {} : _props$renderItem;
|
|
8882
|
-
var scrollContainerRef = React.useRef(null);
|
|
8883
|
-
var _useState = React.useState(true),
|
|
8884
|
-
isScrolledToLeft = _useState[0],
|
|
8885
|
-
setIsScrolledToLeft = _useState[1];
|
|
8886
|
-
var _useState2 = React.useState(false),
|
|
8887
|
-
isScrolledToRight = _useState2[0],
|
|
8888
|
-
setIsScrolledToRight = _useState2[1];
|
|
8889
|
-
var checkScrollPosition = function checkScrollPosition() {
|
|
8890
|
-
if (scrollContainerRef.current) {
|
|
8891
|
-
var _scrollContainerRef$c = scrollContainerRef.current,
|
|
8892
|
-
_scrollLeft = _scrollContainerRef$c.scrollLeft,
|
|
8893
|
-
scrollWidth = _scrollContainerRef$c.scrollWidth,
|
|
8894
|
-
clientWidth = _scrollContainerRef$c.clientWidth;
|
|
8895
|
-
setIsScrolledToLeft(_scrollLeft === 0);
|
|
8896
|
-
setIsScrolledToRight(_scrollLeft + clientWidth >= scrollWidth);
|
|
8897
|
-
}
|
|
8898
|
-
};
|
|
8899
|
-
var scrollLeft = function scrollLeft() {
|
|
8900
|
-
if (scrollContainerRef.current) {
|
|
8901
|
-
scrollContainerRef.current.scrollBy({
|
|
8902
|
-
left: -200,
|
|
8903
|
-
behavior: "smooth"
|
|
8904
|
-
});
|
|
8905
|
-
setTimeout(checkScrollPosition, 300);
|
|
8906
|
-
}
|
|
8907
|
-
};
|
|
8908
|
-
var scrollRight = function scrollRight() {
|
|
8909
|
-
if (scrollContainerRef.current) {
|
|
8910
|
-
scrollContainerRef.current.scrollBy({
|
|
8911
|
-
left: 200,
|
|
8912
|
-
behavior: "smooth"
|
|
8913
|
-
});
|
|
8914
|
-
setTimeout(checkScrollPosition, 300);
|
|
8915
|
-
}
|
|
8916
|
-
};
|
|
8917
|
-
React.useEffect(function () {
|
|
8918
|
-
checkScrollPosition();
|
|
8919
|
-
}, [datas]);
|
|
8920
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
8921
|
-
className: "flex " + className,
|
|
8922
|
-
style: style
|
|
8923
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
8924
|
-
className: "flex w-full overflow-x-hidden",
|
|
8925
|
-
ref: scrollContainerRef,
|
|
8926
|
-
onScroll: checkScrollPosition
|
|
8927
|
-
}, datas === null || datas === void 0 ? void 0 : datas.map(function (item, index) {
|
|
8928
|
-
return renderItem(item, index);
|
|
8929
|
-
})), /*#__PURE__*/React__default.createElement("div", {
|
|
8930
|
-
className: "flex gap-2 items-center px-4"
|
|
8931
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
8932
|
-
onClick: scrollLeft,
|
|
8933
|
-
className: "cursor-pointer w-8 h-8 rounded-full flex justify-center items-center " + (isScrolledToLeft ? "bg-gray4" : "bg-primary")
|
|
8934
|
-
}, /*#__PURE__*/React__default.createElement(SvgAngleSmallLeft, {
|
|
8935
|
-
width: 24,
|
|
8936
|
-
height: 24,
|
|
8937
|
-
fill: "#fff"
|
|
8938
|
-
})), /*#__PURE__*/React__default.createElement("div", {
|
|
8939
|
-
onClick: scrollRight,
|
|
8940
|
-
className: "cursor-pointer w-8 h-8 rounded-full flex justify-center items-center " + (isScrolledToRight ? "bg-gray4" : "bg-primary")
|
|
8941
|
-
}, /*#__PURE__*/React__default.createElement(SvgAngleSmallRight, {
|
|
8942
|
-
width: 24,
|
|
8943
|
-
height: 24,
|
|
8944
|
-
fill: "#fff"
|
|
8945
|
-
}))));
|
|
8946
|
-
};
|
|
8947
|
-
|
|
8948
|
-
function getMinMax(array, field) {
|
|
8949
|
-
if (!(array !== null && array !== void 0 && array.length) || !array[0].hasOwnProperty(field)) {
|
|
8950
|
-
return null;
|
|
8951
|
-
}
|
|
8952
|
-
var _array$reduce = array.reduce(function (acc, obj) {
|
|
8953
|
-
var value = obj[field];
|
|
8954
|
-
return {
|
|
8955
|
-
min: value < acc.min ? value : acc.min,
|
|
8956
|
-
max: value > acc.max ? value : acc.max
|
|
8957
|
-
};
|
|
8958
|
-
}, {
|
|
8959
|
-
min: array[0][field],
|
|
8960
|
-
max: array[0][field]
|
|
8961
|
-
}),
|
|
8962
|
-
min = _array$reduce.min,
|
|
8963
|
-
max = _array$reduce.max;
|
|
8964
|
-
return {
|
|
8965
|
-
min: min,
|
|
8966
|
-
max: max
|
|
8967
|
-
};
|
|
8968
|
-
}
|
|
8969
|
-
var ProductPrice = function ProductPrice(props) {
|
|
8970
|
-
var product = props.product,
|
|
8971
|
-
variant = props.variant,
|
|
8972
|
-
_props$className = props.className,
|
|
8973
|
-
className = _props$className === void 0 ? "" : _props$className,
|
|
8974
|
-
_props$style = props.style,
|
|
8975
|
-
style = _props$style === void 0 ? {} : _props$style;
|
|
8976
|
-
var _useState = React.useState(),
|
|
8977
|
-
displayPrice = _useState[0],
|
|
8978
|
-
setDisplayPrice = _useState[1];
|
|
8979
|
-
var _useState2 = React.useState(),
|
|
8980
|
-
displayPriceBeforeDiscount = _useState2[0],
|
|
8981
|
-
setDisplayPriceBeforeDiscount = _useState2[1];
|
|
8982
|
-
React.useEffect(function () {
|
|
8983
|
-
if (variant) {
|
|
8984
|
-
genProductPrice([variant]);
|
|
8985
|
-
} else if (product) {
|
|
8986
|
-
genProductPrice(product.variants);
|
|
8987
|
-
}
|
|
8988
|
-
}, [product, variant]);
|
|
8989
|
-
var genProductPrice = function genProductPrice(variants) {
|
|
8990
|
-
var mPrice = getMinMax(variants, 'price');
|
|
8991
|
-
var mPriceBeforeDiscount = getMinMax(variants, 'priceBeforeDiscount');
|
|
8992
|
-
if (mPrice && mPriceBeforeDiscount) {
|
|
8993
|
-
var _displayPriceBeforeDiscount = formatCurrency(mPriceBeforeDiscount.min);
|
|
8994
|
-
var _displayPrice = formatCurrency(mPrice.min);
|
|
8995
|
-
if (mPrice.min !== mPrice.max) {
|
|
8996
|
-
_displayPrice += " - " + formatCurrency(mPrice.max);
|
|
8997
|
-
}
|
|
8998
|
-
if (mPriceBeforeDiscount.min !== mPriceBeforeDiscount.max) {
|
|
8999
|
-
_displayPriceBeforeDiscount += " - " + formatCurrency(mPriceBeforeDiscount.max);
|
|
9000
|
-
}
|
|
9001
|
-
setDisplayPrice(_displayPrice);
|
|
9002
|
-
setDisplayPriceBeforeDiscount(_displayPriceBeforeDiscount);
|
|
9003
|
-
} else {
|
|
9004
|
-
var _displayPrice2 = formatCurrency(product === null || product === void 0 ? void 0 : product.price);
|
|
9005
|
-
setDisplayPrice(_displayPrice2);
|
|
9006
|
-
}
|
|
9007
|
-
};
|
|
9008
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
9009
|
-
className: className
|
|
9010
|
-
}, displayPriceBeforeDiscount !== displayPrice && displayPriceBeforeDiscount != null ? /*#__PURE__*/React__default.createElement("span", {
|
|
9011
|
-
className: "text-gray3 line-through mr-2"
|
|
9012
|
-
}, displayPriceBeforeDiscount) : null, /*#__PURE__*/React__default.createElement("span", {
|
|
9013
|
-
className: "text-primary font-semibold",
|
|
9014
|
-
style: style
|
|
9015
|
-
}, displayPrice));
|
|
9016
|
-
};
|
|
9017
|
-
|
|
9018
|
-
var ProductItem1 = function ProductItem1(props) {
|
|
9019
|
-
var product = props.product;
|
|
9020
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
9021
|
-
className: "flex"
|
|
9022
|
-
}, /*#__PURE__*/React__default.createElement(ProductImage, {
|
|
9023
|
-
product: product,
|
|
9024
|
-
className: "!w-20 rounded-lg"
|
|
9025
|
-
}), /*#__PURE__*/React__default.createElement("div", {
|
|
9026
|
-
className: "ml-4 border-b border-stroke flex-1"
|
|
9027
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
9028
|
-
className: "text-lg"
|
|
9029
|
-
}, product === null || product === void 0 ? void 0 : product.productName), /*#__PURE__*/React__default.createElement("div", {
|
|
9030
|
-
className: "flex mt-2"
|
|
9031
|
-
}, /*#__PURE__*/React__default.createElement("div", {
|
|
9032
|
-
className: "flex-1 text-gray3"
|
|
9033
|
-
}, getDurationValue(product === null || product === void 0 ? void 0 : product.attributes)), /*#__PURE__*/React__default.createElement(ProductPrice, {
|
|
9034
|
-
product: product
|
|
9035
|
-
}))));
|
|
9036
|
-
};
|
|
9037
|
-
|
|
9038
|
-
var Loading = function Loading(props) {
|
|
9039
|
-
var _props$size = props.size,
|
|
9040
|
-
size = _props$size === void 0 ? 24 : _props$size;
|
|
9041
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
9042
|
-
className: "border-4 boder-[rgba(255, 255, 255, 0.2)] rounded-full border-t-4 border-t-primary animate-spin",
|
|
9043
|
-
style: {
|
|
9044
|
-
width: size,
|
|
9045
|
-
height: size
|
|
9046
|
-
}
|
|
9047
|
-
});
|
|
9048
|
-
};
|
|
9049
|
-
|
|
9050
|
-
var Treatments1$1 = function Treatments1(props) {
|
|
9051
|
-
var _props$shopConfigStyl = props.shopConfigStyle,
|
|
9052
|
-
shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
|
|
9053
|
-
_props$data = props.data,
|
|
9054
|
-
data = _props$data === void 0 ? {} : _props$data,
|
|
9055
|
-
_props$SectionTitle = props.SectionTitle,
|
|
9056
|
-
SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
|
|
9057
|
-
var _shopConfigStyle$colo = shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.color,
|
|
9058
|
-
_shopConfigStyle$colo2 = _shopConfigStyle$colo.secondary,
|
|
9059
|
-
secondary = _shopConfigStyle$colo2 === void 0 ? "#000" : _shopConfigStyle$colo2;
|
|
9060
|
-
var _useState = React.useState({
|
|
9061
|
-
types: "1"
|
|
9062
|
-
}),
|
|
9063
|
-
params = _useState[0],
|
|
9064
|
-
setParams = _useState[1];
|
|
9065
|
-
var _CategoryController = CategoryController(_extends({}, props, {
|
|
9066
|
-
types: "1"
|
|
9067
|
-
})),
|
|
9068
|
-
categories = _CategoryController.categories;
|
|
9069
|
-
var _ProductController = ProductController(_extends({}, props, {
|
|
9070
|
-
params: params
|
|
9071
|
-
})),
|
|
9072
|
-
_ProductController$pr = _ProductController.products,
|
|
9073
|
-
products = _ProductController$pr === void 0 ? [] : _ProductController$pr,
|
|
9074
|
-
loading = _ProductController.loading;
|
|
9075
|
-
var _useState2 = React.useState(0),
|
|
9076
|
-
selectedCategory = _useState2[0],
|
|
9077
|
-
setSelectedCategory = _useState2[1];
|
|
9078
|
-
React.useEffect(function () {
|
|
9079
|
-
var newParams = _extends({}, params, {
|
|
9080
|
-
categoryId: selectedCategory
|
|
9081
|
-
});
|
|
9082
|
-
if (!selectedCategory) {
|
|
9083
|
-
delete newParams.categoryId;
|
|
9084
|
-
}
|
|
9085
|
-
setParams(newParams);
|
|
9086
|
-
}, [selectedCategory]);
|
|
9087
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
9088
|
-
className: SECTION_DEFAULT_CLASS + " relative"
|
|
9089
|
-
}, /*#__PURE__*/React__default.createElement(SectionTitle, {
|
|
9090
|
-
data: data,
|
|
9091
|
-
shopConfigStyle: shopConfigStyle
|
|
9092
|
-
}), /*#__PURE__*/React__default.createElement(ScrollHorizontal, {
|
|
9093
|
-
datas: [{
|
|
9094
|
-
categoryId: 0,
|
|
9095
|
-
cateName: "Tất cả"
|
|
9096
|
-
}].concat(categories),
|
|
9097
|
-
className: "mt-6 rounded-lg overflow-hidden bg-bgSecondary",
|
|
9098
|
-
renderItem: function renderItem(item, index) {
|
|
9099
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
9100
|
-
key: index,
|
|
9101
|
-
className: "p-3 flex gap-3 shrink-0 cursor-pointer text-base " + (selectedCategory === item.categoryId ? "bg-primary text-textButton" : ""),
|
|
9102
|
-
onClick: function onClick() {
|
|
9103
|
-
return setSelectedCategory(item.categoryId);
|
|
9104
|
-
}
|
|
9105
|
-
}, item === null || item === void 0 ? void 0 : item.cateName);
|
|
8977
|
+
label: "Đặt lịch ngay",
|
|
8978
|
+
shopConfigStyle: shopConfigStyle,
|
|
8979
|
+
onClick: handleSubmit
|
|
8980
|
+
})), isOpenPopup && /*#__PURE__*/React__default.createElement(ModalNotification, {
|
|
8981
|
+
onCloseFormBooking: onCloseFormBooking,
|
|
8982
|
+
onClose: handleClosePopup
|
|
8983
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
8984
|
+
className: "bg-white rounded-lg shadow-lg p-6 max-w-sm flex flex-col items-center justify-center min-w-[320px] md:min-w-[650px] min-h-[420px] md:min-h-[380px] lg:h-auto "
|
|
8985
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
8986
|
+
className: "h-20 mb-4 flex items-center justify-center"
|
|
8987
|
+
}, /*#__PURE__*/React__default.createElement(fa.FaCheckCircle, {
|
|
8988
|
+
className: "h-full text-green-500",
|
|
8989
|
+
style: {
|
|
8990
|
+
fontSize: "150px"
|
|
9106
8991
|
}
|
|
9107
|
-
}),
|
|
9108
|
-
className: "
|
|
9109
|
-
},
|
|
9110
|
-
className: "
|
|
9111
|
-
},
|
|
9112
|
-
|
|
9113
|
-
|
|
9114
|
-
|
|
9115
|
-
|
|
9116
|
-
|
|
9117
|
-
|
|
9118
|
-
|
|
9119
|
-
|
|
9120
|
-
}));
|
|
9121
|
-
};
|
|
9122
|
-
|
|
9123
|
-
var NotFoundProduct = function NotFoundProduct() {
|
|
9124
|
-
return /*#__PURE__*/React__default.createElement("div", {
|
|
9125
|
-
className: "h-60 flex flex-col justify-center items-center text-xl text-gray3"
|
|
9126
|
-
}, /*#__PURE__*/React__default.createElement(fa.FaBoxOpen, {
|
|
9127
|
-
size: 80
|
|
9128
|
-
}), /*#__PURE__*/React__default.createElement("div", null, "Kh\xF4ng c\xF3 s\u1EA3n ph\u1EA9m"));
|
|
8992
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
8993
|
+
className: "mb-2"
|
|
8994
|
+
}, "Kh\xE1ch h\xE0ng: ", dataBooking === null || dataBooking === void 0 ? void 0 : dataBooking.customerName), /*#__PURE__*/React__default.createElement("div", {
|
|
8995
|
+
className: "mb-2"
|
|
8996
|
+
}, "S\u1ED1 \u0111i\u1EC7n tho\u1EA1i: ", dataBooking === null || dataBooking === void 0 ? void 0 : dataBooking.customerPhone), /*#__PURE__*/React__default.createElement("div", {
|
|
8997
|
+
className: "mb-4"
|
|
8998
|
+
}, "Th\u1EDDi gian: ", dayjs_min(dataBooking === null || dataBooking === void 0 ? void 0 : dataBooking.scheduleDate).format("DD/MM/YYYY")), token ? /*#__PURE__*/React__default.createElement("div", null) : /*#__PURE__*/React__default.createElement("div", {
|
|
8999
|
+
className: "flex flex-col items-center"
|
|
9000
|
+
}, /*#__PURE__*/React__default.createElement("p", {
|
|
9001
|
+
className: "mb-4 text-center"
|
|
9002
|
+
}, "B\u1EA1n \u0111\xE3 c\xF3 t\xE0i kho\u1EA3n, vui l\xF2ng \u0111\u0103ng nh\u1EADp \u0111\u1EC3 xem chi ti\u1EBFt c\xE1c s\u1EA3n ph\u1EA9m, d\u1ECBch v\u1EE5 li\u1EC7u tr\xECnh m\xE0 b\u1EA1n \u0111ang s\u1EDF h\u1EEFu"), /*#__PURE__*/React__default.createElement(Button, {
|
|
9003
|
+
label: "Đăng nhập",
|
|
9004
|
+
shopConfigStyle: shopConfigStyle
|
|
9005
|
+
})))));
|
|
9129
9006
|
};
|
|
9130
9007
|
|
|
9131
|
-
var
|
|
9132
|
-
var
|
|
9133
|
-
|
|
9134
|
-
_props$
|
|
9135
|
-
|
|
9008
|
+
var TreatmentsList7 = function TreatmentsList7(props) {
|
|
9009
|
+
var _props$shopConfigStyl = props.shopConfigStyle,
|
|
9010
|
+
shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
|
|
9011
|
+
_props$shopConfig = props.shopConfig,
|
|
9012
|
+
shopConfig = _props$shopConfig === void 0 ? {} : _props$shopConfig,
|
|
9013
|
+
_props$data = props.data,
|
|
9014
|
+
data = _props$data === void 0 ? {} : _props$data,
|
|
9136
9015
|
_props$SectionTitle = props.SectionTitle,
|
|
9137
|
-
SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle
|
|
9138
|
-
|
|
9139
|
-
|
|
9140
|
-
|
|
9141
|
-
shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl;
|
|
9016
|
+
SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
|
|
9017
|
+
var _shopConfigStyle$colo = shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.color,
|
|
9018
|
+
_shopConfigStyle$colo3 = _shopConfigStyle$colo.secondary,
|
|
9019
|
+
secondary = _shopConfigStyle$colo3 === void 0 ? "#000" : _shopConfigStyle$colo3;
|
|
9142
9020
|
var _useState = React.useState({
|
|
9143
|
-
size:
|
|
9144
|
-
types: "1"
|
|
9021
|
+
size: 10,
|
|
9022
|
+
types: "1,10",
|
|
9023
|
+
isHighlight: true
|
|
9145
9024
|
}),
|
|
9146
|
-
params = _useState[0]
|
|
9147
|
-
|
|
9148
|
-
|
|
9149
|
-
|
|
9150
|
-
|
|
9025
|
+
params = _useState[0];
|
|
9026
|
+
var _useState2 = React.useState(false),
|
|
9027
|
+
isOpenModal = _useState2[0],
|
|
9028
|
+
setIsOpenModal = _useState2[1];
|
|
9029
|
+
var _useState3 = React.useState([]),
|
|
9030
|
+
dataBooking = _useState3[0],
|
|
9031
|
+
setDataBooking = _useState3[1];
|
|
9151
9032
|
var _ProductController = ProductController(_extends({}, props, {
|
|
9152
9033
|
params: params
|
|
9153
9034
|
})),
|
|
9154
|
-
|
|
9155
|
-
|
|
9156
|
-
|
|
9157
|
-
|
|
9158
|
-
|
|
9159
|
-
|
|
9160
|
-
|
|
9161
|
-
}
|
|
9162
|
-
|
|
9035
|
+
_ProductController$pr = _ProductController.products,
|
|
9036
|
+
products = _ProductController$pr === void 0 ? [] : _ProductController$pr;
|
|
9037
|
+
console.log("treatment1:", products);
|
|
9038
|
+
var handleOpenModalBooking = function handleOpenModalBooking(event, data) {
|
|
9039
|
+
try {
|
|
9040
|
+
var _data$productInfo, _data$productInfo2;
|
|
9041
|
+
event.stopPropagation();
|
|
9042
|
+
setDataBooking([_extends({}, data, {
|
|
9043
|
+
quantity: 1,
|
|
9044
|
+
technical: {},
|
|
9045
|
+
oldService: false,
|
|
9046
|
+
label: data === null || data === void 0 ? void 0 : (_data$productInfo = data.productInfo) === null || _data$productInfo === void 0 ? void 0 : _data$productInfo.productName,
|
|
9047
|
+
value: data === null || data === void 0 ? void 0 : (_data$productInfo2 = data.productInfo) === null || _data$productInfo2 === void 0 ? void 0 : _data$productInfo2.productId
|
|
9048
|
+
})]);
|
|
9049
|
+
setIsOpenModal(true);
|
|
9050
|
+
} catch (error) {
|
|
9051
|
+
console.log("::::::::::errrorrrrr::::::", error);
|
|
9052
|
+
}
|
|
9163
9053
|
};
|
|
9164
|
-
|
|
9165
|
-
|
|
9054
|
+
var handleCloseModal = function handleCloseModal() {
|
|
9055
|
+
setIsOpenModal(false);
|
|
9056
|
+
setDataBooking([]);
|
|
9057
|
+
};
|
|
9058
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
9059
|
+
className: "" + SECTION_DEFAULT_CLASS
|
|
9166
9060
|
}, /*#__PURE__*/React__default.createElement(SectionTitle, {
|
|
9167
9061
|
data: data,
|
|
9168
9062
|
shopConfigStyle: shopConfigStyle
|
|
9169
|
-
}),
|
|
9170
|
-
|
|
9171
|
-
|
|
9172
|
-
|
|
9173
|
-
|
|
9174
|
-
|
|
9175
|
-
|
|
9063
|
+
}), products === null || products === void 0 ? void 0 : products.map(function (product, index) {
|
|
9064
|
+
var _product$productInfo, _product$productInfo2;
|
|
9065
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
9066
|
+
className: "grid grid-cols-1 md:grid-cols-2 gap-6 mt-12",
|
|
9067
|
+
key: "rthirr-" + index
|
|
9068
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
9069
|
+
className: "block " + (index % 2 ? "md:hidden" : "")
|
|
9070
|
+
}, /*#__PURE__*/React__default.createElement(ProductImage, {
|
|
9071
|
+
product: product === null || product === void 0 ? void 0 : product.productInfo,
|
|
9072
|
+
className: "aspect-video rounded-2xl"
|
|
9073
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
9074
|
+
className: "text-left " + (index % 2 ? "md:text-right" : "")
|
|
9075
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
9076
|
+
className: "font-medium text-2xl"
|
|
9077
|
+
}, product === null || product === void 0 ? void 0 : (_product$productInfo = product.productInfo) === null || _product$productInfo === void 0 ? void 0 : _product$productInfo.productName), /*#__PURE__*/React__default.createElement("div", {
|
|
9078
|
+
className: "mt-4 text-textBody",
|
|
9079
|
+
dangerouslySetInnerHTML: {
|
|
9080
|
+
__html: product === null || product === void 0 ? void 0 : (_product$productInfo2 = product.productInfo) === null || _product$productInfo2 === void 0 ? void 0 : _product$productInfo2.description
|
|
9081
|
+
}
|
|
9082
|
+
}), /*#__PURE__*/React__default.createElement(Button, {
|
|
9083
|
+
label: "Đặt lịch ngay",
|
|
9176
9084
|
shopConfigStyle: shopConfigStyle,
|
|
9085
|
+
className: "mt-4",
|
|
9086
|
+
onClick: function onClick(event) {
|
|
9087
|
+
handleOpenModalBooking(event, product);
|
|
9088
|
+
}
|
|
9089
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
9090
|
+
className: "hidden " + (index % 2 ? "md:block" : "")
|
|
9091
|
+
}, /*#__PURE__*/React__default.createElement(ProductImage, {
|
|
9177
9092
|
product: product === null || product === void 0 ? void 0 : product.productInfo,
|
|
9178
|
-
|
|
9179
|
-
});
|
|
9180
|
-
}))
|
|
9181
|
-
|
|
9182
|
-
|
|
9183
|
-
|
|
9184
|
-
|
|
9185
|
-
|
|
9093
|
+
className: "aspect-video rounded-2xl"
|
|
9094
|
+
})));
|
|
9095
|
+
})), /*#__PURE__*/React__default.createElement(Dash, {
|
|
9096
|
+
color: secondary
|
|
9097
|
+
}), isOpenModal ? /*#__PURE__*/React__default.createElement(ModalNotification, {
|
|
9098
|
+
onClose: handleCloseModal
|
|
9099
|
+
}, /*#__PURE__*/React__default.createElement(BookingForm, {
|
|
9100
|
+
className: "overflow-y-auto hide-scrollbar max-h-[80vh] !bg-bgSecondary",
|
|
9101
|
+
onCloseFormBooking: handleCloseModal,
|
|
9102
|
+
defaultValue: dataBooking,
|
|
9103
|
+
shopConfig: shopConfig,
|
|
9104
|
+
shopConfigStyle: shopConfigStyle
|
|
9105
|
+
})) : null);
|
|
9186
9106
|
};
|
|
9187
9107
|
|
|
9188
9108
|
var ProductDetailController = function ProductDetailController(props) {
|
|
@@ -9613,7 +9533,7 @@ var TreatmentItem1 = function TreatmentItem1(props) {
|
|
|
9613
9533
|
}))));
|
|
9614
9534
|
};
|
|
9615
9535
|
|
|
9616
|
-
var
|
|
9536
|
+
var ProductsList7 = function ProductsList7(props) {
|
|
9617
9537
|
var _props$shopConfigStyl = props.shopConfigStyle,
|
|
9618
9538
|
shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
|
|
9619
9539
|
_props$data = props.data,
|
|
@@ -10749,6 +10669,36 @@ var Banner3 = function Banner3(props) {
|
|
|
10749
10669
|
}));
|
|
10750
10670
|
};
|
|
10751
10671
|
|
|
10672
|
+
var Banner7 = function Banner7(props) {
|
|
10673
|
+
var _data$data;
|
|
10674
|
+
var _props$shopConfigStyl = props.shopConfigStyle,
|
|
10675
|
+
shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
|
|
10676
|
+
_props$data = props.data,
|
|
10677
|
+
data = _props$data === void 0 ? {} : _props$data,
|
|
10678
|
+
_props$SectionTitle = props.SectionTitle,
|
|
10679
|
+
SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
|
|
10680
|
+
var _shopConfigStyle$colo = shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.color,
|
|
10681
|
+
_shopConfigStyle$colo3 = _shopConfigStyle$colo.secondary,
|
|
10682
|
+
secondary = _shopConfigStyle$colo3 === void 0 ? "#000" : _shopConfigStyle$colo3;
|
|
10683
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
10684
|
+
className: "" + SECTION_DEFAULT_CLASS
|
|
10685
|
+
}, /*#__PURE__*/React__default.createElement(SectionTitle, {
|
|
10686
|
+
data: data,
|
|
10687
|
+
shopConfigStyle: shopConfigStyle
|
|
10688
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
10689
|
+
className: "mt-6 grid grid-cols-2 md:grid-cols-4 gap-1 md:gap-2"
|
|
10690
|
+
}, data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.map(function (it, index) {
|
|
10691
|
+
var _it$srcImages;
|
|
10692
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
10693
|
+
key: index
|
|
10694
|
+
}, /*#__PURE__*/React__default.createElement("img", {
|
|
10695
|
+
src: it === null || it === void 0 ? void 0 : (_it$srcImages = it.srcImages) === null || _it$srcImages === void 0 ? void 0 : _it$srcImages[0]
|
|
10696
|
+
}));
|
|
10697
|
+
}))), /*#__PURE__*/React__default.createElement(Dash, {
|
|
10698
|
+
color: secondary
|
|
10699
|
+
}));
|
|
10700
|
+
};
|
|
10701
|
+
|
|
10752
10702
|
var BannerFull1 = function BannerFull1(props) {
|
|
10753
10703
|
var data = props.data;
|
|
10754
10704
|
var sectionData = data === null || data === void 0 ? void 0 : data.data;
|
|
@@ -12750,11 +12700,62 @@ var ShopHighlights6 = function ShopHighlights6(props) {
|
|
|
12750
12700
|
}));
|
|
12751
12701
|
};
|
|
12752
12702
|
|
|
12703
|
+
var ShopHighlights7 = function ShopHighlights7(props) {
|
|
12704
|
+
var _data$data;
|
|
12705
|
+
var _props$shopConfigStyl = props.shopConfigStyle,
|
|
12706
|
+
shopConfigStyle = _props$shopConfigStyl === void 0 ? {} : _props$shopConfigStyl,
|
|
12707
|
+
_props$data = props.data,
|
|
12708
|
+
data = _props$data === void 0 ? {} : _props$data,
|
|
12709
|
+
_props$SectionTitle = props.SectionTitle,
|
|
12710
|
+
SectionTitle = _props$SectionTitle === void 0 ? null : _props$SectionTitle;
|
|
12711
|
+
var _shopConfigStyle$colo = shopConfigStyle === null || shopConfigStyle === void 0 ? void 0 : shopConfigStyle.color,
|
|
12712
|
+
_shopConfigStyle$colo3 = _shopConfigStyle$colo.secondary,
|
|
12713
|
+
secondary = _shopConfigStyle$colo3 === void 0 ? "#000" : _shopConfigStyle$colo3;
|
|
12714
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
12715
|
+
className: SECTION_DEFAULT_CLASS + " relative"
|
|
12716
|
+
}, /*#__PURE__*/React__default.createElement(SectionTitle, {
|
|
12717
|
+
data: data
|
|
12718
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
12719
|
+
className: "mt-6 grid grid-cols-3 gap-4 md:gap-8"
|
|
12720
|
+
}, data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.map(function (it, index) {
|
|
12721
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
12722
|
+
key: index,
|
|
12723
|
+
className: "pt-6 col-span-3 md:col-span-1"
|
|
12724
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
12725
|
+
className: "relative w-40 h-24 flex items-center justify-center m-auto md:m-0"
|
|
12726
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
12727
|
+
className: "absolute w-40 h-24 rounded-2xl z-10 bg-primary"
|
|
12728
|
+
}), /*#__PURE__*/React__default.createElement("div", {
|
|
12729
|
+
className: "absolute w-24 h-16 rounded-2xl -right-2 -top-2 z-0 bg-secondary"
|
|
12730
|
+
}), it !== null && it !== void 0 && it.svgImage ? /*#__PURE__*/React__default.createElement("div", {
|
|
12731
|
+
className: "w-12 text-primary h-16 w-16 z-20 m-auto"
|
|
12732
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
12733
|
+
dangerouslySetInnerHTML: {
|
|
12734
|
+
__html: configSvg(it === null || it === void 0 ? void 0 : it.svgImage)
|
|
12735
|
+
}
|
|
12736
|
+
})) : /*#__PURE__*/React__default.createElement("div", {
|
|
12737
|
+
className: "h-16 m-auto bg-center w-16 bg-cover bg-no-repeat z-20",
|
|
12738
|
+
style: {
|
|
12739
|
+
backgroundImage: "url(" + it.srcImage + ")"
|
|
12740
|
+
}
|
|
12741
|
+
})), /*#__PURE__*/React__default.createElement("p", {
|
|
12742
|
+
className: "mx-auto md:mt-3 md:mx-0 text-xl py-2 font-medium w-fit rounded-lg"
|
|
12743
|
+
}, it.title), /*#__PURE__*/React__default.createElement("div", {
|
|
12744
|
+
className: "mx-auto md:mx-0 mb-2 w-28 h-2px rounded-full bg-secondary"
|
|
12745
|
+
}), /*#__PURE__*/React__default.createElement("p", {
|
|
12746
|
+
className: "text-base mx-auto md:mx-0 text-center md:text-start"
|
|
12747
|
+
}, it.description));
|
|
12748
|
+
}))), /*#__PURE__*/React__default.createElement(Dash, {
|
|
12749
|
+
color: secondary
|
|
12750
|
+
}));
|
|
12751
|
+
};
|
|
12752
|
+
|
|
12753
12753
|
exports.About1 = About1;
|
|
12754
12754
|
exports.About5 = About5;
|
|
12755
12755
|
exports.Address1 = Address1;
|
|
12756
12756
|
exports.Banner1 = Banner1;
|
|
12757
12757
|
exports.Banner3 = Banner3;
|
|
12758
|
+
exports.Banner7 = Banner7;
|
|
12758
12759
|
exports.BannerFull1 = BannerFull1;
|
|
12759
12760
|
exports.BannerFull2 = BannerFull2;
|
|
12760
12761
|
exports.Booking1 = Booking1;
|
|
@@ -12769,7 +12770,6 @@ exports.CustomerRating5 = CustomerRating5;
|
|
|
12769
12770
|
exports.CustomerRating6 = CustomerRating6;
|
|
12770
12771
|
exports.DateTimePicker = DateTimePicker;
|
|
12771
12772
|
exports.Employees1 = Employees1;
|
|
12772
|
-
exports.Features1 = Features1;
|
|
12773
12773
|
exports.Features2 = Features2;
|
|
12774
12774
|
exports.Features3 = Features3;
|
|
12775
12775
|
exports.Footer1 = Footer1;
|
|
@@ -12777,8 +12777,7 @@ exports.Footer7 = Footer7;
|
|
|
12777
12777
|
exports.Gallery1 = Gallery1;
|
|
12778
12778
|
exports.Hero1 = Hero1;
|
|
12779
12779
|
exports.Hero10 = Hero10;
|
|
12780
|
-
exports.
|
|
12781
|
-
exports.Hero12 = Hero11$1;
|
|
12780
|
+
exports.Hero12 = Hero11;
|
|
12782
12781
|
exports.Hero13 = Hero13;
|
|
12783
12782
|
exports.Hero2 = Hero2;
|
|
12784
12783
|
exports.Hero5 = Hero5;
|
|
@@ -12805,10 +12804,10 @@ exports.ProductItem7 = ProductItem7;
|
|
|
12805
12804
|
exports.ProductList5 = ProductList5;
|
|
12806
12805
|
exports.ProductSale2 = ProductSale2;
|
|
12807
12806
|
exports.ProductSearch1 = ProductSearch1;
|
|
12808
|
-
exports.Products1 = Products1;
|
|
12809
12807
|
exports.Products10 = Products10;
|
|
12810
12808
|
exports.Products2 = Products2;
|
|
12811
12809
|
exports.Products3 = Products3;
|
|
12810
|
+
exports.ProductsList7 = ProductsList7;
|
|
12812
12811
|
exports.ProductsTop1 = ProductsTop1;
|
|
12813
12812
|
exports.SearchBar2 = SearchBar2;
|
|
12814
12813
|
exports.SearchBar5 = SearchBar5;
|
|
@@ -12822,10 +12821,11 @@ exports.ServiceDetail1 = ServiceDetail1;
|
|
|
12822
12821
|
exports.ShopHighlights2 = ShopHighlights2;
|
|
12823
12822
|
exports.ShopHighlights5 = ShopHighlights5;
|
|
12824
12823
|
exports.ShopHighlights6 = ShopHighlights6;
|
|
12824
|
+
exports.ShopHighlights7 = ShopHighlights7;
|
|
12825
12825
|
exports.TextArea = TextArea;
|
|
12826
12826
|
exports.TreatmentDetail1 = TreatmentDetail1;
|
|
12827
12827
|
exports.TreatmentItem1 = TreatmentItem1;
|
|
12828
|
-
exports.
|
|
12829
|
-
exports.Treatments2 = Treatments1$1;
|
|
12828
|
+
exports.TreatmentsCategory7 = TreatmentsCategory7;
|
|
12830
12829
|
exports.TreatmentsList6 = TreatmentsList6;
|
|
12830
|
+
exports.TreatmentsList7 = TreatmentsList7;
|
|
12831
12831
|
//# sourceMappingURL=index.js.map
|