@weareconceptstudio/account 2.0.1 → 2.0.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.
- package/dist/AccountProvider.d.ts.map +1 -1
- package/dist/AccountProvider.js +19 -16
- package/dist/AccountProvider.js.map +1 -1
- package/dist/components/AccountCounter/index.d.ts +1 -1
- package/dist/components/AccountCounter/index.d.ts.map +1 -1
- package/dist/components/AccountCounter/index.js +7 -1
- package/dist/components/AccountCounter/index.js.map +1 -1
- package/dist/modules/address/AddressProvider.d.ts.map +1 -1
- package/dist/modules/address/AddressProvider.js +43 -32
- package/dist/modules/address/AddressProvider.js.map +1 -1
- package/dist/modules/address/ShippingBillingForm/index.js +2 -2
- package/dist/modules/address/ShippingBillingForm/index.js.map +1 -1
- package/dist/modules/cart/CartTemplate/index.d.ts.map +1 -1
- package/dist/modules/cart/CartTemplate/index.js +4 -5
- package/dist/modules/cart/CartTemplate/index.js.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/OutOfStockBadge.d.ts +7 -2
- package/dist/modules/cart/components/CartItems/Item/OutOfStockBadge.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/OutOfStockBadge.js +15 -4
- package/dist/modules/cart/components/CartItems/Item/OutOfStockBadge.js.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/QuantitySelector.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/QuantitySelector.js +22 -4
- package/dist/modules/cart/components/CartItems/Item/QuantitySelector.js.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/TotalDisplay.d.ts +1 -2
- package/dist/modules/cart/components/CartItems/Item/TotalDisplay.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/TotalDisplay.js +4 -4
- package/dist/modules/cart/components/CartItems/Item/TotalDisplay.js.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/index.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/Item/index.js +13 -12
- package/dist/modules/cart/components/CartItems/Item/index.js.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.js +9 -6
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.js.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js +27 -8
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemTotal.js +4 -4
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileItemTotal.js.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.d.ts +7 -2
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js +14 -4
- package/dist/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/index.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/ItemMobile/index.js +14 -13
- package/dist/modules/cart/components/CartItems/ItemMobile/index.js.map +1 -1
- package/dist/modules/cart/components/CartItems/index.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/index.js +23 -4
- package/dist/modules/cart/components/CartItems/index.js.map +1 -1
- package/dist/modules/cart/components/CartItems/util.d.ts +6 -0
- package/dist/modules/cart/components/CartItems/util.d.ts.map +1 -1
- package/dist/modules/cart/components/CartItems/util.js +47 -0
- package/dist/modules/cart/components/CartItems/util.js.map +1 -1
- package/dist/modules/checkout/CheckoutTemplate/StepShipping/index.d.ts +2 -1
- package/dist/modules/checkout/CheckoutTemplate/StepShipping/index.d.ts.map +1 -1
- package/dist/modules/checkout/CheckoutTemplate/StepShipping/index.js +12 -8
- package/dist/modules/checkout/CheckoutTemplate/StepShipping/index.js.map +1 -1
- package/dist/modules/checkout/CheckoutTemplate/index.d.ts.map +1 -1
- package/dist/modules/checkout/CheckoutTemplate/index.js +10 -27
- package/dist/modules/checkout/CheckoutTemplate/index.js.map +1 -1
- package/dist/utils/config.d.ts +1 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +1 -0
- package/dist/utils/config.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Text } from '@weareconceptstudio/core';
|
|
2
|
+
import { Text, useTranslation } from '@weareconceptstudio/core';
|
|
3
3
|
const MobileItemAttributes = ({ selectedVariant, selectedOption, product }) => {
|
|
4
|
+
const { translate } = useTranslation();
|
|
4
5
|
const renderFirstAttribute = () => {
|
|
5
6
|
if (selectedVariant?.color.name) {
|
|
6
7
|
return (React.createElement("div", { className: `mobile-info-item` },
|
|
7
|
-
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1
|
|
8
|
-
|
|
8
|
+
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1` },
|
|
9
|
+
translate('account.general_actions.color'),
|
|
10
|
+
": \u00A0"),
|
|
9
11
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize`, text: selectedVariant.color.name })));
|
|
10
12
|
}
|
|
11
13
|
if (product.short_info_1) {
|
|
@@ -17,9 +19,10 @@ const MobileItemAttributes = ({ selectedVariant, selectedOption, product }) => {
|
|
|
17
19
|
const renderSecondAttribute = () => {
|
|
18
20
|
if (selectedOption?.size.name) {
|
|
19
21
|
return (React.createElement("div", { className: `mobile-info-item` },
|
|
20
|
-
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1` },
|
|
23
|
+
translate('account.general_actions.size'),
|
|
24
|
+
": \u00A0"),
|
|
25
|
+
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize` }, selectedOption.size.name)));
|
|
23
26
|
}
|
|
24
27
|
if (product.short_info_2) {
|
|
25
28
|
return (React.createElement("div", { className: 'mobile-info-item' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileItemAttributes.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"MobileItemAttributes.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemAttributes.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,oBAAoB,GAAG,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7E,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,MAAM,oBAAoB,GAAG,GAAG,EAAE;QACjC,IAAI,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,CACN,6BAAK,SAAS,EAAE,kBAAkB;gBACjC,oBAAC,IAAI,IAAC,SAAS,EAAE,iEAAiE;oBAChF,SAAS,CAAC,+BAA+B,CAAC;+BACrC;gBACP,oBAAC,IAAI,IACJ,SAAS,EAAE,4EAA4E,EACvF,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,GAC/B,CACG,CACN,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,CACN,6BAAK,SAAS,EAAC,kBAAkB;gBAChC,oBAAC,IAAI,IACJ,SAAS,EAAE,oFAAoF,EAC/F,IAAI,EAAE,OAAO,CAAC,YAAY,GACzB,CACG,CACN,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;QAClC,IAAI,cAAc,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO,CACN,6BAAK,SAAS,EAAE,kBAAkB;gBACjC,oBAAC,IAAI,IAAC,SAAS,EAAE,iEAAiE;oBAChF,SAAS,CAAC,8BAA8B,CAAC;+BACpC;gBACP,oBAAC,IAAI,IAAC,SAAS,EAAE,4EAA4E,IAC3F,cAAc,CAAC,IAAI,CAAC,IAAI,CACnB,CACF,CACN,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,CACN,6BAAK,SAAS,EAAC,kBAAkB;gBAChC,oBAAC,IAAI,IACJ,SAAS,EAAE,oFAAoF,EAC/F,IAAI,EAAE,OAAO,CAAC,YAAY,GACzB,CACG,CACN,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC;IAEF,OAAO,CACN;QACE,oBAAoB,EAAE;QACtB,qBAAqB,EAAE,CACtB,CACH,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileItemQuantity.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js"],"names":[],"mappings":";AAKA;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"MobileItemQuantity.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js"],"names":[],"mappings":";AAKA;;;;;;;;;;sBAsJC;kBA3JiB,OAAO"}
|
|
@@ -4,28 +4,48 @@ import { Select } from '@weareconceptstudio/form';
|
|
|
4
4
|
import { AccountButton, AccountCounter } from '../../../../../components';
|
|
5
5
|
const MobileItemQuantity = ({ hasVariants, select, data, selectionList, actions, checkoutData, setGifts, isCheckoutPage, itemGiftQty, }) => {
|
|
6
6
|
const { translate } = useTranslation();
|
|
7
|
+
const rawMaxQty = data?.maxQty ??
|
|
8
|
+
data?.availableQty ??
|
|
9
|
+
data?.selectedOption?.availableQty ??
|
|
10
|
+
data?.selectedOption?.qty ??
|
|
11
|
+
data?.selectedOption?.maxQty ??
|
|
12
|
+
data?.selectedOption?.max_qty ??
|
|
13
|
+
data?.product?.qty ??
|
|
14
|
+
data?.product?.quantity ??
|
|
15
|
+
data?.product?.stock;
|
|
16
|
+
const numericMaxQty = Number(rawMaxQty);
|
|
17
|
+
const normalizedMaxQty = Number.isFinite(numericMaxQty) ? numericMaxQty : 0;
|
|
18
|
+
const currentQtyNumeric = Number(data?.qty);
|
|
19
|
+
const hasCurrentQty = Number.isFinite(currentQtyNumeric) && currentQtyNumeric > 0;
|
|
20
|
+
const hasSelectableQty = Array.isArray(selectionList) && selectionList.length > 0;
|
|
21
|
+
const hasAvailableQty = normalizedMaxQty > 0 || hasCurrentQty;
|
|
22
|
+
const canUseSelection = hasVariants ? hasSelectableQty : hasAvailableQty;
|
|
23
|
+
const isItemOutOfStock = data?.product?.out_of_stock || data?.isInStock === false || !canUseSelection;
|
|
24
|
+
const counterMaxQty = normalizedMaxQty > 0 ? normalizedMaxQty : Math.max(hasCurrentQty ? currentQtyNumeric : 1, 1);
|
|
7
25
|
// For variants with quantity selector
|
|
8
26
|
if (hasVariants) {
|
|
9
27
|
if (select && !data?.is_gift) {
|
|
10
|
-
return (React.createElement("div", { className: `select-and-out-of-stock-mobile-wrap` }, !
|
|
28
|
+
return (React.createElement("div", { className: `select-and-out-of-stock-mobile-wrap` }, !isItemOutOfStock ? (React.createElement(Select, { className: `quantity-select-mobile-wrap`, options: selectionList || [], value: data?.qty, onChange: (val) => actions.add({
|
|
11
29
|
itemId: data?.id,
|
|
12
30
|
productId: data?.product?.id,
|
|
13
31
|
variantId: data?.selectedVariant?.id,
|
|
14
32
|
optionId: data?.selectedOption?.id,
|
|
15
33
|
qty: val,
|
|
16
34
|
}) })) : (React.createElement("div", { className: `mobile-info-item` },
|
|
17
|
-
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize
|
|
18
|
-
|
|
35
|
+
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize` },
|
|
36
|
+
translate('account.order_balance.quantity'),
|
|
37
|
+
": \u00A0"),
|
|
19
38
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize`, text: data?.qty })))));
|
|
20
39
|
}
|
|
21
40
|
return (React.createElement("div", { className: `mobile-info-item` },
|
|
22
|
-
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize
|
|
23
|
-
|
|
41
|
+
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize` },
|
|
42
|
+
translate('account.order_balance.quantity'),
|
|
43
|
+
": \u00A0"),
|
|
24
44
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1`, text: data?.qty })));
|
|
25
45
|
}
|
|
26
46
|
// For non-variants
|
|
27
47
|
if (select && !data?.is_gift) {
|
|
28
|
-
return (React.createElement("div", { className: `inner-container` }, !
|
|
48
|
+
return (React.createElement("div", { className: `inner-container` }, !isItemOutOfStock ? (React.createElement(AccountCounter, { productId: data?.product.id, maxQty: counterMaxQty })) : (React.createElement("div", { className: `in-block` },
|
|
29
49
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1`, text: 'account.general_actions.outOfStock' })))));
|
|
30
50
|
}
|
|
31
51
|
if (data?.is_gift && !isCheckoutPage) {
|
|
@@ -39,8 +59,7 @@ const MobileItemQuantity = ({ hasVariants, select, data, selectionList, actions,
|
|
|
39
59
|
return (React.createElement("div", { className: `in-block` },
|
|
40
60
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 mobile-quantity-with-symbol2` },
|
|
41
61
|
translate('account.order_balance.quantity'),
|
|
42
|
-
":"),
|
|
43
|
-
"\u00A0",
|
|
62
|
+
": \u00A0"),
|
|
44
63
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 mobile-quantity2`, text: data?.is_gift ? itemGiftQty : data?.qty })));
|
|
45
64
|
};
|
|
46
65
|
export default MobileItemQuantity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileItemQuantity.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,kBAAkB,GAAG,CAAC,EAC3B,WAAW,EACX,MAAM,EACN,IAAI,EACJ,aAAa,EACb,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,WAAW,GACX,EAAE,EAAE;IACJ,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MobileItemQuantity.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemQuantity.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,kBAAkB,GAAG,CAAC,EAC3B,WAAW,EACX,MAAM,EACN,IAAI,EACJ,aAAa,EACb,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,WAAW,GACX,EAAE,EAAE;IACJ,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IACvC,MAAM,SAAS,GACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,cAAc,EAAE,YAAY;QAClC,IAAI,EAAE,cAAc,EAAE,GAAG;QACzB,IAAI,EAAE,cAAc,EAAE,MAAM;QAC5B,IAAI,EAAE,cAAc,EAAE,OAAO;QAC7B,IAAI,EAAE,OAAO,EAAE,GAAG;QAClB,IAAI,EAAE,OAAO,EAAE,QAAQ;QACvB,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC;IAEtB,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAClF,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAClF,MAAM,eAAe,GAAG,gBAAgB,GAAG,CAAC,IAAI,aAAa,CAAC;IAC9D,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;IACzE,MAAM,gBAAgB,GAAG,IAAI,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,EAAE,SAAS,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC;IACtG,MAAM,aAAa,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnH,sCAAsC;IACtC,IAAI,WAAW,EAAE,CAAC;QACjB,IAAI,MAAM,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;YAC9B,OAAO,CACN,6BAAK,SAAS,EAAE,qCAAqC,IACnD,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACpB,oBAAC,MAAM,IACN,SAAS,EAAE,6BAA6B,EACxC,OAAO,EAAE,aAAa,IAAI,EAAE,EAC5B,KAAK,EAAE,IAAI,EAAE,GAAG,EAChB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,OAAO,CAAC,GAAG,CAAC;oBACX,MAAM,EAAE,IAAI,EAAE,EAAE;oBAChB,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;oBAC5B,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE;oBACpC,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE;oBAClC,GAAG,EAAE,GAAG;iBACR,CAAC,GAEF,CACF,CAAC,CAAC,CAAC,CACH,6BAAK,SAAS,EAAE,kBAAkB;gBACjC,oBAAC,IAAI,IACJ,SAAS,EAAE,4EAA4E;oBACtF,SAAS,CAAC,gCAAgC,CAAC;+BACtC;gBACP,oBAAC,IAAI,IACJ,SAAS,EAAE,4EAA4E,EACvF,IAAI,EAAE,IAAI,EAAE,GAAG,GACd,CACG,CACN,CACI,CACN,CAAC;QACH,CAAC;QAED,OAAO,CACN,6BAAK,SAAS,EAAE,kBAAkB;YACjC,oBAAC,IAAI,IAAC,SAAS,EAAE,4EAA4E;gBAC3F,SAAS,CAAC,gCAAgC,CAAC;2BACtC;YACP,oBAAC,IAAI,IACJ,SAAS,EAAE,iEAAiE,EAC5E,IAAI,EAAE,IAAI,EAAE,GAAG,GACd,CACG,CACN,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,IAAI,MAAM,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;QAC9B,OAAO,CACN,6BAAK,SAAS,EAAE,iBAAiB,IAC/B,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACpB,oBAAC,cAAc,IACd,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAC3B,MAAM,EAAE,aAAa,GACpB,CACF,CAAC,CAAC,CAAC,CACH,6BAAK,SAAS,EAAE,UAAU;YACzB,oBAAC,IAAI,IACJ,SAAS,EAAE,iEAAiE,EAC5E,IAAI,EAAE,oCAAoC,GACzC,CACG,CACN,CACI,CACN,CAAC;IACH,CAAC;IAED,IAAI,IAAI,EAAE,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,OAAO,CACN,6BAAK,SAAS,EAAC,qBAAqB,IAClC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,oBAAC,cAAc,IACd,MAAM,EAAE,IAAI,EAAE,GAAG,EACjB,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAC3B,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EACvC,MAAM,EAAE,IAAI,EAAE,OAAO,EACrB,GAAG,EACF,YAAY,CAAC,KAAK,CAAC,IAAI,CACtB,CAAC,IAAI,EAAE,EAAE,CACR,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,gBAAgB,EAAE,EAAE;gBAC/C,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,CACpC,EAAE,GAAG,GAEN,CACF,CAAC,CAAC,CAAC,CACH,oBAAC,aAAa,IACb,SAAS,EAAE,wBAAwB,EACnC,IAAI,EAAE,iCAAiC,EACvC,OAAO,EAAE,GAAG,EAAE,CACb,QAAQ,CAAC;gBACR,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;gBACvC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;gBAC3B,GAAG,EAAE,IAAI,EAAE,GAAG;aACd,CAAC,GAEF,CACF,CACI,CACN,CAAC;IACH,CAAC;IAED,OAAO,CACN,6BAAK,SAAS,EAAE,UAAU;QACzB,oBAAC,IAAI,IACJ,SAAS,EAAE,8FAA8F;YACxG,SAAS,CAAC,gCAAgC,CAAC;uBACtC;QAEP,oBAAC,IAAI,IACJ,SAAS,EAAE,kFAAkF,EAC7F,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,GAC5C,CACG,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -7,9 +7,9 @@ const MobileItemTotal = ({ data, hasVariants }) => {
|
|
|
7
7
|
if (hasVariants) {
|
|
8
8
|
return (React.createElement("div", { className: `mobile-total-price-wrap` },
|
|
9
9
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1 capitalize mb-mt`, text: `account.order_balance.total` }),
|
|
10
|
-
data?.selectedOption?.sale_price ? (React.createElement("div", null,
|
|
11
|
-
React.createElement(Text, { className: `account-p account-p3 account-font-bold account-secondary-color2`, text: data?.selectedOption?.formatted_sale_total }),
|
|
12
|
-
React.createElement(Text, { className: `account-p account-p3 account-font-regular account-primary-color2 line-through`, text: data?.selectedOption?.formatted_total }))) : (React.createElement(Text, { className: `account-p account-p3 account-font-bold account-primary-color1`, text: data?.selectedOption?.formatted_total }))));
|
|
10
|
+
data?.sale_price || data?.selectedOption?.sale_price ? (React.createElement("div", null,
|
|
11
|
+
React.createElement(Text, { className: `account-p account-p3 account-font-bold account-secondary-color2`, text: data?.formatted_sale_total || data?.selectedOption?.formatted_sale_total }),
|
|
12
|
+
React.createElement(Text, { className: `account-p account-p3 account-font-regular account-primary-color2 line-through`, text: data?.formatted_total || data?.selectedOption?.formatted_total }))) : (React.createElement(Text, { className: `account-p account-p3 account-font-bold account-primary-color1`, text: data?.formatted_total || data?.selectedOption?.formatted_total }))));
|
|
13
13
|
}
|
|
14
14
|
// For non-variants (gifts)
|
|
15
15
|
if (data?.is_gift) {
|
|
@@ -34,7 +34,7 @@ const MobileItemTotal = ({ data, hasVariants }) => {
|
|
|
34
34
|
// For non-variants (regular products)
|
|
35
35
|
return (React.createElement("div", { className: `mobile-total-price-wrap flex-box` },
|
|
36
36
|
React.createElement(Text, { className: `account-p account-p3 account-font-medium account-primary-color1` },
|
|
37
|
-
data?.formatted_total,
|
|
37
|
+
data?.formatted_total || data?.selectedOption?.formatted_total,
|
|
38
38
|
React.createElement(UpcomingGift, { className: `account-p account-p3 account-font-medium account-primary-color2 discount-text`, requiredQtyForGift: data?.product.required_qty_for_gift, giftMessage: data?.product.gift_message }))));
|
|
39
39
|
};
|
|
40
40
|
export default MobileItemTotal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileItemTotal.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemTotal.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAE3C,MAAM,eAAe,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE;IACjD,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,eAAe;IACf,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,CACN,6BAAK,SAAS,EAAE,yBAAyB;YACxC,oBAAC,IAAI,IACJ,SAAS,EAAE,kFAAkF,EAC7F,IAAI,EAAE,6BAA6B,GAClC;YAED,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"MobileItemTotal.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileItemTotal.js"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export default MobileOutOfStockBadge;
|
|
2
|
-
declare function MobileOutOfStockBadge({
|
|
3
|
-
|
|
2
|
+
declare function MobileOutOfStockBadge({ hasOutOfStock, productOutOfStock, isItemInStock, messageData, fallbackMessage, qtyAdjusted, }: {
|
|
3
|
+
hasOutOfStock: any;
|
|
4
|
+
productOutOfStock: any;
|
|
5
|
+
isItemInStock: any;
|
|
6
|
+
messageData: any;
|
|
7
|
+
fallbackMessage: any;
|
|
8
|
+
qtyAdjusted: any;
|
|
4
9
|
}): React.JSX.Element;
|
|
5
10
|
import React from 'react';
|
|
6
11
|
//# sourceMappingURL=MobileOutOfStockBadge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileOutOfStockBadge.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js"],"names":[],"mappings":";AAGA
|
|
1
|
+
{"version":3,"file":"MobileOutOfStockBadge.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js"],"names":[],"mappings":";AAGA;;;;;;;sBA2BC;kBA9BiB,OAAO"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
const MobileOutOfStockBadge = ({
|
|
4
|
-
|
|
2
|
+
import { useTranslation } from '@weareconceptstudio/core';
|
|
3
|
+
const MobileOutOfStockBadge = ({ hasOutOfStock, productOutOfStock, isItemInStock, messageData, fallbackMessage, qtyAdjusted, }) => {
|
|
4
|
+
const { translate } = useTranslation();
|
|
5
|
+
const messageType = messageData?.type || (qtyAdjusted ? 'qty_adjusted' : null);
|
|
6
|
+
const message = messageData?.message || fallbackMessage || null;
|
|
7
|
+
const isQtyAdjusted = messageType === 'qty_adjusted' && message;
|
|
8
|
+
const isItemUnavailable = typeof isItemInStock === 'boolean' ? !isItemInStock : false;
|
|
9
|
+
const isRemovedOrOut = messageType === 'out_of_stock' || messageType === 'item_removed';
|
|
10
|
+
const shouldShowOutOfStock = isRemovedOrOut || (hasOutOfStock && (productOutOfStock || isItemUnavailable));
|
|
11
|
+
const shouldShow = shouldShowOutOfStock || isQtyAdjusted;
|
|
12
|
+
if (!shouldShow) {
|
|
5
13
|
return null;
|
|
6
14
|
}
|
|
7
|
-
|
|
15
|
+
const textContent = isQtyAdjusted ? message : translate('account.general_actions.outOfStock');
|
|
16
|
+
const textClass = isQtyAdjusted ? 'account-secondary-color2' : 'account-error-color';
|
|
17
|
+
return React.createElement("div", { className: `account-p account-p3 account-font-bold ${textClass} out-of-stock-mt` }, textContent);
|
|
8
18
|
};
|
|
9
19
|
export default MobileOutOfStockBadge;
|
|
10
20
|
//# sourceMappingURL=MobileOutOfStockBadge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileOutOfStockBadge.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"MobileOutOfStockBadge.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/MobileOutOfStockBadge.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,qBAAqB,GAAG,CAAC,EAC9B,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,eAAe,EACf,WAAW,GACX,EAAE,EAAE;IACJ,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,MAAM,WAAW,GAAG,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,eAAe,IAAI,IAAI,CAAC;IAChE,MAAM,aAAa,GAAG,WAAW,KAAK,cAAc,IAAI,OAAO,CAAC;IAEhE,MAAM,iBAAiB,GAAG,OAAO,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;IACtF,MAAM,cAAc,GAAG,WAAW,KAAK,cAAc,IAAI,WAAW,KAAK,cAAc,CAAC;IACxF,MAAM,oBAAoB,GAAG,cAAc,IAAI,CAAC,aAAa,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,CAAC,CAAC;IAC3G,MAAM,UAAU,GAAG,oBAAoB,IAAI,aAAa,CAAC;IAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAErF,OAAO,6BAAK,SAAS,EAAE,0CAA0C,SAAS,kBAAkB,IAAG,WAAW,CAAO,CAAC;AACnH,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/index.js"],"names":[],"mappings":";AAcA,6DA6HG;kBA3IkC,OAAO"}
|
|
@@ -10,36 +10,37 @@ import MobileItemQuantity from './MobileItemQuantity';
|
|
|
10
10
|
import MobileItemPrice from './MobileItemPrice';
|
|
11
11
|
import MobileItemTotal from './MobileItemTotal';
|
|
12
12
|
import MobileItemActions from './MobileItemActions';
|
|
13
|
-
|
|
13
|
+
import { getSelectableQuantityList } from '../util';
|
|
14
|
+
const ItemMobile = memo(({ data, remove, select, actions, isStock, edit, favorite, selectionList, messageData }) => {
|
|
14
15
|
const { openPopup } = useUi();
|
|
15
16
|
const { checkoutData, setGifts, isCheckoutPage, isCartPage } = useCart();
|
|
16
17
|
const { currency, handleProductClick, globalSettings: { hasVariants, hasOutOfStock }, CartItemEditFavoriteButton, } = useAccountContext();
|
|
17
|
-
const
|
|
18
|
-
if (select) {
|
|
19
|
-
|
|
20
|
-
for (let index = 1; index <= data?.selectedOption?.qty; index++) {
|
|
21
|
-
selectList.push({ id: index, name: index });
|
|
22
|
-
}
|
|
23
|
-
return selectList;
|
|
18
|
+
const resolvedSelectionList = useMemo(() => {
|
|
19
|
+
if (!select) {
|
|
20
|
+
return [];
|
|
24
21
|
}
|
|
25
|
-
|
|
22
|
+
if (Array.isArray(selectionList) && selectionList.length > 0) {
|
|
23
|
+
return selectionList;
|
|
24
|
+
}
|
|
25
|
+
return getSelectableQuantityList(data);
|
|
26
|
+
}, [select, selectionList, data]);
|
|
26
27
|
const itemGiftQty = useMemo(() => {
|
|
27
28
|
return checkoutData.gifts.find((item) => item.promotionId === data?.appliedPromotion?.id && item.productId === data?.product.id)?.qty;
|
|
28
29
|
}, [checkoutData.gifts, data?.appliedPromotion?.id, data?.product.id]);
|
|
29
|
-
const
|
|
30
|
+
const itemIsInStock = isStock();
|
|
30
31
|
return !isCheckoutPage || itemGiftQty !== 0 ? (React.createElement(React.Fragment, null,
|
|
31
32
|
React.createElement("div", { className: `mobile-cart-item-wrap user-select-none` },
|
|
32
|
-
|
|
33
|
+
React.createElement(MobileOutOfStockBadge, { hasOutOfStock: hasOutOfStock, productOutOfStock: data?.product?.out_of_stock, isItemInStock: itemIsInStock, messageData: messageData, fallbackMessage: data?.message, qtyAdjusted: data?.qtyAdjusted }),
|
|
33
34
|
React.createElement("div", { className: `mobile-cart-item-inner-wrap` },
|
|
34
35
|
React.createElement(MobileItemImage, { isGift: data?.is_gift, hasVariants: hasVariants, selectedVariant: data?.selectedVariant, product: data?.product }),
|
|
35
36
|
React.createElement("div", { className: `mobile-info-wrap` },
|
|
36
37
|
React.createElement(MobileItemTitle, { product: data?.product, hasVariants: hasVariants, handleProductClick: handleProductClick, isCartPage: isCartPage, isCheckoutPage: isCheckoutPage }),
|
|
37
38
|
React.createElement(MobileItemAttributes, { selectedVariant: data?.selectedVariant, selectedOption: data?.selectedOption, product: data?.product }),
|
|
38
|
-
hasVariants && (React.createElement(MobileItemQuantity, { hasVariants: hasVariants, select: select, data: data, selectionList:
|
|
39
|
+
hasVariants && (React.createElement(MobileItemQuantity, { hasVariants: hasVariants, select: select, data: data, selectionList: resolvedSelectionList, actions: actions, checkoutData: checkoutData, setGifts: setGifts, isCheckoutPage: isCheckoutPage, itemGiftQty: itemGiftQty })),
|
|
39
40
|
React.createElement(MobileItemPrice, { data: data, hasVariants: hasVariants, currency: currency }),
|
|
40
41
|
React.createElement("div", { className: `mobile-total-price-wrap ${hasVariants ? '' : 'flex-box'}` },
|
|
41
42
|
React.createElement(MobileItemTotal, { data: data, hasVariants: hasVariants, currency: currency }),
|
|
42
|
-
!hasVariants && (React.createElement(MobileItemQuantity, { hasVariants: hasVariants, select: select, data: data, selectionList:
|
|
43
|
+
!hasVariants && (React.createElement(MobileItemQuantity, { hasVariants: hasVariants, select: select, data: data, selectionList: resolvedSelectionList, actions: actions, checkoutData: checkoutData, setGifts: setGifts, isCheckoutPage: isCheckoutPage, itemGiftQty: itemGiftQty })))))),
|
|
43
44
|
React.createElement(MobileItemActions, { edit: edit, favorite: favorite, remove: remove, data: data, hasVariants: hasVariants, isCartPage: isCartPage, openPopup: openPopup, CartItemEditFavoriteButton: CartItemEditFavoriteButton, actions: actions }),
|
|
44
45
|
React.createElement("div", { className: 'line' }))) : null;
|
|
45
46
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/cart/components/CartItems/ItemMobile/index.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/index.js"],"names":[],"mappings":";AAaA,4DA8IG;kBA3JkC,OAAO"}
|
|
@@ -5,15 +5,34 @@ import { useCart } from '@weareconceptstudio/cart';
|
|
|
5
5
|
import Item from './Item';
|
|
6
6
|
import ItemMobile from './ItemMobile';
|
|
7
7
|
import { AccountButton } from '../../../../components';
|
|
8
|
+
import { getSelectableQuantityList, isItemInStock } from './util';
|
|
8
9
|
//* Style
|
|
9
10
|
import CartItemsStyle from './style';
|
|
10
11
|
const CartItems = memo(({ className, title, additionalParameters, actions }) => {
|
|
11
12
|
const { winWidth } = useUi();
|
|
12
|
-
const { items } = useCart();
|
|
13
|
+
const { items, messages } = useCart();
|
|
14
|
+
const getItemKey = (item) => {
|
|
15
|
+
return item?.id ?? item?.itemId ?? `${item?.product?.id || 'product'}-${item?.variantId || 'variant'}-${item?.optionId || 'option'}`;
|
|
16
|
+
};
|
|
13
17
|
//! Check is item stock
|
|
14
18
|
const checkIsStock = (currentItem) => {
|
|
15
|
-
return currentItem
|
|
19
|
+
return isItemInStock(currentItem);
|
|
16
20
|
};
|
|
21
|
+
const selectOptionsMap = useMemo(() => {
|
|
22
|
+
return items.reduce((acc, item) => {
|
|
23
|
+
const key = getItemKey(item);
|
|
24
|
+
acc[key] = getSelectableQuantityList(item);
|
|
25
|
+
return acc;
|
|
26
|
+
}, {});
|
|
27
|
+
}, [items]);
|
|
28
|
+
const itemMessagesMap = useMemo(() => {
|
|
29
|
+
return (messages || []).reduce((acc, message) => {
|
|
30
|
+
if (message?.item_id) {
|
|
31
|
+
acc[message.item_id] = message;
|
|
32
|
+
}
|
|
33
|
+
return acc;
|
|
34
|
+
}, {});
|
|
35
|
+
}, [messages]);
|
|
17
36
|
//! Store
|
|
18
37
|
const itemsStore = useMemo(() => {
|
|
19
38
|
return winWidth >= 768 ? (React.createElement("div", { className: `cart-items-table-wrap` },
|
|
@@ -28,11 +47,11 @@ const CartItems = memo(({ className, title, additionalParameters, actions }) =>
|
|
|
28
47
|
React.createElement(Text, { className: `account-p account-p3 account-font-bold account-primary-color1 nowrap align-right`, text: `account.order_balance.total` }))),
|
|
29
48
|
React.createElement("div", { className: `items-wrap` }, items?.length > 0
|
|
30
49
|
? items.map((item, index) => {
|
|
31
|
-
return (React.createElement(Item, { key: index, data: item, actions: actions, select: additionalParameters.select, remove: additionalParameters.remove, edit: additionalParameters.edit.item, favorite: additionalParameters.favorite, isStock: () => checkIsStock(item), isLast: items.length - 1 === index }));
|
|
50
|
+
return (React.createElement(Item, { key: item?.id ?? index, data: item, actions: actions, select: additionalParameters.select, remove: additionalParameters.remove, edit: additionalParameters.edit.item, favorite: additionalParameters.favorite, isStock: () => checkIsStock(item), isLast: items.length - 1 === index, selectionList: selectOptionsMap[getItemKey(item)], messageData: itemMessagesMap[item?.id] }));
|
|
32
51
|
})
|
|
33
52
|
: null))) : (React.createElement("div", { className: `mobile-cart-items-table-wrap` }, items?.length > 0
|
|
34
53
|
? items.map((item, index) => {
|
|
35
|
-
return (React.createElement(ItemMobile, { key: index, data: item, actions: actions, select: additionalParameters.select, remove: additionalParameters.remove, edit: additionalParameters.edit.item, favorite: additionalParameters.favorite, isStock: () => checkIsStock(item) }));
|
|
54
|
+
return (React.createElement(ItemMobile, { key: item?.id ?? index, data: item, actions: actions, select: additionalParameters.select, remove: additionalParameters.remove, edit: additionalParameters.edit.item, favorite: additionalParameters.favorite, isStock: () => checkIsStock(item), selectionList: selectOptionsMap[getItemKey(item)], messageData: itemMessagesMap[item?.id] }));
|
|
36
55
|
})
|
|
37
56
|
: null));
|
|
38
57
|
}, [winWidth, items, additionalParameters, actions]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,cAAc;AACd,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/index.js"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
export const defaultIconGift: React.JSX.Element;
|
|
2
|
+
export function resolveAvailableQty(item: any): number;
|
|
3
|
+
export function isItemInStock(item: any): boolean;
|
|
4
|
+
export function getSelectableQuantityList(item: any): {
|
|
5
|
+
id: number;
|
|
6
|
+
name: number;
|
|
7
|
+
}[];
|
|
2
8
|
import React from 'react';
|
|
3
9
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/util.js"],"names":[],"mappings":"AAEA,gDASE;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/util.js"],"names":[],"mappings":"AAEA,gDASE;AAEK,uDAsBN;AAEM,kDAeN;AAEM;;;IAYN;kBAlEiB,OAAO"}
|
|
@@ -1,4 +1,51 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export const defaultIconGift = (React.createElement("svg", { width: '14', height: '14', fill: 'none', viewBox: '0 0 14 14', xmlns: 'http://www.w3.org/2000/svg' },
|
|
3
3
|
React.createElement("path", { d: 'M7.78672 13.4663H11.846C12.1064 13.2066 12.252 13.061 12.5117 12.8006V7.95381H7.78672V13.4663ZM1.48672 7.95381V12.8006C1.74642 13.061 1.89202 13.2066 2.15242 13.4663H6.21172V7.95381H1.48672ZM9.55842 1.71471C10.418 1.71471 11.0186 2.81441 10.033 3.68381H7.75452L8.61202 2.22571C8.79752 1.90931 9.13772 1.71471 9.50452 1.71471H9.55842ZM2.33932 2.16341C2.20492 2.71431 2.28612 3.24281 2.51012 3.68381H1.36492C1.10452 3.94351 0.958919 4.08911 0.699219 4.34881V6.16811C0.958919 6.42781 1.10452 6.57341 1.36492 6.83381H12.6335C12.8939 6.57341 13.0395 6.42781 13.2992 6.16811V4.34881C13.0395 4.08911 12.8939 3.94351 12.6335 3.68381H11.4883C11.7123 3.24281 11.7935 2.71431 11.6591 2.16341C11.4211 1.19041 10.5076 0.53381 9.50662 0.53381H9.50452C8.71912 0.53381 7.99112 0.94961 7.59212 1.62651L6.99922 2.63731L6.40632 1.62861C6.00732 0.950311 5.27932 0.53381 4.49182 0.53381C3.49082 0.53381 2.57732 1.19041 2.33932 2.16341ZM5.38712 2.22641L6.24392 3.68381H3.96542C2.97982 2.81441 3.58042 1.71471 4.44002 1.71471H4.49392C4.86072 1.71471 5.20302 1.90931 5.38712 2.22641Z' })));
|
|
4
|
+
export const resolveAvailableQty = (item) => {
|
|
5
|
+
const candidates = [
|
|
6
|
+
item?.availableQty,
|
|
7
|
+
item?.maxQty,
|
|
8
|
+
item?.selectedOption?.availableQty,
|
|
9
|
+
item?.selectedOption?.qty,
|
|
10
|
+
item?.selectedOption?.maxQty,
|
|
11
|
+
item?.selectedOption?.max_qty,
|
|
12
|
+
item?.product?.availableQty,
|
|
13
|
+
item?.product?.qty,
|
|
14
|
+
item?.product?.quantity,
|
|
15
|
+
item?.product?.stock,
|
|
16
|
+
];
|
|
17
|
+
for (const value of candidates) {
|
|
18
|
+
const numericValue = Number(value);
|
|
19
|
+
if (Number.isFinite(numericValue)) {
|
|
20
|
+
return numericValue;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
};
|
|
25
|
+
export const isItemInStock = (item) => {
|
|
26
|
+
if (item?.isInStock === false)
|
|
27
|
+
return false;
|
|
28
|
+
if (item?.product?.out_of_stock)
|
|
29
|
+
return false;
|
|
30
|
+
const availableQty = resolveAvailableQty(item);
|
|
31
|
+
if (availableQty === null) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
const qty = Number(item?.qty);
|
|
35
|
+
if (!Number.isFinite(qty)) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return availableQty >= qty && availableQty > 0;
|
|
39
|
+
};
|
|
40
|
+
export const getSelectableQuantityList = (item) => {
|
|
41
|
+
const availableQty = resolveAvailableQty(item);
|
|
42
|
+
const limit = availableQty !== null && availableQty > 0 ? Math.floor(availableQty) : 0;
|
|
43
|
+
if (!limit) {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
return Array.from({ length: limit }, (_, index) => {
|
|
47
|
+
const value = index + 1;
|
|
48
|
+
return { id: value, name: value };
|
|
49
|
+
});
|
|
50
|
+
};
|
|
4
51
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/util.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,6BACC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B;IAClC,8BAAM,CAAC,EAAC,qiCAAqiC,GAAG,CAC3iC,CACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../src/modules/cart/components/CartItems/util.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,CAC9B,6BACC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B;IAClC,8BAAM,CAAC,EAAC,qiCAAqiC,GAAG,CAC3iC,CACN,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,EAAE;IAC3C,MAAM,UAAU,GAAG;QAClB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,cAAc,EAAE,YAAY;QAClC,IAAI,EAAE,cAAc,EAAE,GAAG;QACzB,IAAI,EAAE,cAAc,EAAE,MAAM;QAC5B,IAAI,EAAE,cAAc,EAAE,OAAO;QAC7B,IAAI,EAAE,OAAO,EAAE,YAAY;QAC3B,IAAI,EAAE,OAAO,EAAE,GAAG;QAClB,IAAI,EAAE,OAAO,EAAE,QAAQ;QACvB,IAAI,EAAE,OAAO,EAAE,KAAK;KACpB,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACnC,OAAO,YAAY,CAAC;QACrB,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE;IACrC,IAAI,IAAI,EAAE,SAAS,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,IAAI,EAAE,OAAO,EAAE,YAAY;QAAE,OAAO,KAAK,CAAC;IAE9C,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,YAAY,IAAI,GAAG,IAAI,YAAY,GAAG,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAAI,EAAE,EAAE;IACjD,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,YAAY,KAAK,IAAI,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvF,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export default StepShipping;
|
|
2
|
-
declare function StepShipping({ firstStepFormRef, shippingFormRef, billingFormRef, setUseSameAddress }: {
|
|
2
|
+
declare function StepShipping({ firstStepFormRef, shippingFormRef, billingFormRef, useSameAddress, setUseSameAddress, }: {
|
|
3
3
|
firstStepFormRef: any;
|
|
4
4
|
shippingFormRef: any;
|
|
5
5
|
billingFormRef: any;
|
|
6
|
+
useSameAddress?: boolean;
|
|
6
7
|
setUseSameAddress: any;
|
|
7
8
|
}): React.JSX.Element;
|
|
8
9
|
import React from 'react';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/checkout/CheckoutTemplate/StepShipping/index.js"],"names":[],"mappings":";AAIA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/checkout/CheckoutTemplate/StepShipping/index.js"],"names":[],"mappings":";AAIA;;;;;;sBAkFC;kBAtF0C,OAAO"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
import React, { useState } from 'react';
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { AddressItem, ShippingBillingForm, useAddressContext } from '../../../address';
|
|
3
3
|
import { CustomCheckbox } from '../../../../components';
|
|
4
|
-
const StepShipping = ({ firstStepFormRef, shippingFormRef, billingFormRef, setUseSameAddress }) => {
|
|
5
|
-
const [hide, setHide] = useState(
|
|
4
|
+
const StepShipping = ({ firstStepFormRef, shippingFormRef, billingFormRef, useSameAddress = false, setUseSameAddress, }) => {
|
|
5
|
+
const [hide, setHide] = useState(useSameAddress);
|
|
6
6
|
const { hasAddressType, addresses, selectedAddresses } = useAddressContext();
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
setHide(useSameAddress);
|
|
9
|
+
}, [useSameAddress]);
|
|
10
|
+
const handleToggleUseSameAddress = (value) => {
|
|
11
|
+
setHide(value);
|
|
12
|
+
setUseSameAddress?.(value);
|
|
13
|
+
};
|
|
7
14
|
return (React.createElement("div", { className: `billing-shipping-form-wrap` }, hasAddressType ? (React.createElement(React.Fragment, null,
|
|
8
15
|
addresses.shipping.length > 0 && selectedAddresses.shipping ? (React.createElement("div", { className: `shipping-address-wrapper` },
|
|
9
|
-
React.createElement(AddressItem, { title: 'account.address_management.shippingAddress', checkout_review: false, select_address: false, type: 'shipping', data: selectedAddresses.shipping }))) : (React.createElement(ShippingBillingForm, { type: 'shipping', title: 'account.address_management.shippingAddress', className: 'shipping-wrapper', firstStepFormRef: shippingFormRef })),
|
|
10
|
-
!(addresses.billing.length > 0 || addresses.shipping.length > 0) && (React.createElement(CustomCheckbox, { hide: hide, setHide:
|
|
11
|
-
setHide(value);
|
|
12
|
-
setUseSameAddress?.(value);
|
|
13
|
-
}, isText: 'account.order_balance.useAlsoBillingAddress' })),
|
|
16
|
+
React.createElement(AddressItem, { title: 'account.address_management.shippingAddress', checkout_review: false, select_address: false, type: 'shipping', data: selectedAddresses.shipping }))) : (React.createElement(ShippingBillingForm, { type: 'shipping', title: 'account.address_management.shippingAddress', className: 'shipping-wrapper', firstStepFormRef: shippingFormRef, duplicateTo: useSameAddress ? ['billing'] : [] })),
|
|
17
|
+
!(addresses.billing.length > 0 || addresses.shipping.length > 0) && (React.createElement(CustomCheckbox, { hide: hide, setHide: handleToggleUseSameAddress, isText: 'account.order_balance.useAlsoBillingAddress' })),
|
|
14
18
|
!hide &&
|
|
15
19
|
(addresses.billing.length > 0 && selectedAddresses.billing ? (React.createElement("div", { className: `billing-address-wrapper` },
|
|
16
20
|
React.createElement(AddressItem, { type: 'billing', select_address: false, checkout_review: false, title: 'account.address_management.billingAddress', data: selectedAddresses.billing }))) : (React.createElement(ShippingBillingForm, { type: 'billing', title: 'account.address_management.billingAddress', className: 'billing-wrapper', firstStepFormRef: billingFormRef }))))) : (React.createElement(ShippingBillingForm, { firstStepFormRef: firstStepFormRef, title: 'account.address_management.address' }))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/checkout/CheckoutTemplate/StepShipping/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/checkout/CheckoutTemplate/StepShipping/index.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,YAAY,GAAG,CAAC,EACrB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,cAAc,GAAG,KAAK,EACtB,iBAAiB,GACjB,EAAE,EAAE;IACJ,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAE7E,SAAS,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,cAAc,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,MAAM,0BAA0B,GAAG,CAAC,KAAK,EAAE,EAAE;QAC5C,OAAO,CAAC,KAAK,CAAC,CAAC;QACf,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,CACN,6BAAK,SAAS,EAAE,4BAA4B,IAC1C,cAAc,CAAC,CAAC,CAAC,CACjB;QAEE,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC9D,6BAAK,SAAS,EAAE,0BAA0B;YACzC,oBAAC,WAAW,IACX,KAAK,EAAE,4CAA4C,EACnD,eAAe,EAAE,KAAK,EACtB,cAAc,EAAE,KAAK,EACrB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,iBAAiB,CAAC,QAAQ,GAC/B,CACG,CACN,CAAC,CAAC,CAAC,CACH,oBAAC,mBAAmB,IACnB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,4CAA4C,EACnD,SAAS,EAAE,kBAAkB,EAC7B,gBAAgB,EAAE,eAAe,EACjC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAC7C,CACF;QAGA,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CACpE,oBAAC,cAAc,IACd,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,0BAA0B,EACnC,MAAM,EAAE,6CAA6C,GACpD,CACF;QAGA,CAAC,IAAI;YACL,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAC5D,6BAAK,SAAS,EAAE,yBAAyB;gBACxC,oBAAC,WAAW,IACX,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,KAAK,EACrB,eAAe,EAAE,KAAK,EACtB,KAAK,EAAE,2CAA2C,EAClD,IAAI,EAAE,iBAAiB,CAAC,OAAO,GAC9B,CACG,CACN,CAAC,CAAC,CAAC,CACH,oBAAC,mBAAmB,IACnB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,2CAA2C,EAClD,SAAS,EAAE,iBAAiB,EAC5B,gBAAgB,EAAE,cAAc,GAC/B,CACF,CAAC,CACD,CACH,CAAC,CAAC,CAAC,CACH,oBAAC,mBAAmB,IACnB,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAC,oCAAoC,GACzC,CACF,CACI,CACN,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/checkout/CheckoutTemplate/index.js"],"names":[],"mappings":";AAkBA;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/checkout/CheckoutTemplate/index.js"],"names":[],"mappings":";AAkBA;;sBAkHC;kBApI+D,OAAO"}
|
|
@@ -19,48 +19,31 @@ const CheckoutTemplate = ({ moreMenu }) => {
|
|
|
19
19
|
const billingFormRef = useRef(null);
|
|
20
20
|
const [useSameAddress, setUseSameAddress] = useState(false);
|
|
21
21
|
const { useUser } = useAccountContext();
|
|
22
|
-
const { hasCheckoutAddress, addressLoading, hasAddressType
|
|
22
|
+
const { hasCheckoutAddress, addressLoading, hasAddressType } = useAddressContext();
|
|
23
23
|
const { itemsCount, loading, handleCheckout, getCart, mergeCart, isLoggedIn } = useCart();
|
|
24
24
|
const { user } = useUser();
|
|
25
|
-
// Fetch cart when component mounts (like old version)
|
|
26
25
|
useEffect(() => {
|
|
27
26
|
getCart();
|
|
28
27
|
if (isLoggedIn) {
|
|
29
28
|
mergeCart();
|
|
30
29
|
}
|
|
31
|
-
}, []);
|
|
30
|
+
}, [getCart, isLoggedIn, mergeCart]);
|
|
32
31
|
const checkStep = {
|
|
33
32
|
isShipping: !hasCheckoutAddress,
|
|
34
33
|
isReview: hasCheckoutAddress,
|
|
35
34
|
};
|
|
36
35
|
const handleCheckoutFirstStep = () => {
|
|
37
|
-
if (hasAddressType) {
|
|
38
|
-
//! Dual address mode: submit both forms or copy shipping to billing if checkbox is checked
|
|
39
|
-
if (useSameAddress) {
|
|
40
|
-
//! User wants same address for shipping and billing
|
|
41
|
-
const shippingPromise = shippingFormRef.current?.submit();
|
|
42
|
-
//! After shipping address is created, copy it to billing
|
|
43
|
-
return shippingPromise?.then((shippingData) => {
|
|
44
|
-
//! Get the form values from shipping form
|
|
45
|
-
const shippingValues = shippingFormRef.current?.getValues();
|
|
46
|
-
if (shippingValues) {
|
|
47
|
-
//! Create billing address with the same data
|
|
48
|
-
return createAddress({ data: shippingValues, type: 'billing' });
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
//! Submit both forms separately
|
|
54
|
-
const shippingPromise = shippingFormRef.current?.submit();
|
|
55
|
-
const billingPromise = billingFormRef.current?.submit();
|
|
56
|
-
//! Wait for both forms to complete
|
|
57
|
-
return Promise.all([shippingPromise, billingPromise].filter(Boolean));
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
36
|
+
if (!hasAddressType) {
|
|
61
37
|
//! Single address mode: submit single form
|
|
62
38
|
return firstStepFormRef.current?.submit();
|
|
63
39
|
}
|
|
40
|
+
//! Dual address mode: submit both forms or rely on shipping duplication
|
|
41
|
+
if (useSameAddress) {
|
|
42
|
+
return shippingFormRef.current?.submit();
|
|
43
|
+
}
|
|
44
|
+
const shippingPromise = shippingFormRef.current?.submit();
|
|
45
|
+
const billingPromise = billingFormRef.current?.submit();
|
|
46
|
+
return Promise.all([shippingPromise, billingPromise].filter(Boolean));
|
|
64
47
|
};
|
|
65
48
|
const [loadingProcessToPayment, setLoadingProcessToPayment] = useState(false);
|
|
66
49
|
const handleCheckoutBtn = useCallback(() => {
|