@pisell/private-materials 6.12.269 → 6.12.270
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/meta.js +1 -1
- package/build/lowcode/render/default/view.js +3 -3
- package/build/lowcode/view.js +3 -3
- package/es/components/bigSale/components/ProductList/index.js +10 -7
- package/es/components/venueBooking/components/Voucher/index.js +1 -1
- package/es/components/venueBooking/context.js +2 -0
- package/es/plus/salesSdk/context/SalesSdkProductContext.js +28 -1
- package/lib/components/bigSale/components/ProductList/index.js +10 -7
- package/lib/components/venueBooking/components/Voucher/index.js +1 -1
- package/lib/components/venueBooking/context.js +2 -0
- package/lib/plus/salesSdk/context/SalesSdkProductContext.js +29 -1
- package/package.json +2 -2
|
@@ -120,7 +120,7 @@ function shouldHideSingleKioskCategoryNavigation(navigation, items) {
|
|
|
120
120
|
* 商品列表只做“加载商品 + 触发加购”,加购决策交给 salesSdk。
|
|
121
121
|
*/
|
|
122
122
|
const BigSaleProductListInner = ({ isActive = true, osKey, productListPreferencesChannel, mode, context, businessCode, productLoadParams, productDisplayConfig, productCatalogSessionKey, requiredOrderId, categoryResetKey, productListPreferences: controlledProductListPreferences, productListPreferencesOverride: controlledProductListPreferencesOverride, defaultProductListPreferences: controlledDefaultProductListPreferences, onProductListPreferencesChange, onProductListPreferencesReset, variant, categoryNavigation = "tabbar", hideSingleCategoryNavigation = false, categoryDisplayMode = "switch", persistentSearch = false, onScrollActivityChange, showActiveCategoryTitle = false, productListHeaderSlot, productSelectionTrigger = "pointerUp", productCardVersion = "v1", addToCartToastIcon, addToCartToastOptions, showSettings = true }) => {
|
|
123
|
-
var _engineContext$appHel, _sales$bookingTicket$, _sales$bookingTicket, _sales$bookingTicket$2, _productLoadParams$me, _sales$defaultProduct, _sales$
|
|
123
|
+
var _engineContext$appHel, _sales$bookingTicket$, _sales$bookingTicket, _sales$bookingTicket$2, _productLoadParams$me, _sales$defaultProduct, _sales$tempOrder3;
|
|
124
124
|
const usesKioskCategoryNavigation = categoryNavigation !== "tabbar";
|
|
125
125
|
const usesDeferredCategoryMotion = categoryNavigation === "sidebar" && categoryDisplayMode === "switch";
|
|
126
126
|
const usesV2ProductCard = variant === "phone" && productCardVersion === "v2";
|
|
@@ -248,9 +248,10 @@ const BigSaleProductListInner = ({ isActive = true, osKey, productListPreference
|
|
|
248
248
|
sessionKey: productCatalogSessionKey !== null && productCatalogSessionKey !== void 0 ? productCatalogSessionKey : ""
|
|
249
249
|
});
|
|
250
250
|
useEffect(() => {
|
|
251
|
-
var _sales$tempOrder, _sales$bookingTicket$4, _sales$bookingTicket2, _productLoadParams$me2, _sales$defaultProduct2;
|
|
251
|
+
var _sales$tempOrder, _sales$tempOrder2, _sales$bookingTicket$4, _sales$bookingTicket2, _productLoadParams$me2, _sales$defaultProduct2;
|
|
252
|
+
if (!isActive && sales.productLoadChannel === "kiosk" && sales.businessCode === "retail" && requiredOrderId === void 0 && !((_sales$tempOrder = sales.tempOrder) === null || _sales$tempOrder === void 0 ? void 0 : _sales$tempOrder.order_id)) loadedKeyRef.current = null;
|
|
252
253
|
if (!isActive || !sales.bookingTicket || sales.catalogState !== "ready" || !sales.isReady || skipsCatalogLoad || !hasCatalog && !hasMenuListIds) return;
|
|
253
|
-
if (requiredOrderId !== void 0 && Number((_sales$
|
|
254
|
+
if (requiredOrderId !== void 0 && Number((_sales$tempOrder2 = sales.tempOrder) === null || _sales$tempOrder2 === void 0 ? void 0 : _sales$tempOrder2.order_id) !== Number(requiredOrderId)) return;
|
|
254
255
|
(_sales$bookingTicket$4 = (_sales$bookingTicket2 = sales.bookingTicket).getProductCatalog) === null || _sales$bookingTicket$4 === void 0 || (_sales$bookingTicket$4 = _sales$bookingTicket$4.call(_sales$bookingTicket2)) === null || _sales$bookingTicket$4 === void 0 || (_sales$bookingTicket$4 = _sales$bookingTicket$4.products) === null || _sales$bookingTicket$4 === void 0 || _sales$bookingTicket$4.length;
|
|
255
256
|
if (typeof productCatalogSessionKey === "string" && /-p0$/.test(productCatalogSessionKey)) return;
|
|
256
257
|
const menuListIds = (_productLoadParams$me2 = productLoadParams === null || productLoadParams === void 0 ? void 0 : productLoadParams.menu_list_ids) !== null && _productLoadParams$me2 !== void 0 ? _productLoadParams$me2 : (_sales$defaultProduct2 = sales.defaultProductLoadParams) === null || _sales$defaultProduct2 === void 0 ? void 0 : _sales$defaultProduct2.menu_list_ids;
|
|
@@ -284,7 +285,9 @@ const BigSaleProductListInner = ({ isActive = true, osKey, productListPreference
|
|
|
284
285
|
skipsCatalogLoad,
|
|
285
286
|
requiredOrderId,
|
|
286
287
|
isActive,
|
|
287
|
-
|
|
288
|
+
sales.productLoadChannel,
|
|
289
|
+
sales.businessCode,
|
|
290
|
+
(_sales$tempOrder3 = sales.tempOrder) === null || _sales$tempOrder3 === void 0 ? void 0 : _sales$tempOrder3.order_id
|
|
288
291
|
]);
|
|
289
292
|
const listShowsLoading = shouldShowBigSaleProductListLoading({
|
|
290
293
|
catalogState: sales.catalogState,
|
|
@@ -317,10 +320,10 @@ const BigSaleProductListInner = ({ isActive = true, osKey, productListPreference
|
|
|
317
320
|
const productId = String((_ref3 = (_product$id = product === null || product === void 0 ? void 0 : product.id) !== null && _product$id !== void 0 ? _product$id : product === null || product === void 0 ? void 0 : product.product_id) !== null && _ref3 !== void 0 ? _ref3 : "");
|
|
318
321
|
const baselineQuantity = phoneCartProductEntries.filter((entry) => resolvePhoneCartProductId(entry.value) === productId).reduce((total, entry) => total + entry.quantity, 0);
|
|
319
322
|
try {
|
|
320
|
-
var _sales$
|
|
323
|
+
var _sales$tempOrder4, _logger$addLog, _ref4, _sales$tempOrder$orde, _sales$tempOrder5;
|
|
321
324
|
if (!(yield businessAvailability.ensureCanShop())) return;
|
|
322
325
|
if (!sales.isReady) return;
|
|
323
|
-
if (requiredOrderId !== void 0 && Number((_sales$
|
|
326
|
+
if (requiredOrderId !== void 0 && Number((_sales$tempOrder4 = sales.tempOrder) === null || _sales$tempOrder4 === void 0 ? void 0 : _sales$tempOrder4.order_id) !== Number(requiredOrderId)) return;
|
|
324
327
|
const latestProduct = currentProducts.find((currentProduct) => currentProduct.id === product.id);
|
|
325
328
|
latestProduct && _objectSpread2(_objectSpread2({}, product), {}, { cartDetailValue: latestProduct.cartDetailValue });
|
|
326
329
|
logger === null || logger === void 0 || (_logger$addLog = logger.addLog) === null || _logger$addLog === void 0 || _logger$addLog.call(logger, {
|
|
@@ -329,7 +332,7 @@ const BigSaleProductListInner = ({ isActive = true, osKey, productListPreference
|
|
|
329
332
|
metadata: {
|
|
330
333
|
product_id: productId,
|
|
331
334
|
product_title: resolvePhoneProductTitle(product),
|
|
332
|
-
order_id: (_ref4 = (_sales$tempOrder$orde = (_sales$
|
|
335
|
+
order_id: (_ref4 = (_sales$tempOrder$orde = (_sales$tempOrder5 = sales.tempOrder) === null || _sales$tempOrder5 === void 0 ? void 0 : _sales$tempOrder5.order_id) !== null && _sales$tempOrder$orde !== void 0 ? _sales$tempOrder$orde : requiredOrderId) !== null && _ref4 !== void 0 ? _ref4 : null
|
|
333
336
|
}
|
|
334
337
|
});
|
|
335
338
|
const result = yield cart.addProductWithFlow(product, {
|
|
@@ -21,7 +21,7 @@ import "../../../appointmentBooking/components/Voucher/index.less";
|
|
|
21
21
|
* 嵌入购物车底部,提供券列表展示、勾选、扫码兑码、未登录引导等能力
|
|
22
22
|
*/
|
|
23
23
|
function VoucherCard() {
|
|
24
|
-
const { isLogin, openLoginModal, discountList, runModuleAction, refreshViewModel, venueBookingModule } = useVenueBookingContext();
|
|
24
|
+
const { isLogin, openLoginModal, handleLoginSuccess, discountList, runModuleAction, refreshViewModel, venueBookingModule } = useVenueBookingContext();
|
|
25
25
|
const [showDetail, setShowDetail] = useState(true);
|
|
26
26
|
const [code, setCode] = useState("");
|
|
27
27
|
const availableData = useMemo(() => {
|
|
@@ -718,6 +718,7 @@ function VenueBookingProvider({ entryContext, children }) {
|
|
|
718
718
|
isSubmittingOrder,
|
|
719
719
|
isLogin,
|
|
720
720
|
openLoginModal,
|
|
721
|
+
handleLoginSuccess,
|
|
721
722
|
discountList,
|
|
722
723
|
isAgreeDepositPolicy,
|
|
723
724
|
setIsAgreeDepositPolicy,
|
|
@@ -761,6 +762,7 @@ function VenueBookingProvider({ entryContext, children }) {
|
|
|
761
762
|
isSubmittingOrder,
|
|
762
763
|
isLogin,
|
|
763
764
|
openLoginModal,
|
|
765
|
+
handleLoginSuccess,
|
|
764
766
|
discountList,
|
|
765
767
|
toggleSlot,
|
|
766
768
|
refreshViewModel,
|
|
@@ -5,6 +5,7 @@ import { SalesSdkContext } from "./SalesSdkContext.js";
|
|
|
5
5
|
import { appendPromotionTagsForProducts } from "../utils/appendPromotionTags.js";
|
|
6
6
|
import { appendAvailableWalletIdsToLoadParams, buildDefaultLoadProductsParamsWithOpenData, mergeLoadProductsParams, resolveCustomerIdFromTempOrder } from "../utils/buildDefaultLoadProductsParams.js";
|
|
7
7
|
import { SalesSdkRootRefreshContext } from "./SalesSdkProvider.js";
|
|
8
|
+
import dayjs from "dayjs";
|
|
8
9
|
import React, { createContext, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
9
10
|
import { getUniqueId } from "@pisell/utils";
|
|
10
11
|
import { useMemoizedFn } from "ahooks";
|
|
@@ -222,10 +223,36 @@ const SalesSdkProductProvider = ({ children, isActive = true, preserveCatalogOnI
|
|
|
222
223
|
channel: sales.productLoadChannel,
|
|
223
224
|
business_code: sales.businessCode
|
|
224
225
|
});
|
|
225
|
-
const
|
|
226
|
+
const liveTempOrder = (_bookingTicket$getTem = (_bookingTicket$getTem2 = bookingTicket.getTempOrder) === null || _bookingTicket$getTem2 === void 0 ? void 0 : _bookingTicket$getTem2.call(bookingTicket)) !== null && _bookingTicket$getTem !== void 0 ? _bookingTicket$getTem : sales === null || sales === void 0 ? void 0 : sales.tempOrder;
|
|
227
|
+
const orderCustomerId = resolveCustomerIdFromTempOrder(liveTempOrder);
|
|
226
228
|
const customerParams = (options === null || options === void 0 ? void 0 : options.customerIdOverride) !== void 0 ? options.customerIdOverride !== null ? { customer_id: options.customerIdOverride } : {} : orderCustomerId ? { customer_id: orderCustomerId } : {};
|
|
227
229
|
const effectiveCustomerId = Number(customerParams.customer_id || 0);
|
|
228
230
|
if (effectiveCustomerId > 0 && bookingTicket.loadDiscountConfig) yield bookingTicket.loadDiscountConfig({ customerId: effectiveCustomerId });
|
|
231
|
+
const hasExplicitSchedule = [sales.defaultProductLoadParams, params].some((value) => (value === null || value === void 0 ? void 0 : value.schedule_date) !== void 0 || (value === null || value === void 0 ? void 0 : value.schedule_datetime) !== void 0);
|
|
232
|
+
if (sales.productLoadChannel === "kiosk" && sales.businessCode === "retail" && !(liveTempOrder === null || liveTempOrder === void 0 ? void 0 : liveTempOrder.order_id) && !hasExplicitSchedule) {
|
|
233
|
+
var _engine$appHelper2, _engine$appHelper2$ge;
|
|
234
|
+
const now = /* @__PURE__ */ new Date();
|
|
235
|
+
const timezone = engine === null || engine === void 0 || (_engine$appHelper2 = engine.appHelper) === null || _engine$appHelper2 === void 0 || (_engine$appHelper2 = _engine$appHelper2.utils) === null || _engine$appHelper2 === void 0 || (_engine$appHelper2$ge = _engine$appHelper2.getData) === null || _engine$appHelper2$ge === void 0 ? void 0 : _engine$appHelper2$ge.call(_engine$appHelper2, "timezone");
|
|
236
|
+
let currentDatetime = dayjs(now).format("YYYY-MM-DD HH:mm:ss");
|
|
237
|
+
if (timezone) {
|
|
238
|
+
const parts = {};
|
|
239
|
+
new Intl.DateTimeFormat("en-GB", {
|
|
240
|
+
timeZone: timezone,
|
|
241
|
+
year: "numeric",
|
|
242
|
+
month: "2-digit",
|
|
243
|
+
day: "2-digit",
|
|
244
|
+
hour: "2-digit",
|
|
245
|
+
minute: "2-digit",
|
|
246
|
+
second: "2-digit",
|
|
247
|
+
hour12: false
|
|
248
|
+
}).formatToParts(now).forEach(({ type, value }) => {
|
|
249
|
+
parts[type] = value;
|
|
250
|
+
});
|
|
251
|
+
currentDatetime = `${parts.year}-${parts.month}-${parts.day} ${parts.hour}:${parts.minute}:${parts.second}`;
|
|
252
|
+
}
|
|
253
|
+
defaultParams.schedule_date = currentDatetime.slice(0, 10);
|
|
254
|
+
defaultParams.schedule_datetime = currentDatetime;
|
|
255
|
+
}
|
|
229
256
|
const paramsWithWallet = appendAvailableWalletIdsToLoadParams(mergeLoadProductsParams(defaultParams, mergeLoadProductsParams((_sales$defaultProduct = sales.defaultProductLoadParams) !== null && _sales$defaultProduct !== void 0 ? _sales$defaultProduct : {}, mergeLoadProductsParams(customerParams, params))), (_bookingTicket$getAva = bookingTicket.getAvailableWalletIds) === null || _bookingTicket$getAva === void 0 ? void 0 : _bookingTicket$getAva.call(bookingTicket));
|
|
230
257
|
const list = yield bookingTicket.loadProducts(paramsWithWallet, {
|
|
231
258
|
callback: applyProductsFromQueryCallback,
|
|
@@ -122,7 +122,7 @@ function shouldHideSingleKioskCategoryNavigation(navigation, items) {
|
|
|
122
122
|
* 商品列表只做“加载商品 + 触发加购”,加购决策交给 salesSdk。
|
|
123
123
|
*/
|
|
124
124
|
const BigSaleProductListInner = ({ isActive = true, osKey, productListPreferencesChannel, mode, context, businessCode, productLoadParams, productDisplayConfig, productCatalogSessionKey, requiredOrderId, categoryResetKey, productListPreferences: controlledProductListPreferences, productListPreferencesOverride: controlledProductListPreferencesOverride, defaultProductListPreferences: controlledDefaultProductListPreferences, onProductListPreferencesChange, onProductListPreferencesReset, variant, categoryNavigation = "tabbar", hideSingleCategoryNavigation = false, categoryDisplayMode = "switch", persistentSearch = false, onScrollActivityChange, showActiveCategoryTitle = false, productListHeaderSlot, productSelectionTrigger = "pointerUp", productCardVersion = "v1", addToCartToastIcon, addToCartToastOptions, showSettings = true }) => {
|
|
125
|
-
var _engineContext$appHel, _sales$bookingTicket$, _sales$bookingTicket, _sales$bookingTicket$2, _productLoadParams$me, _sales$defaultProduct, _sales$
|
|
125
|
+
var _engineContext$appHel, _sales$bookingTicket$, _sales$bookingTicket, _sales$bookingTicket$2, _productLoadParams$me, _sales$defaultProduct, _sales$tempOrder3;
|
|
126
126
|
const usesKioskCategoryNavigation = categoryNavigation !== "tabbar";
|
|
127
127
|
const usesDeferredCategoryMotion = categoryNavigation === "sidebar" && categoryDisplayMode === "switch";
|
|
128
128
|
const usesV2ProductCard = variant === "phone" && productCardVersion === "v2";
|
|
@@ -250,9 +250,10 @@ const BigSaleProductListInner = ({ isActive = true, osKey, productListPreference
|
|
|
250
250
|
sessionKey: productCatalogSessionKey !== null && productCatalogSessionKey !== void 0 ? productCatalogSessionKey : ""
|
|
251
251
|
});
|
|
252
252
|
(0, react.useEffect)(() => {
|
|
253
|
-
var _sales$tempOrder, _sales$bookingTicket$4, _sales$bookingTicket2, _productLoadParams$me2, _sales$defaultProduct2;
|
|
253
|
+
var _sales$tempOrder, _sales$tempOrder2, _sales$bookingTicket$4, _sales$bookingTicket2, _productLoadParams$me2, _sales$defaultProduct2;
|
|
254
|
+
if (!isActive && sales.productLoadChannel === "kiosk" && sales.businessCode === "retail" && requiredOrderId === void 0 && !((_sales$tempOrder = sales.tempOrder) === null || _sales$tempOrder === void 0 ? void 0 : _sales$tempOrder.order_id)) loadedKeyRef.current = null;
|
|
254
255
|
if (!isActive || !sales.bookingTicket || sales.catalogState !== "ready" || !sales.isReady || skipsCatalogLoad || !hasCatalog && !hasMenuListIds) return;
|
|
255
|
-
if (requiredOrderId !== void 0 && Number((_sales$
|
|
256
|
+
if (requiredOrderId !== void 0 && Number((_sales$tempOrder2 = sales.tempOrder) === null || _sales$tempOrder2 === void 0 ? void 0 : _sales$tempOrder2.order_id) !== Number(requiredOrderId)) return;
|
|
256
257
|
(_sales$bookingTicket$4 = (_sales$bookingTicket2 = sales.bookingTicket).getProductCatalog) === null || _sales$bookingTicket$4 === void 0 || (_sales$bookingTicket$4 = _sales$bookingTicket$4.call(_sales$bookingTicket2)) === null || _sales$bookingTicket$4 === void 0 || (_sales$bookingTicket$4 = _sales$bookingTicket$4.products) === null || _sales$bookingTicket$4 === void 0 || _sales$bookingTicket$4.length;
|
|
257
258
|
if (typeof productCatalogSessionKey === "string" && /-p0$/.test(productCatalogSessionKey)) return;
|
|
258
259
|
const menuListIds = (_productLoadParams$me2 = productLoadParams === null || productLoadParams === void 0 ? void 0 : productLoadParams.menu_list_ids) !== null && _productLoadParams$me2 !== void 0 ? _productLoadParams$me2 : (_sales$defaultProduct2 = sales.defaultProductLoadParams) === null || _sales$defaultProduct2 === void 0 ? void 0 : _sales$defaultProduct2.menu_list_ids;
|
|
@@ -286,7 +287,9 @@ const BigSaleProductListInner = ({ isActive = true, osKey, productListPreference
|
|
|
286
287
|
skipsCatalogLoad,
|
|
287
288
|
requiredOrderId,
|
|
288
289
|
isActive,
|
|
289
|
-
|
|
290
|
+
sales.productLoadChannel,
|
|
291
|
+
sales.businessCode,
|
|
292
|
+
(_sales$tempOrder3 = sales.tempOrder) === null || _sales$tempOrder3 === void 0 ? void 0 : _sales$tempOrder3.order_id
|
|
290
293
|
]);
|
|
291
294
|
const listShowsLoading = require_productListLoadingState.shouldShowBigSaleProductListLoading({
|
|
292
295
|
catalogState: sales.catalogState,
|
|
@@ -319,10 +322,10 @@ const BigSaleProductListInner = ({ isActive = true, osKey, productListPreference
|
|
|
319
322
|
const productId = String((_ref3 = (_product$id = product === null || product === void 0 ? void 0 : product.id) !== null && _product$id !== void 0 ? _product$id : product === null || product === void 0 ? void 0 : product.product_id) !== null && _ref3 !== void 0 ? _ref3 : "");
|
|
320
323
|
const baselineQuantity = phoneCartProductEntries.filter((entry) => resolvePhoneCartProductId(entry.value) === productId).reduce((total, entry) => total + entry.quantity, 0);
|
|
321
324
|
try {
|
|
322
|
-
var _sales$
|
|
325
|
+
var _sales$tempOrder4, _logger$addLog, _ref4, _sales$tempOrder$orde, _sales$tempOrder5;
|
|
323
326
|
if (!(yield businessAvailability.ensureCanShop())) return;
|
|
324
327
|
if (!sales.isReady) return;
|
|
325
|
-
if (requiredOrderId !== void 0 && Number((_sales$
|
|
328
|
+
if (requiredOrderId !== void 0 && Number((_sales$tempOrder4 = sales.tempOrder) === null || _sales$tempOrder4 === void 0 ? void 0 : _sales$tempOrder4.order_id) !== Number(requiredOrderId)) return;
|
|
326
329
|
const latestProduct = currentProducts.find((currentProduct) => currentProduct.id === product.id);
|
|
327
330
|
latestProduct && require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, product), {}, { cartDetailValue: latestProduct.cartDetailValue });
|
|
328
331
|
logger === null || logger === void 0 || (_logger$addLog = logger.addLog) === null || _logger$addLog === void 0 || _logger$addLog.call(logger, {
|
|
@@ -331,7 +334,7 @@ const BigSaleProductListInner = ({ isActive = true, osKey, productListPreference
|
|
|
331
334
|
metadata: {
|
|
332
335
|
product_id: productId,
|
|
333
336
|
product_title: resolvePhoneProductTitle(product),
|
|
334
|
-
order_id: (_ref4 = (_sales$tempOrder$orde = (_sales$
|
|
337
|
+
order_id: (_ref4 = (_sales$tempOrder$orde = (_sales$tempOrder5 = sales.tempOrder) === null || _sales$tempOrder5 === void 0 ? void 0 : _sales$tempOrder5.order_id) !== null && _sales$tempOrder$orde !== void 0 ? _sales$tempOrder$orde : requiredOrderId) !== null && _ref4 !== void 0 ? _ref4 : null
|
|
335
338
|
}
|
|
336
339
|
});
|
|
337
340
|
const result = yield cart.addProductWithFlow(product, {
|
|
@@ -26,7 +26,7 @@ require("../../../appointmentBooking/components/Voucher/index.less");
|
|
|
26
26
|
* 嵌入购物车底部,提供券列表展示、勾选、扫码兑码、未登录引导等能力
|
|
27
27
|
*/
|
|
28
28
|
function VoucherCard() {
|
|
29
|
-
const { isLogin, openLoginModal, discountList, runModuleAction, refreshViewModel, venueBookingModule } = require_context.useVenueBookingContext();
|
|
29
|
+
const { isLogin, openLoginModal, handleLoginSuccess, discountList, runModuleAction, refreshViewModel, venueBookingModule } = require_context.useVenueBookingContext();
|
|
30
30
|
const [showDetail, setShowDetail] = (0, react.useState)(true);
|
|
31
31
|
const [code, setCode] = (0, react.useState)("");
|
|
32
32
|
const availableData = (0, react.useMemo)(() => {
|
|
@@ -721,6 +721,7 @@ function VenueBookingProvider({ entryContext, children }) {
|
|
|
721
721
|
isSubmittingOrder,
|
|
722
722
|
isLogin,
|
|
723
723
|
openLoginModal,
|
|
724
|
+
handleLoginSuccess,
|
|
724
725
|
discountList,
|
|
725
726
|
isAgreeDepositPolicy,
|
|
726
727
|
setIsAgreeDepositPolicy,
|
|
@@ -764,6 +765,7 @@ function VenueBookingProvider({ entryContext, children }) {
|
|
|
764
765
|
isSubmittingOrder,
|
|
765
766
|
isLogin,
|
|
766
767
|
openLoginModal,
|
|
768
|
+
handleLoginSuccess,
|
|
767
769
|
discountList,
|
|
768
770
|
toggleSlot,
|
|
769
771
|
refreshViewModel,
|
|
@@ -6,6 +6,8 @@ const require_SalesSdkContext = require("./SalesSdkContext.js");
|
|
|
6
6
|
const require_appendPromotionTags = require("../utils/appendPromotionTags.js");
|
|
7
7
|
const require_buildDefaultLoadProductsParams = require("../utils/buildDefaultLoadProductsParams.js");
|
|
8
8
|
const require_SalesSdkProvider = require("./SalesSdkProvider.js");
|
|
9
|
+
let dayjs = require("dayjs");
|
|
10
|
+
dayjs = require_runtime.__toESM(dayjs);
|
|
9
11
|
let react = require("react");
|
|
10
12
|
react = require_runtime.__toESM(react);
|
|
11
13
|
let _pisell_utils = require("@pisell/utils");
|
|
@@ -224,10 +226,36 @@ const SalesSdkProductProvider = ({ children, isActive = true, preserveCatalogOnI
|
|
|
224
226
|
channel: sales.productLoadChannel,
|
|
225
227
|
business_code: sales.businessCode
|
|
226
228
|
});
|
|
227
|
-
const
|
|
229
|
+
const liveTempOrder = (_bookingTicket$getTem = (_bookingTicket$getTem2 = bookingTicket.getTempOrder) === null || _bookingTicket$getTem2 === void 0 ? void 0 : _bookingTicket$getTem2.call(bookingTicket)) !== null && _bookingTicket$getTem !== void 0 ? _bookingTicket$getTem : sales === null || sales === void 0 ? void 0 : sales.tempOrder;
|
|
230
|
+
const orderCustomerId = require_buildDefaultLoadProductsParams.resolveCustomerIdFromTempOrder(liveTempOrder);
|
|
228
231
|
const customerParams = (options === null || options === void 0 ? void 0 : options.customerIdOverride) !== void 0 ? options.customerIdOverride !== null ? { customer_id: options.customerIdOverride } : {} : orderCustomerId ? { customer_id: orderCustomerId } : {};
|
|
229
232
|
const effectiveCustomerId = Number(customerParams.customer_id || 0);
|
|
230
233
|
if (effectiveCustomerId > 0 && bookingTicket.loadDiscountConfig) yield bookingTicket.loadDiscountConfig({ customerId: effectiveCustomerId });
|
|
234
|
+
const hasExplicitSchedule = [sales.defaultProductLoadParams, params].some((value) => (value === null || value === void 0 ? void 0 : value.schedule_date) !== void 0 || (value === null || value === void 0 ? void 0 : value.schedule_datetime) !== void 0);
|
|
235
|
+
if (sales.productLoadChannel === "kiosk" && sales.businessCode === "retail" && !(liveTempOrder === null || liveTempOrder === void 0 ? void 0 : liveTempOrder.order_id) && !hasExplicitSchedule) {
|
|
236
|
+
var _engine$appHelper2, _engine$appHelper2$ge;
|
|
237
|
+
const now = /* @__PURE__ */ new Date();
|
|
238
|
+
const timezone = engine === null || engine === void 0 || (_engine$appHelper2 = engine.appHelper) === null || _engine$appHelper2 === void 0 || (_engine$appHelper2 = _engine$appHelper2.utils) === null || _engine$appHelper2 === void 0 || (_engine$appHelper2$ge = _engine$appHelper2.getData) === null || _engine$appHelper2$ge === void 0 ? void 0 : _engine$appHelper2$ge.call(_engine$appHelper2, "timezone");
|
|
239
|
+
let currentDatetime = (0, dayjs.default)(now).format("YYYY-MM-DD HH:mm:ss");
|
|
240
|
+
if (timezone) {
|
|
241
|
+
const parts = {};
|
|
242
|
+
new Intl.DateTimeFormat("en-GB", {
|
|
243
|
+
timeZone: timezone,
|
|
244
|
+
year: "numeric",
|
|
245
|
+
month: "2-digit",
|
|
246
|
+
day: "2-digit",
|
|
247
|
+
hour: "2-digit",
|
|
248
|
+
minute: "2-digit",
|
|
249
|
+
second: "2-digit",
|
|
250
|
+
hour12: false
|
|
251
|
+
}).formatToParts(now).forEach(({ type, value }) => {
|
|
252
|
+
parts[type] = value;
|
|
253
|
+
});
|
|
254
|
+
currentDatetime = `${parts.year}-${parts.month}-${parts.day} ${parts.hour}:${parts.minute}:${parts.second}`;
|
|
255
|
+
}
|
|
256
|
+
defaultParams.schedule_date = currentDatetime.slice(0, 10);
|
|
257
|
+
defaultParams.schedule_datetime = currentDatetime;
|
|
258
|
+
}
|
|
231
259
|
const paramsWithWallet = require_buildDefaultLoadProductsParams.appendAvailableWalletIdsToLoadParams(require_buildDefaultLoadProductsParams.mergeLoadProductsParams(defaultParams, require_buildDefaultLoadProductsParams.mergeLoadProductsParams((_sales$defaultProduct = sales.defaultProductLoadParams) !== null && _sales$defaultProduct !== void 0 ? _sales$defaultProduct : {}, require_buildDefaultLoadProductsParams.mergeLoadProductsParams(customerParams, params))), (_bookingTicket$getAva = bookingTicket.getAvailableWalletIds) === null || _bookingTicket$getAva === void 0 ? void 0 : _bookingTicket$getAva.call(bookingTicket));
|
|
232
260
|
const list = yield bookingTicket.loadProducts(paramsWithWallet, {
|
|
233
261
|
callback: applyProductsFromQueryCallback,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pisell/private-materials",
|
|
3
|
-
"version": "6.12.
|
|
3
|
+
"version": "6.12.270",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"module": "./es/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -72,8 +72,8 @@
|
|
|
72
72
|
"styled-components": "^6.0.0-rc.3",
|
|
73
73
|
"use-sync-external-store": "^1.6.0",
|
|
74
74
|
"@pisell/pi-payment-sdk": "0.0.3",
|
|
75
|
-
"@pisell/utils": "3.0.7",
|
|
76
75
|
"@pisell/materials": "6.12.74",
|
|
76
|
+
"@pisell/utils": "3.0.7",
|
|
77
77
|
"@pisell/icon": "0.0.11",
|
|
78
78
|
"@pisell/date-picker": "3.0.12"
|
|
79
79
|
},
|