ordering-ui-external 1.2.1 → 1.2.3

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.
Files changed (18) hide show
  1. package/_bundles/{0.ordering-ui.5a3714c3be025beef39b.js → 0.ordering-ui.fc62fe574704c7c4d033.js} +0 -0
  2. package/_bundles/{1.ordering-ui.5a3714c3be025beef39b.js → 1.ordering-ui.fc62fe574704c7c4d033.js} +0 -0
  3. package/_bundles/{3.ordering-ui.5a3714c3be025beef39b.js → 3.ordering-ui.fc62fe574704c7c4d033.js} +0 -0
  4. package/_bundles/{4.ordering-ui.5a3714c3be025beef39b.js → 4.ordering-ui.fc62fe574704c7c4d033.js} +0 -0
  5. package/_bundles/{5.ordering-ui.5a3714c3be025beef39b.js → 5.ordering-ui.fc62fe574704c7c4d033.js} +0 -0
  6. package/_bundles/{6.ordering-ui.5a3714c3be025beef39b.js → 6.ordering-ui.fc62fe574704c7c4d033.js} +0 -0
  7. package/_bundles/{7.ordering-ui.5a3714c3be025beef39b.js → 7.ordering-ui.fc62fe574704c7c4d033.js} +1 -1
  8. package/_bundles/{7.ordering-ui.5a3714c3be025beef39b.js.LICENSE.txt → 7.ordering-ui.fc62fe574704c7c4d033.js.LICENSE.txt} +0 -0
  9. package/_bundles/{8.ordering-ui.5a3714c3be025beef39b.js → 8.ordering-ui.fc62fe574704c7c4d033.js} +0 -0
  10. package/_bundles/{9.ordering-ui.5a3714c3be025beef39b.js → 9.ordering-ui.fc62fe574704c7c4d033.js} +0 -0
  11. package/_bundles/ordering-ui.fc62fe574704c7c4d033.js +2 -0
  12. package/_bundles/{ordering-ui.5a3714c3be025beef39b.js.LICENSE.txt → ordering-ui.fc62fe574704c7c4d033.js.LICENSE.txt} +0 -0
  13. package/_modules/themes/five/src/components/Cart/index.js +1 -1
  14. package/_modules/themes/five/src/components/MultiCheckout/index.js +21 -5
  15. package/package.json +2 -2
  16. package/src/themes/five/src/components/Cart/index.js +1 -1
  17. package/src/themes/five/src/components/MultiCheckout/index.js +15 -2
  18. package/_bundles/ordering-ui.5a3714c3be025beef39b.js +0 -2
