@pisell/private-materials 3.0.212 → 3.0.214
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/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/preview.js +6 -6
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +8 -8
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +9 -9
- package/es/components/Sales/Checkout/index.js +6 -0
- package/es/components/eventBooking/components/Provider/Cart/ContinueButton/index.js +6 -2
- package/es/components/eventBooking/components/Provider/Cart/Item/Total.d.ts +1 -1
- package/es/components/eventBooking/components/Provider/Cart/Item/Total.js +12 -6
- package/es/components/eventBooking/components/Provider/Cart/index.js +1 -5
- package/es/components/eventBooking/components/Provider/Cart/index.less +0 -2
- package/es/components/eventBooking/components/Provider/Content/index.js +24 -0
- package/es/components/eventBooking/components/Provider/Content/index.less +3 -2
- package/es/components/eventBooking/components/Provider/EmptyHolderModal/index.js +1 -2
- package/es/components/eventBooking/components/Provider/Event/index.less +1 -1
- package/es/components/eventBooking/components/Provider/Footer/index.js +17 -10
- package/es/components/eventBooking/components/Provider/Footer/index.less +29 -5
- package/es/components/eventBooking/components/Provider/InformationOptionsModal/index.js +1 -1
- package/es/components/eventBooking/components/Provider/OrderProductModal/index.js +0 -1
- package/es/components/eventBooking/components/Provider/SelectProduct/index.d.ts +4 -0
- package/es/components/eventBooking/components/Provider/SelectProduct/index.js +77 -0
- package/es/components/eventBooking/components/Provider/SelectProduct/index.less +131 -0
- package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/index.js +1 -0
- package/es/components/eventBooking/components/bookingDetailModal/index.js +103 -68
- package/es/components/eventBooking/components/bookingDetailModal/index.less +1 -1
- package/es/components/eventBooking/components/selectHolder/index.js +2 -6
- package/es/components/eventBooking/index.less +2 -0
- package/es/components/tabProduct/tabs/index.less +13 -3
- package/lib/components/Sales/Checkout/index.js +3 -0
- package/lib/components/eventBooking/components/Provider/Cart/ContinueButton/index.js +5 -0
- package/lib/components/eventBooking/components/Provider/Cart/Item/Total.d.ts +1 -1
- package/lib/components/eventBooking/components/Provider/Cart/Item/Total.js +13 -6
- package/lib/components/eventBooking/components/Provider/Cart/index.js +1 -5
- package/lib/components/eventBooking/components/Provider/Cart/index.less +0 -2
- package/lib/components/eventBooking/components/Provider/Content/index.js +16 -0
- package/lib/components/eventBooking/components/Provider/Content/index.less +3 -2
- package/lib/components/eventBooking/components/Provider/EmptyHolderModal/index.js +1 -2
- package/lib/components/eventBooking/components/Provider/Event/index.less +1 -1
- package/lib/components/eventBooking/components/Provider/Footer/index.js +13 -11
- package/lib/components/eventBooking/components/Provider/Footer/index.less +29 -5
- package/lib/components/eventBooking/components/Provider/InformationOptionsModal/index.js +1 -1
- package/lib/components/eventBooking/components/Provider/OrderProductModal/index.js +0 -1
- package/lib/components/eventBooking/components/Provider/SelectProduct/index.d.ts +4 -0
- package/lib/components/eventBooking/components/Provider/SelectProduct/index.js +69 -0
- package/lib/components/eventBooking/components/Provider/SelectProduct/index.less +131 -0
- package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/index.js +1 -0
- package/lib/components/eventBooking/components/bookingDetailModal/index.js +74 -51
- package/lib/components/eventBooking/components/bookingDetailModal/index.less +1 -1
- package/lib/components/eventBooking/components/selectHolder/index.js +1 -1
- package/lib/components/eventBooking/index.less +2 -0
- package/lib/components/tabProduct/tabs/index.less +13 -3
- package/package.json +2 -2
|
@@ -10,7 +10,7 @@ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefine
|
|
|
10
10
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
11
|
import React, { useMemo, useState } from 'react';
|
|
12
12
|
import { locales } from '@pisell/utils';
|
|
13
|
-
import { Button } from '@pisell/materials';
|
|
13
|
+
import { Button, PisellToast } from '@pisell/materials';
|
|
14
14
|
import { useCart, useHolder, useStep, useCheckout, useSales, useCustomer } from "../../../../../Sales";
|
|
15
15
|
import { formatValues } from "../../../../../Sales/Checkout/utils";
|
|
16
16
|
import OrderProductModal from "../../OrderProductModal/index";
|
|
@@ -66,7 +66,7 @@ var ContinueButton = function ContinueButton() {
|
|
|
66
66
|
*/
|
|
67
67
|
var handleCheckout = /*#__PURE__*/function () {
|
|
68
68
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
69
|
-
var value, result;
|
|
69
|
+
var value, result, _result$err;
|
|
70
70
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
71
71
|
while (1) switch (_context.prev = _context.next) {
|
|
72
72
|
case 0:
|
|
@@ -78,6 +78,10 @@ var ContinueButton = function ContinueButton() {
|
|
|
78
78
|
// 清空数据
|
|
79
79
|
if (result !== null && result !== void 0 && result.success) {
|
|
80
80
|
removeSessionStorage();
|
|
81
|
+
} else {
|
|
82
|
+
PisellToast({
|
|
83
|
+
content: (result === null || result === void 0 ? void 0 : (_result$err = result.err) === null || _result$err === void 0 ? void 0 : _result$err.message) || ''
|
|
84
|
+
});
|
|
81
85
|
}
|
|
82
86
|
case 5:
|
|
83
87
|
case "end":
|
|
@@ -9,8 +9,10 @@ import { useSummary } from "../../../../../Sales";
|
|
|
9
9
|
import useEngineContext from "../../../../../../hooks/useEngineContext";
|
|
10
10
|
import "./index.less";
|
|
11
11
|
import classNames from 'classnames';
|
|
12
|
-
var Total = function Total() {
|
|
12
|
+
var Total = function Total(_ref) {
|
|
13
13
|
var _context$appHelper, _context$appHelper$ut, _context$appHelper$ut2, _context$appHelper2, _context$appHelper2$u, _context$appHelper2$u2;
|
|
14
|
+
var className = _ref.className,
|
|
15
|
+
isFooter = _ref.isFooter;
|
|
14
16
|
var _useSummary = useSummary(),
|
|
15
17
|
taxTitle = _useSummary.taxTitle,
|
|
16
18
|
totalTaxFee = _useSummary.totalTaxFee,
|
|
@@ -19,22 +21,26 @@ var Total = function Total() {
|
|
|
19
21
|
var context = useEngineContext();
|
|
20
22
|
console.log(taxTitle, isPriceIncludeTax, totalTaxFee, total, context === null || context === void 0 ? void 0 : (_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 ? void 0 : (_context$appHelper$ut = _context$appHelper.utils) === null || _context$appHelper$ut === void 0 ? void 0 : (_context$appHelper$ut2 = _context$appHelper$ut.getSymbolic) === null || _context$appHelper$ut2 === void 0 ? void 0 : _context$appHelper$ut2.call(_context$appHelper$ut), 'wh97978');
|
|
21
23
|
return /*#__PURE__*/React.createElement("div", {
|
|
22
|
-
className: "event-total-wrap"
|
|
24
|
+
className: "event-total-wrap ".concat(className)
|
|
23
25
|
}, !isPriceIncludeTax && Number(totalTaxFee) > 0 ? /*#__PURE__*/React.createElement("div", {
|
|
24
26
|
className: "gst-wrap"
|
|
25
|
-
}, /*#__PURE__*/React.createElement("span", null, taxTitle), /*#__PURE__*/React.createElement(PisellText.Amount, {
|
|
27
|
+
}, /*#__PURE__*/React.createElement("span", null, taxTitle, isFooter ? ': ' : ''), /*#__PURE__*/React.createElement(PisellText.Amount, {
|
|
26
28
|
value: totalTaxFee,
|
|
27
29
|
showCurrencySymbol: true
|
|
28
30
|
})) : null, /*#__PURE__*/React.createElement("div", {
|
|
29
31
|
className: classNames('event-total', _defineProperty({}, ['total-gst-wrap'], !isPriceIncludeTax && Number(totalTaxFee) > 0))
|
|
30
32
|
}, /*#__PURE__*/React.createElement("div", {
|
|
31
33
|
className: "left"
|
|
32
|
-
}, /*#__PURE__*/React.createElement("span", null, locales.getText('pisell2.event.total')
|
|
34
|
+
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("span", null, locales.getText('pisell2.event.total'), isFooter ? ': ' : ''), isFooter ? /*#__PURE__*/React.createElement(PisellText.Amount, {
|
|
35
|
+
value: total,
|
|
36
|
+
showCurrencySymbol: true,
|
|
37
|
+
className: "event-amount"
|
|
38
|
+
}) : null), isPriceIncludeTax && Number(totalTaxFee) > 0 ? /*#__PURE__*/React.createElement("span", {
|
|
33
39
|
className: "gst"
|
|
34
|
-
}, locales.getText('pisell2.event.total.gst')(taxTitle, "".concat(context === null || context === void 0 ? void 0 : (_context$appHelper2 = context.appHelper) === null || _context$appHelper2 === void 0 ? void 0 : (_context$appHelper2$u = _context$appHelper2.utils) === null || _context$appHelper2$u === void 0 ? void 0 : (_context$appHelper2$u2 = _context$appHelper2$u.getSymbolic) === null || _context$appHelper2$u2 === void 0 ? void 0 : _context$appHelper2$u2.call(_context$appHelper2$u)).concat(totalTaxFee))) : null), /*#__PURE__*/React.createElement(PisellText.Amount, {
|
|
40
|
+
}, locales.getText('pisell2.event.total.gst')("".concat(isFooter ? "".concat(taxTitle, ": ") : taxTitle), "".concat(context === null || context === void 0 ? void 0 : (_context$appHelper2 = context.appHelper) === null || _context$appHelper2 === void 0 ? void 0 : (_context$appHelper2$u = _context$appHelper2.utils) === null || _context$appHelper2$u === void 0 ? void 0 : (_context$appHelper2$u2 = _context$appHelper2$u.getSymbolic) === null || _context$appHelper2$u2 === void 0 ? void 0 : _context$appHelper2$u2.call(_context$appHelper2$u)).concat(totalTaxFee))) : null), !isFooter ? /*#__PURE__*/React.createElement(PisellText.Amount, {
|
|
35
41
|
value: total,
|
|
36
42
|
showCurrencySymbol: true,
|
|
37
43
|
className: "event-amount"
|
|
38
|
-
})));
|
|
44
|
+
}) : null));
|
|
39
45
|
};
|
|
40
46
|
export default Total;
|
|
@@ -15,12 +15,8 @@ var Cart = function Cart(_ref) {
|
|
|
15
15
|
return _onCancel();
|
|
16
16
|
},
|
|
17
17
|
bodyStyle: {
|
|
18
|
-
padding: '20px'
|
|
19
|
-
display: 'flex',
|
|
20
|
-
flexDirection: 'column',
|
|
21
|
-
height: '100%'
|
|
18
|
+
padding: '20px'
|
|
22
19
|
},
|
|
23
|
-
mobileModalHeight: '90%',
|
|
24
20
|
destroyOnClose: true,
|
|
25
21
|
className: "event-cart-modal",
|
|
26
22
|
footer: null
|
|
@@ -30,6 +30,30 @@ var Layout = function Layout() {
|
|
|
30
30
|
var Com = components[key];
|
|
31
31
|
return /*#__PURE__*/React.createElement(Com, null);
|
|
32
32
|
}, [currentStepData === null || currentStepData === void 0 ? void 0 : currentStepData.key]);
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @title: 动态计算中间内容区域的高度
|
|
36
|
+
* @description:
|
|
37
|
+
* @return {*}
|
|
38
|
+
* @Author: WangHan
|
|
39
|
+
* @Date: 2025-02-18 15:36
|
|
40
|
+
*/
|
|
41
|
+
useEffect(function () {
|
|
42
|
+
if (isMobile()) {
|
|
43
|
+
var _header$getBoundingCl, _footer$getBoundingCl;
|
|
44
|
+
var header = document.querySelector('.event-progress-bar');
|
|
45
|
+
var footer = document.querySelector('.pisell-section-footers-wrapper');
|
|
46
|
+
var content = document.querySelector('.event-content-mobile-wrap');
|
|
47
|
+
var headerHeight = (header === null || header === void 0 ? void 0 : (_header$getBoundingCl = header.getBoundingClientRect()) === null || _header$getBoundingCl === void 0 ? void 0 : _header$getBoundingCl.height) || 0;
|
|
48
|
+
var footerHeight = (footer === null || footer === void 0 ? void 0 : (_footer$getBoundingCl = footer.getBoundingClientRect()) === null || _footer$getBoundingCl === void 0 ? void 0 : _footer$getBoundingCl.height) || 0;
|
|
49
|
+
var windowHeight = window.innerHeight;
|
|
50
|
+
var contentHeight = windowHeight - headerHeight - footerHeight;
|
|
51
|
+
if (content && content !== null && content !== void 0 && content.style) {
|
|
52
|
+
content.style.height = "".concat(contentHeight, "px");
|
|
53
|
+
content.style.overflowY = 'auto';
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}, [currentStepData === null || currentStepData === void 0 ? void 0 : currentStepData.key]);
|
|
33
57
|
return /*#__PURE__*/React.createElement("div", {
|
|
34
58
|
className: "event-content-wrap ".concat(isMobile() ? 'event-content-mobile-wrap' : '')
|
|
35
59
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
display: flex;
|
|
4
4
|
gap: 6px;
|
|
5
5
|
// align-items: center;
|
|
6
|
+
flex: 1;
|
|
6
7
|
|
|
7
8
|
.event-content-left {
|
|
8
9
|
flex: 1;
|
|
@@ -19,10 +20,10 @@
|
|
|
19
20
|
|
|
20
21
|
.event-content-mobile-wrap {
|
|
21
22
|
width: 100%;
|
|
23
|
+
flex: none;
|
|
22
24
|
.event-content-left {
|
|
23
|
-
background: #fff;
|
|
24
25
|
width: 100%;
|
|
25
|
-
|
|
26
|
+
flex: none;
|
|
26
27
|
.provider-information-wrap {
|
|
27
28
|
width: 100%;
|
|
28
29
|
}
|
|
@@ -5,14 +5,14 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
5
5
|
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
6
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
7
|
import React from 'react';
|
|
8
|
-
import { SectionFooters,
|
|
9
|
-
import { locales } from '@pisell/utils';
|
|
8
|
+
import { SectionFooters, Button, Badge, Image } from '@pisell/materials';
|
|
10
9
|
import { useState } from 'react';
|
|
11
10
|
import { useCart, useHolder, useSummary } from "../../../../Sales";
|
|
12
11
|
import SelectHolderModal from "../SelectHolderModal";
|
|
13
12
|
import ContinueButton from "../Cart/ContinueButton";
|
|
14
13
|
import shoppingCartSvg from "../../../assets/shopping-cart.svg";
|
|
15
14
|
import Cart from "../Cart";
|
|
15
|
+
import Total from "../Cart/Item/Total";
|
|
16
16
|
import "./index.less";
|
|
17
17
|
var Footer = function Footer() {
|
|
18
18
|
var _cartData$cartItems;
|
|
@@ -32,13 +32,20 @@ var Footer = function Footer() {
|
|
|
32
32
|
setSelectedItem = _useState2[1];
|
|
33
33
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SectionFooters, {
|
|
34
34
|
className: "section-footer-wrap",
|
|
35
|
-
left:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
35
|
+
left:
|
|
36
|
+
/*#__PURE__*/
|
|
37
|
+
// <div className="section-footer-left">
|
|
38
|
+
// {/* <PisellText>{locales.getText('pisell2.event.total')}: </PisellText>
|
|
39
|
+
// <PisellText.Amount
|
|
40
|
+
// value={total}
|
|
41
|
+
// showCurrencySymbol={true}
|
|
42
|
+
// className="amount"
|
|
43
|
+
// /> */}
|
|
44
|
+
// </div>
|
|
45
|
+
React.createElement(Total, {
|
|
46
|
+
className: "section-footer-left",
|
|
47
|
+
isFooter: true
|
|
48
|
+
}),
|
|
42
49
|
right: /*#__PURE__*/React.createElement("div", {
|
|
43
50
|
className: "section-footer-right"
|
|
44
51
|
}, /*#__PURE__*/React.createElement(Badge, {
|
|
@@ -52,7 +59,7 @@ var Footer = function Footer() {
|
|
|
52
59
|
}, /*#__PURE__*/React.createElement(Image, {
|
|
53
60
|
src: shoppingCartSvg,
|
|
54
61
|
preview: false
|
|
55
|
-
})
|
|
62
|
+
}))), /*#__PURE__*/React.createElement(ContinueButton, null))
|
|
56
63
|
}), /*#__PURE__*/React.createElement(SelectHolderModal, {
|
|
57
64
|
open: open,
|
|
58
65
|
selectedItem: selectedItem,
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
display: flex;
|
|
6
6
|
padding: 24px;
|
|
7
7
|
justify-content: space-between;
|
|
8
|
-
align-items:
|
|
8
|
+
align-items: center;
|
|
9
9
|
align-self: stretch;
|
|
10
10
|
background: #ffffff;
|
|
11
11
|
border-top: 1px solid #eaecf0;
|
|
@@ -13,15 +13,30 @@
|
|
|
13
13
|
.section-footer-left {
|
|
14
14
|
display: flex;
|
|
15
15
|
flex-direction: column;
|
|
16
|
-
color: var(--
|
|
17
|
-
font-size:
|
|
16
|
+
color: var(--Gray-900, #101828);
|
|
17
|
+
font-size: 16px;
|
|
18
18
|
font-weight: 400;
|
|
19
|
-
line-height:
|
|
19
|
+
line-height: 24px;
|
|
20
|
+
> div {
|
|
21
|
+
justify-content: flex-start;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.gst-wrap {
|
|
25
|
+
color: var(--Gray-500, #667085);
|
|
26
|
+
font-size: 14px;
|
|
27
|
+
font-weight: 400;
|
|
28
|
+
line-height: 20px;
|
|
29
|
+
}
|
|
20
30
|
|
|
21
|
-
.
|
|
31
|
+
.event-total {
|
|
32
|
+
padding: 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.event-amount {
|
|
22
36
|
font-size: 16px;
|
|
23
37
|
font-weight: 500;
|
|
24
38
|
line-height: 24px;
|
|
39
|
+
color: var(--Gray-900, #101828) !important;
|
|
25
40
|
}
|
|
26
41
|
}
|
|
27
42
|
|
|
@@ -36,5 +51,14 @@
|
|
|
36
51
|
display: flex;
|
|
37
52
|
align-items: center;
|
|
38
53
|
gap: 8px;
|
|
54
|
+
padding: 0;
|
|
55
|
+
width: 40px;
|
|
56
|
+
height: 40px;
|
|
57
|
+
justify-content: center;
|
|
58
|
+
.pisell-lowcode-image {
|
|
59
|
+
width: 20px;
|
|
60
|
+
height: 20px;
|
|
61
|
+
line-height: 20px;
|
|
62
|
+
}
|
|
39
63
|
}
|
|
40
64
|
}
|
|
@@ -16,7 +16,7 @@ var InformationOptionsModal = function InformationOptionsModal(props) {
|
|
|
16
16
|
destroyOnClose: true,
|
|
17
17
|
footer: null,
|
|
18
18
|
onCancel: onCancel,
|
|
19
|
-
mobileModalHeight: '
|
|
19
|
+
mobileModalHeight: 'auto',
|
|
20
20
|
className: 'information-option-modal',
|
|
21
21
|
headerDivider: false
|
|
22
22
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useCart, useSales } from "../../../Sales";
|
|
3
|
+
import { locales } from '@pisell/utils';
|
|
4
|
+
import { PisellCard } from '@pisell/materials';
|
|
5
|
+
import "./index.less";
|
|
6
|
+
var SelectProduct = function SelectProduct() {
|
|
7
|
+
var _cartData$cartItems2;
|
|
8
|
+
var _useSales = useSales(),
|
|
9
|
+
data = _useSales.data;
|
|
10
|
+
var _useCart = useCart(),
|
|
11
|
+
addToCart = _useCart.addToCart,
|
|
12
|
+
cartData = _useCart.cartData;
|
|
13
|
+
var handleAddToCart = function handleAddToCart(product) {
|
|
14
|
+
addToCart(product);
|
|
15
|
+
};
|
|
16
|
+
var renderProductCard = function renderProductCard(product) {
|
|
17
|
+
var _cartData$cartItems;
|
|
18
|
+
var isSelected = cartData === null || cartData === void 0 ? void 0 : (_cartData$cartItems = cartData.cartItems) === null || _cartData$cartItems === void 0 ? void 0 : _cartData$cartItems.some(function (item) {
|
|
19
|
+
return item.id === product.id;
|
|
20
|
+
});
|
|
21
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
22
|
+
key: product.id,
|
|
23
|
+
className: "product-card ".concat(isSelected ? 'product-card-selected' : ''),
|
|
24
|
+
onClick: function onClick() {
|
|
25
|
+
return handleAddToCart(product);
|
|
26
|
+
}
|
|
27
|
+
}, /*#__PURE__*/React.createElement(PisellCard, {
|
|
28
|
+
bodyStyle: {
|
|
29
|
+
padding: '16px'
|
|
30
|
+
}
|
|
31
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
32
|
+
className: "product-content"
|
|
33
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
34
|
+
className: "product-title"
|
|
35
|
+
}, product.title), /*#__PURE__*/React.createElement("div", {
|
|
36
|
+
className: "product-price"
|
|
37
|
+
}, product.price, " ", product.currency))));
|
|
38
|
+
};
|
|
39
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
40
|
+
className: "select-product-container"
|
|
41
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
42
|
+
className: "step-header"
|
|
43
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
44
|
+
className: "step-number"
|
|
45
|
+
}, "Step 1"), /*#__PURE__*/React.createElement("div", {
|
|
46
|
+
className: "step-title"
|
|
47
|
+
}, "Select Product")), /*#__PURE__*/React.createElement("div", {
|
|
48
|
+
className: "category-section"
|
|
49
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
50
|
+
className: "category-title"
|
|
51
|
+
}, "Other"), /*#__PURE__*/React.createElement("div", {
|
|
52
|
+
className: "product-list"
|
|
53
|
+
}, renderProductCard({
|
|
54
|
+
id: '1',
|
|
55
|
+
title: 'appointment',
|
|
56
|
+
price: '1.00',
|
|
57
|
+
currency: 'AUD'
|
|
58
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
className: "cart-section"
|
|
60
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
61
|
+
className: "cart-title"
|
|
62
|
+
}, "Your cart"), cartData !== null && cartData !== void 0 && (_cartData$cartItems2 = cartData.cartItems) !== null && _cartData$cartItems2 !== void 0 && _cartData$cartItems2.length ? /*#__PURE__*/React.createElement("div", {
|
|
63
|
+
className: "cart-items"
|
|
64
|
+
}, cartData.cartItems.map(function (item) {
|
|
65
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
66
|
+
key: item.id,
|
|
67
|
+
className: "cart-item"
|
|
68
|
+
}, item.title);
|
|
69
|
+
})) : /*#__PURE__*/React.createElement("div", {
|
|
70
|
+
className: "cart-empty"
|
|
71
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
72
|
+
className: "cart-empty-icon"
|
|
73
|
+
}, "\uD83D\uDED2"), /*#__PURE__*/React.createElement("div", {
|
|
74
|
+
className: "cart-empty-text"
|
|
75
|
+
}, locales.getText('pisell2.event.cart.empty')))));
|
|
76
|
+
};
|
|
77
|
+
export default SelectProduct;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
.select-product-container {
|
|
2
|
+
padding: 24px;
|
|
3
|
+
background: #fff;
|
|
4
|
+
|
|
5
|
+
.step-header {
|
|
6
|
+
margin-bottom: 24px;
|
|
7
|
+
|
|
8
|
+
.step-number {
|
|
9
|
+
font-size: 14px;
|
|
10
|
+
color: #666;
|
|
11
|
+
margin-bottom: 8px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.step-title {
|
|
15
|
+
font-size: 24px;
|
|
16
|
+
font-weight: 500;
|
|
17
|
+
color: #333;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.category-section {
|
|
22
|
+
margin-bottom: 24px;
|
|
23
|
+
|
|
24
|
+
.category-title {
|
|
25
|
+
font-size: 16px;
|
|
26
|
+
font-weight: 500;
|
|
27
|
+
color: #333;
|
|
28
|
+
margin-bottom: 16px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.product-list {
|
|
32
|
+
display: grid;
|
|
33
|
+
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
|
|
34
|
+
gap: 16px;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.product-card {
|
|
39
|
+
cursor: pointer;
|
|
40
|
+
transition: all 0.3s;
|
|
41
|
+
|
|
42
|
+
&:hover {
|
|
43
|
+
transform: translateY(-2px);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&.product-card-selected {
|
|
47
|
+
.pisell-card {
|
|
48
|
+
border-color: #1890ff;
|
|
49
|
+
background: rgba(24, 144, 255, 0.05);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.product-content {
|
|
54
|
+
text-align: center;
|
|
55
|
+
|
|
56
|
+
.product-title {
|
|
57
|
+
font-size: 16px;
|
|
58
|
+
color: #333;
|
|
59
|
+
margin-bottom: 8px;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.product-price {
|
|
63
|
+
font-size: 14px;
|
|
64
|
+
color: #666;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.cart-section {
|
|
70
|
+
background: #f5f5f5;
|
|
71
|
+
border-radius: 4px;
|
|
72
|
+
padding: 24px;
|
|
73
|
+
|
|
74
|
+
.cart-title {
|
|
75
|
+
font-size: 18px;
|
|
76
|
+
font-weight: 500;
|
|
77
|
+
color: #333;
|
|
78
|
+
margin-bottom: 16px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.cart-empty {
|
|
82
|
+
text-align: center;
|
|
83
|
+
padding: 32px 0;
|
|
84
|
+
|
|
85
|
+
.cart-empty-icon {
|
|
86
|
+
font-size: 24px;
|
|
87
|
+
margin-bottom: 8px;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.cart-empty-text {
|
|
91
|
+
color: #999;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.cart-items {
|
|
96
|
+
.cart-item {
|
|
97
|
+
padding: 12px;
|
|
98
|
+
background: #fff;
|
|
99
|
+
border-radius: 4px;
|
|
100
|
+
margin-bottom: 8px;
|
|
101
|
+
|
|
102
|
+
&:last-child {
|
|
103
|
+
margin-bottom: 0;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// 移动端适配
|
|
111
|
+
@media screen and (max-width: 768px) {
|
|
112
|
+
.select-product-container {
|
|
113
|
+
padding: 16px;
|
|
114
|
+
|
|
115
|
+
.step-header {
|
|
116
|
+
margin-bottom: 16px;
|
|
117
|
+
|
|
118
|
+
.step-title {
|
|
119
|
+
font-size: 20px;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.product-list {
|
|
124
|
+
grid-template-columns: 1fr !important;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.cart-section {
|
|
128
|
+
padding: 16px;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
@@ -253,6 +253,7 @@ var CalendarDate = function CalendarDate(props, ref) {
|
|
|
253
253
|
return /*#__PURE__*/React.createElement(PisellModal, {
|
|
254
254
|
open: open,
|
|
255
255
|
title: 'device',
|
|
256
|
+
mobileModalHeight: 'auto',
|
|
256
257
|
platform: isMobile() ? 'h5' : 'pc',
|
|
257
258
|
bodyStyle: {
|
|
258
259
|
padding: isMobile() ? '16px 24px' : 32
|