@@ -193,7 +193,7 @@ var CartUI = function CartUI(props) {
193
193
  var openCarts = ((_Object$values = Object.values(orderState === null || orderState === void 0 ? void 0 : orderState.carts)) === null || _Object$values === void 0 ? void 0 : _Object$values.filter(function (cart) {
194
194
  var _cart$products;
195
195
 
196
- return (cart === null || cart === void 0 ? void 0 : cart.products) && (cart === null || cart === void 0 ? void 0 : (_cart$products = cart.products) === null || _cart$products === void 0 ? void 0 : _cart$products.length) && (cart === null || cart === void 0 ? void 0 : cart.status) !== 2 && (cart === null || cart === void 0 ? void 0 : cart.valid_schedule) && (cart === null || cart === void 0 ? void 0 : cart.valid_products) && (cart === null || cart === void 0 ? void 0 : cart.valid_address) && (cart === null || cart === void 0 ? void 0 : cart.valid_maximum) && (cart === null || cart === void 0 ? void 0 : cart.valid_minimum);
196
+ return (cart === null || cart === void 0 ? void 0 : cart.products) && (cart === null || cart === void 0 ? void 0 : (_cart$products = cart.products) === null || _cart$products === void 0 ? void 0 : _cart$products.length) && (cart === null || cart === void 0 ? void 0 : cart.status) !== 2 && (cart === null || cart === void 0 ? void 0 : cart.valid_schedule) && (cart === null || cart === void 0 ? void 0 : cart.valid_products) && (cart === null || cart === void 0 ? void 0 : cart.valid_address) && (cart === null || cart === void 0 ? void 0 : cart.valid_maximum) && (cart === null || cart === void 0 ? void 0 : cart.valid_minimum) && !(cart !== null && cart !== void 0 && cart.wallets);
197
197
  })) || null || [];
198
198
  var cart = orderState === null || orderState === void 0 ? void 0 : (_orderState$carts = orderState.carts) === null || _orderState$carts === void 0 ? void 0 : _orderState$carts["businessId:".concat(props.cart.business_id)];
199
199
  var viewString = isStore ? 'business_view' : 'header';
@@ -66,7 +66,7 @@ var mapConfigs = {
66
66
  };
67
67
 
68
68
  var MultiCheckoutUI = function MultiCheckoutUI(props) {
69
- var _configs$google_maps_, _customerState$user;
69
+ var _Object$values, _configs$google_maps_, _customerState$user;
70
70
 
71
71
  var placing = props.placing,
72
72
  isCustomerMode = props.isCustomerMode,
@@ -76,7 +76,8 @@ var MultiCheckoutUI = function MultiCheckoutUI(props) {
76
76
  paymethodSelected = props.paymethodSelected,
77
77
  handleSelectPaymethod = props.handleSelectPaymethod,
78
78
  handleSelectWallet = props.handleSelectWallet,
79
- handlePaymethodDataChange = props.handlePaymethodDataChange;
79
+ handlePaymethodDataChange = props.handlePaymethodDataChange,
80
+ onRedirectPage = props.onRedirectPage;
80
81
 
81
82
  var _useLanguage = (0, _orderingComponentsExternal.useLanguage)(),
82
83
  _useLanguage2 = _slicedToArray(_useLanguage, 2),
@@ -102,6 +103,10 @@ var MultiCheckoutUI = function MultiCheckoutUI(props) {
102
103
  _useSession2 = _slicedToArray(_useSession, 1),
103
104
  user = _useSession2[0].user;
104
105
 
106
+ var _useOrder = (0, _orderingComponentsExternal.useOrder)(),
107
+ _useOrder2 = _slicedToArray(_useOrder, 1),
108
+ orderState = _useOrder2[0];
109
+
105
110
  var history = (0, _reactRouterDom.useHistory)();
106
111
 
107
112
  var _useState = (0, _react.useState)([]),
@@ -124,6 +129,11 @@ var MultiCheckoutUI = function MultiCheckoutUI(props) {
124
129
 
125
130
  var maximumCarts = 5;
126
131
  var isDisablePlaceOrderButton = !(paymethodSelected !== null && paymethodSelected !== void 0 && paymethodSelected.paymethod_id || paymethodSelected !== null && paymethodSelected !== void 0 && paymethodSelected.wallet_id) || openCarts.length > maximumCarts;
132
+ var walletCarts = ((_Object$values = Object.values(orderState === null || orderState === void 0 ? void 0 : orderState.carts)) === null || _Object$values === void 0 ? void 0 : _Object$values.filter(function (cart) {
133
+ var _cart$products;
134
+
135
+ return (cart === null || cart === void 0 ? void 0 : cart.products) && (cart === null || cart === void 0 ? void 0 : (_cart$products = cart.products) === null || _cart$products === void 0 ? void 0 : _cart$products.length) && (cart === null || cart === void 0 ? void 0 : cart.status) !== 2 && (cart === null || cart === void 0 ? void 0 : cart.valid_schedule) && (cart === null || cart === void 0 ? void 0 : cart.valid_products) && (cart === null || cart === void 0 ? void 0 : cart.valid_address) && (cart === null || cart === void 0 ? void 0 : cart.valid_maximum) && (cart === null || cart === void 0 ? void 0 : cart.valid_minimum) && (cart === null || cart === void 0 ? void 0 : cart.wallets);
136
+ })) || null || [];
127
137
 
128
138
  var handlePlaceOrder = function handlePlaceOrder() {
129
139
  if (!userErrors.length) {
@@ -191,6 +201,12 @@ var MultiCheckoutUI = function MultiCheckoutUI(props) {
191
201
  checkValidationFields();
192
202
  }
193
203
  }, [validationFields, user, customerState]);
204
+ (0, _react.useEffect)(function () {
205
+ if (openCarts.length) return;
206
+ onRedirectPage && onRedirectPage({
207
+ page: 'search'
208
+ });
209
+ }, [openCarts]);
194
210
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, openCarts.length === 0 ? /*#__PURE__*/_react.default.createElement(_NotFoundSource.NotFoundSource, {
195
211
  content: t('CARTS_NOT_FOUND', 'You don’t have carts available')
196
212
  }) : /*#__PURE__*/_react.default.createElement(_styles.Container, null, /*#__PURE__*/_react.default.createElement(_styles.WrapperLeftContainer, null, /*#__PURE__*/_react.default.createElement(_styles.WrapperLeftContent, null, /*#__PURE__*/_react.default.createElement(_reactBootstrapIcons.ArrowLeft, {
@@ -222,7 +238,7 @@ var MultiCheckoutUI = function MultiCheckoutUI(props) {
222
238
  handleSelectWallet: handleSelectWallet,
223
239
  handlePaymethodDataChange: handlePaymethodDataChange
224
240
  })))), /*#__PURE__*/_react.default.createElement(_styles.WrapperRightContainer, null, /*#__PURE__*/_react.default.createElement(_styles.CartContainer, null, /*#__PURE__*/_react.default.createElement(_styles.CartHeader, null, /*#__PURE__*/_react.default.createElement("h1", null, t('MOBILE_FRONT_YOUR_ORDER', 'Your order'))), openCarts.map(function (cart) {
225
- var _cart$products;
241
+ var _cart$products2;
226
242
 
227
243
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
228
244
  key: cart.uuid
@@ -230,9 +246,9 @@ var MultiCheckoutUI = function MultiCheckoutUI(props) {
230
246
  isCartPending: (cart === null || cart === void 0 ? void 0 : cart.status) === 2,
231
247
  cart: cart,
232
248
  isMultiCheckout: true,
233
- isProducts: (cart === null || cart === void 0 ? void 0 : (_cart$products = cart.products) === null || _cart$products === void 0 ? void 0 : _cart$products.length) || 0
249
+ isProducts: (cart === null || cart === void 0 ? void 0 : (_cart$products2 = cart.products) === null || _cart$products2 === void 0 ? void 0 : _cart$products2.length) || 0
234
250
  }), /*#__PURE__*/_react.default.createElement(_styles.DriverTipDivider, null));
235
- }), openCarts.length > 0 && /*#__PURE__*/_react.default.createElement(_styles.MultiCartPriceContainer, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h4", null, t('TOTAL_FOR_ALL_CARTS', 'Total for all Carts')), /*#__PURE__*/_react.default.createElement("h4", null, parsePrice(totalCartsPrice))), /*#__PURE__*/_react.default.createElement("p", null, t('MULTI_CHECKOUT_DESCRIPTION', 'You will receive a receipt for each business. The payment is not combined between multiple stores. Each payment is processed by the store')))), /*#__PURE__*/_react.default.createElement(_styles.WrapperPlaceOrderButton, null, /*#__PURE__*/_react.default.createElement(_Buttons.Button, {
251
+ }), walletCarts.length > 0 && /*#__PURE__*/_react.default.createElement(_styles.WarningText, null, t('WARNING_PARTIAL_WALLET_CARTS', 'Important: One or more carts can`t be completed due a partial payment with cash/points wallet and requires to be paid individually')), openCarts.length > 0 && /*#__PURE__*/_react.default.createElement(_styles.MultiCartPriceContainer, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h4", null, t('TOTAL_FOR_ALL_CARTS', 'Total for all Carts')), /*#__PURE__*/_react.default.createElement("h4", null, parsePrice(totalCartsPrice))), /*#__PURE__*/_react.default.createElement("p", null, t('MULTI_CHECKOUT_DESCRIPTION', 'You will receive a receipt for each business. The payment is not combined between multiple stores. Each payment is processed by the store')))), /*#__PURE__*/_react.default.createElement(_styles.WrapperPlaceOrderButton, null, /*#__PURE__*/_react.default.createElement(_Buttons.Button, {
236
252
  color: "primary",
237
253
  disabled: isDisablePlaceOrderButton || placing,
238
254
  onClick: handlePlaceOrder
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ordering-ui-external",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "description": "Ordering UI Components",
5
5
  "main": "./_modules/index.js",
6
6
  "exports": {
@@ -83,7 +83,7 @@
83
83
  "libphonenumber-js": "^1.9.4",
84
84
  "lodash": "^4.17.19",
85
85
  "moment": "^2.29.4",
86
- "ordering-components-external": "1.1.0",
86
+ "ordering-components-external": "1.1.4",
87
87
  "polished": "^3.6.6",
88
88
  "react-bootstrap-icons": "^1.7.2",
89
89
  "react-calendar": "^3.3.1",
@@ -86,7 +86,7 @@ const CartUI = (props) => {
86
86
 
87
87
  const isCouponEnabled = validationFields?.fields?.checkout?.coupon?.enabled
88
88
  const checkoutMultiBusinessEnabled = configs?.checkout_multi_business_enabled?.value === '1'
89
- const openCarts = (Object.values(orderState?.carts)?.filter(cart => cart?.products && cart?.products?.length && cart?.status !== 2 && cart?.valid_schedule && cart?.valid_products && cart?.valid_address && cart?.valid_maximum && cart?.valid_minimum) || null) || []
89
+ const openCarts = (Object.values(orderState?.carts)?.filter(cart => cart?.products && cart?.products?.length && cart?.status !== 2 && cart?.valid_schedule && cart?.valid_products && cart?.valid_address && cart?.valid_maximum && cart?.valid_minimum && !cart?.wallets) || null) || []
90
90
 
91
91
  const cart = orderState?.carts?.[`businessId:${props.cart.business_id}`]
92
92
  const viewString = isStore ? 'business_view' : 'header'
@@ -7,6 +7,7 @@ import {
7
7
  useConfig,
8
8
  useSession,
9
9
  useValidationFields,
10
+ useOrder,
10
11
  MultiCheckout as MultiCheckoutController
11
12
  } from 'ordering-components-external'
12
13
 
@@ -54,7 +55,8 @@ const MultiCheckoutUI = (props) => {
54
55
  paymethodSelected,
55
56
  handleSelectPaymethod,
56
57
  handleSelectWallet,
57
- handlePaymethodDataChange
58
+ handlePaymethodDataChange,
59
+ onRedirectPage
58
60
  } = props
59
61
 
60
62
  const [, t] = useLanguage()
@@ -63,6 +65,7 @@ const MultiCheckoutUI = (props) => {
63
65
  const [customerState] = useCustomer()
64
66
  const [validationFields] = useValidationFields()
65
67
  const [{ user }] = useSession()
68
+ const [orderState] = useOrder()
66
69
  const history = useHistory()
67
70
 
68
71
  const [userErrors, setUserErrors] = useState([])
@@ -70,7 +73,7 @@ const MultiCheckoutUI = (props) => {
70
73
  const [alertState, setAlertState] = useState({ open: false, content: [] })
71
74
  const maximumCarts = 5
72
75
  const isDisablePlaceOrderButton = !(paymethodSelected?.paymethod_id || paymethodSelected?.wallet_id) || openCarts.length > maximumCarts
73
-
76
+ const walletCarts = (Object.values(orderState?.carts)?.filter(cart => cart?.products && cart?.products?.length && cart?.status !== 2 && cart?.valid_schedule && cart?.valid_products && cart?.valid_address && cart?.valid_maximum && cart?.valid_minimum && cart?.wallets) || null) || []
74
77
  const handlePlaceOrder = () => {
75
78
  if (!userErrors.length) {
76
79
  handleGroupPlaceOrder && handleGroupPlaceOrder()
@@ -137,6 +140,11 @@ const MultiCheckoutUI = (props) => {
137
140
  }
138
141
  }, [validationFields, user, customerState])
139
142
 
143
+ useEffect(() => {
144
+ if (openCarts.length) return
145
+ onRedirectPage && onRedirectPage({ page: 'search' })
146
+ }, [openCarts])
147
+
140
148
  return (
141
149
  <>
142
150
  {openCarts.length === 0 ? (
@@ -202,6 +210,11 @@ const MultiCheckoutUI = (props) => {
202
210
  <DriverTipDivider />
203
211
  </React.Fragment>
204
212
  ))}
213
+ {walletCarts.length > 0 && (
214
+ <WarningText>
215
+ {t('WARNING_PARTIAL_WALLET_CARTS', 'Important: One or more carts can`t be completed due a partial payment with cash/points wallet and requires to be paid individually')}
216
+ </WarningText>
217
+ )}
205
218
  {openCarts.length > 0 && (
206
219
  <MultiCartPriceContainer>
207
220
  <div>