@anker-in/shopify-react 0.1.1-beta.40 → 0.1.1-beta.42
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/hooks/index.d.mts +66 -28
- package/dist/hooks/index.d.ts +66 -28
- package/dist/hooks/index.js +183 -132
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +182 -131
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +188 -133
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +187 -132
- package/dist/index.mjs.map +1 -1
- package/dist/provider/index.d.mts +1 -1
- package/dist/provider/index.d.ts +1 -1
- package/dist/provider/index.js +21 -11
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/index.mjs +21 -11
- package/dist/provider/index.mjs.map +1 -1
- package/dist/{types-BSsb8OPm.d.mts → types-DntkHhf8.d.mts} +8 -5
- package/dist/{types-BSsb8OPm.d.ts → types-DntkHhf8.d.ts} +8 -5
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -150,6 +150,7 @@ var CUSTOMER_ATTRIBUTE_KEY = "_discounts_function_env";
|
|
|
150
150
|
var CUSTOMER_SCRIPT_GIFT_KEY = "_giveaway_gradient_gifts";
|
|
151
151
|
var CODE_AMOUNT_KEY = "_sku_code_money";
|
|
152
152
|
var SCRIPT_CODE_AMOUNT_KEY = "_code_money";
|
|
153
|
+
var MEMBER_PRICE_ATTRIBUTE_KEY = "_member_price";
|
|
153
154
|
var MAIN_PRODUCT_CODE = ["WS24", "WSTD", "WS7D", "WSCP", "WSPE", "WSPD"];
|
|
154
155
|
|
|
155
156
|
// src/hooks/cart/utils/normalize-add-to-cart-lines.ts
|
|
@@ -1053,59 +1054,90 @@ function useRemoveCartCodes(options) {
|
|
|
1053
1054
|
);
|
|
1054
1055
|
return useSWRMutation("remove-codes", removeCodes, options);
|
|
1055
1056
|
}
|
|
1056
|
-
|
|
1057
|
-
// src/hooks/cart/utils/add-to-cart.ts
|
|
1058
|
-
var getLinesWithAttributes = ({
|
|
1057
|
+
var initSameLinesAttributes = ({
|
|
1059
1058
|
cart,
|
|
1060
|
-
|
|
1059
|
+
line
|
|
1061
1060
|
}) => {
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1061
|
+
const sameLineInCart = cart?.lineItems.find(
|
|
1062
|
+
(lineInCart) => lineInCart.variant.sku === line.variant?.sku && lineInCart.product?.handle === line.variant?.product?.handle
|
|
1063
|
+
);
|
|
1064
|
+
const codeAmountAttribute = sameLineInCart?.customAttributes?.find(
|
|
1065
|
+
(attr) => attr.key === CODE_AMOUNT_KEY
|
|
1066
|
+
);
|
|
1067
|
+
const scriptCodeAmountAttribute = sameLineInCart?.customAttributes?.find(
|
|
1068
|
+
(attr) => attr.key === SCRIPT_CODE_AMOUNT_KEY
|
|
1069
|
+
);
|
|
1070
|
+
let functionAttribute = null;
|
|
1071
|
+
try {
|
|
1072
|
+
functionAttribute = sameLineInCart?.customAttributes?.find(
|
|
1073
|
+
(attr) => attr.key === CUSTOMER_ATTRIBUTE_KEY && JSON.parse(attr.value)?.discounted_amount
|
|
1071
1074
|
);
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1075
|
+
} catch (error) {
|
|
1076
|
+
}
|
|
1077
|
+
if (codeAmountAttribute || functionAttribute || scriptCodeAmountAttribute) {
|
|
1078
|
+
return {
|
|
1079
|
+
...line,
|
|
1080
|
+
attributes: [
|
|
1081
|
+
...line.attributes || [],
|
|
1082
|
+
codeAmountAttribute,
|
|
1083
|
+
functionAttribute,
|
|
1084
|
+
scriptCodeAmountAttribute
|
|
1085
|
+
].filter(Boolean)
|
|
1086
|
+
};
|
|
1087
|
+
}
|
|
1088
|
+
return line;
|
|
1089
|
+
};
|
|
1090
|
+
var initDiscountAttributes = ({ line }) => {
|
|
1091
|
+
let itemAttributes = line.attributes || [];
|
|
1092
|
+
const functionEnvAttribute = itemAttributes.find((attr) => attr.key === CUSTOMER_ATTRIBUTE_KEY);
|
|
1093
|
+
if (!functionEnvAttribute) {
|
|
1094
|
+
itemAttributes = itemAttributes.concat([
|
|
1095
|
+
{
|
|
1096
|
+
key: CUSTOMER_ATTRIBUTE_KEY,
|
|
1097
|
+
value: JSON.stringify({
|
|
1098
|
+
is_gift: false,
|
|
1099
|
+
discounted_amount: line.variant?.finalPrice?.amount === void 0 ? Number(line.variant?.price?.amount) * (line.quantity || 1) : Number(line.variant?.finalPrice?.amount) * (line.quantity || 1)
|
|
1100
|
+
})
|
|
1101
|
+
}
|
|
1102
|
+
]);
|
|
1103
|
+
}
|
|
1104
|
+
const memberPriceAttribute = itemAttributes.find(
|
|
1105
|
+
(attr) => attr.key === MEMBER_PRICE_ATTRIBUTE_KEY
|
|
1106
|
+
);
|
|
1107
|
+
const coupon = line.coupon;
|
|
1108
|
+
if (!memberPriceAttribute && coupon) {
|
|
1109
|
+
itemAttributes = itemAttributes.concat([
|
|
1110
|
+
{
|
|
1111
|
+
key: MEMBER_PRICE_ATTRIBUTE_KEY,
|
|
1112
|
+
value: JSON.stringify({ code: coupon.code })
|
|
1113
|
+
}
|
|
1114
|
+
]);
|
|
1115
|
+
}
|
|
1116
|
+
const couponDiscountAttribute = itemAttributes.find(
|
|
1117
|
+
(attr) => attr.key === CODE_AMOUNT_KEY || attr.key === SCRIPT_CODE_AMOUNT_KEY
|
|
1118
|
+
);
|
|
1119
|
+
if (!couponDiscountAttribute && coupon && Number(coupon?.amount) > 0) {
|
|
1120
|
+
itemAttributes = itemAttributes.concat([
|
|
1121
|
+
{
|
|
1122
|
+
key: CODE_AMOUNT_KEY,
|
|
1123
|
+
value: new Decimal2(coupon.amount).times(line.quantity || 1).toString()
|
|
1124
|
+
},
|
|
1125
|
+
{
|
|
1126
|
+
key: SCRIPT_CODE_AMOUNT_KEY,
|
|
1127
|
+
value: new Decimal2(coupon.amount).times(line.quantity || 1).toString()
|
|
1128
|
+
}
|
|
1129
|
+
]);
|
|
1130
|
+
}
|
|
1131
|
+
return { ...line, attributes: itemAttributes };
|
|
1092
1132
|
};
|
|
1093
|
-
var
|
|
1133
|
+
var getLinesWithAttributes = ({
|
|
1134
|
+
cart,
|
|
1135
|
+
lineItems
|
|
1136
|
+
}) => {
|
|
1094
1137
|
return lineItems.map((line) => {
|
|
1095
|
-
|
|
1096
|
-
const
|
|
1097
|
-
|
|
1098
|
-
itemAttributes = itemAttributes.concat([
|
|
1099
|
-
{
|
|
1100
|
-
key: CUSTOMER_ATTRIBUTE_KEY,
|
|
1101
|
-
value: JSON.stringify({
|
|
1102
|
-
is_gift: false,
|
|
1103
|
-
discounted_amount: line.variant?.finalPrice?.amount === void 0 ? Number(line.variant?.price?.amount) * (line.quantity || 1) : Number(line.variant?.finalPrice?.amount) * (line.quantity || 1)
|
|
1104
|
-
})
|
|
1105
|
-
}
|
|
1106
|
-
]);
|
|
1107
|
-
}
|
|
1108
|
-
return { ...line, attributes: itemAttributes };
|
|
1138
|
+
const sameLine = initSameLinesAttributes({ cart, line });
|
|
1139
|
+
const functionLine = initDiscountAttributes({ line: sameLine });
|
|
1140
|
+
return functionLine;
|
|
1109
1141
|
});
|
|
1110
1142
|
};
|
|
1111
1143
|
|
|
@@ -1134,11 +1166,7 @@ function useAddToCart({ withTrack = true } = {}, swrOptions) {
|
|
|
1134
1166
|
return;
|
|
1135
1167
|
}
|
|
1136
1168
|
performanceAdapter?.addToCartStart();
|
|
1137
|
-
const
|
|
1138
|
-
cart,
|
|
1139
|
-
lineItems
|
|
1140
|
-
});
|
|
1141
|
-
const linesWithFunctionAttributes = getLinesWithFunctionAttributes(linesWithAttributes);
|
|
1169
|
+
const linesWithFunctionAttributes = getLinesWithAttributes({ cart, lineItems });
|
|
1142
1170
|
const lines = linesWithFunctionAttributes.map((item) => ({
|
|
1143
1171
|
merchandiseId: item.variant?.id || "",
|
|
1144
1172
|
quantity: item.quantity || 1,
|
|
@@ -1275,24 +1303,31 @@ function useRemoveCartLines(options) {
|
|
|
1275
1303
|
);
|
|
1276
1304
|
return useSWRMutation("remove-cart-lines", removeLines, options);
|
|
1277
1305
|
}
|
|
1278
|
-
function useUpdateCartAttributes(
|
|
1306
|
+
function useUpdateCartAttributes({
|
|
1307
|
+
mutate,
|
|
1308
|
+
metafieldIdentifiers,
|
|
1309
|
+
disabled = false,
|
|
1310
|
+
swrOptions
|
|
1311
|
+
}) {
|
|
1279
1312
|
const { client, locale, cartCookieAdapter } = useShopify();
|
|
1280
1313
|
const updateAttributes = useCallback(
|
|
1281
1314
|
async (_key, { arg }) => {
|
|
1315
|
+
if (disabled || !cartCookieAdapter?.getCartId(locale)) {
|
|
1316
|
+
return void 0;
|
|
1317
|
+
}
|
|
1282
1318
|
const updatedCart = await updateCartAttributes(client, {
|
|
1283
1319
|
...arg,
|
|
1284
1320
|
metafieldIdentifiers,
|
|
1285
1321
|
cookieAdapter: cartCookieAdapter
|
|
1286
1322
|
});
|
|
1287
|
-
console.log("useUpdateCartAttributes updatedCart", updatedCart);
|
|
1288
1323
|
if (updatedCart) {
|
|
1289
1324
|
mutate(updatedCart);
|
|
1290
1325
|
}
|
|
1291
1326
|
return updatedCart;
|
|
1292
1327
|
},
|
|
1293
|
-
[client, locale, cartCookieAdapter, mutate, metafieldIdentifiers]
|
|
1328
|
+
[client, locale, cartCookieAdapter, mutate, metafieldIdentifiers, disabled]
|
|
1294
1329
|
);
|
|
1295
|
-
return useSWRMutation("update-cart-attributes", updateAttributes,
|
|
1330
|
+
return useSWRMutation("update-cart-attributes", updateAttributes, swrOptions);
|
|
1296
1331
|
}
|
|
1297
1332
|
function useBuyNow({ withTrack = true } = {}, swrOptions) {
|
|
1298
1333
|
const { client, config, locale, cartCookieAdapter, userAdapter } = useShopify();
|
|
@@ -1312,13 +1347,15 @@ function useBuyNow({ withTrack = true } = {}, swrOptions) {
|
|
|
1312
1347
|
if (!lineItems || lineItems.length === 0) {
|
|
1313
1348
|
return;
|
|
1314
1349
|
}
|
|
1315
|
-
const linesWithFunctionAttributes =
|
|
1350
|
+
const linesWithFunctionAttributes = getLinesWithAttributes({
|
|
1351
|
+
lineItems
|
|
1352
|
+
});
|
|
1316
1353
|
const lines = linesWithFunctionAttributes.map((item) => ({
|
|
1317
1354
|
merchandiseId: item.variant?.id || "",
|
|
1318
1355
|
quantity: item.quantity || 1,
|
|
1319
1356
|
attributes: item.attributes,
|
|
1320
1357
|
sellingPlanId: item.sellingPlanId
|
|
1321
|
-
})).filter((item) => item.merchandiseId
|
|
1358
|
+
})).filter((item) => item.merchandiseId);
|
|
1322
1359
|
if (lines.length === 0) {
|
|
1323
1360
|
return;
|
|
1324
1361
|
}
|
|
@@ -1373,17 +1410,41 @@ function useCalcGiftsFromLines({
|
|
|
1373
1410
|
lines
|
|
1374
1411
|
});
|
|
1375
1412
|
const allGiftLines = useMemo(() => {
|
|
1376
|
-
const functionGiftLines = functionGift.qualifyingGift?.itemsToAdd || []
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
(p) => p.handle === product.handle
|
|
1413
|
+
const functionGiftLines = (functionGift.qualifyingGift?.itemsToAdd || []).map((item) => {
|
|
1414
|
+
const product = functionGift.giftProductsResult?.find(
|
|
1415
|
+
(product2) => product2.handle === item.variant.handle
|
|
1380
1416
|
);
|
|
1381
|
-
const
|
|
1417
|
+
const variants = product?.variants;
|
|
1418
|
+
const variant = Array.isArray(variants) ? variants.find((v) => v.sku === item.variant.sku) : void 0;
|
|
1419
|
+
if (!variant) {
|
|
1420
|
+
console.warn(
|
|
1421
|
+
`Function gift: Variant not found for handle=${item.variant.handle}, sku=${item.variant.sku}`
|
|
1422
|
+
);
|
|
1423
|
+
return null;
|
|
1424
|
+
}
|
|
1382
1425
|
return {
|
|
1383
1426
|
variant: {
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1427
|
+
...variant,
|
|
1428
|
+
product
|
|
1429
|
+
},
|
|
1430
|
+
quantity: item.quantity ?? 1,
|
|
1431
|
+
attributes: item.attributes
|
|
1432
|
+
};
|
|
1433
|
+
}).filter((item) => item !== null);
|
|
1434
|
+
const scriptGiftLines = scriptGift.freeGiftLevel ? scriptGift.freeGiftLevel.giveawayProducts.map((item) => {
|
|
1435
|
+
const product = scriptGift.giftProductsResult?.find(
|
|
1436
|
+
(product2) => product2.handle === item.handle
|
|
1437
|
+
);
|
|
1438
|
+
const variants = product?.variants;
|
|
1439
|
+
const variant = Array.isArray(variants) ? variants.find((v) => v.sku === item.sku) : void 0;
|
|
1440
|
+
if (!variant) {
|
|
1441
|
+
console.warn(`Script gift: Variant not found for handle=${item.handle}, sku=${item.sku}`);
|
|
1442
|
+
return null;
|
|
1443
|
+
}
|
|
1444
|
+
return {
|
|
1445
|
+
variant: {
|
|
1446
|
+
...variant,
|
|
1447
|
+
product
|
|
1387
1448
|
},
|
|
1388
1449
|
quantity: 1,
|
|
1389
1450
|
attributes: [
|
|
@@ -1393,10 +1454,11 @@ function useCalcGiftsFromLines({
|
|
|
1393
1454
|
}
|
|
1394
1455
|
]
|
|
1395
1456
|
};
|
|
1396
|
-
}).filter((item) => item
|
|
1457
|
+
}).filter((item) => item !== null) : [];
|
|
1397
1458
|
return [...functionGiftLines, ...scriptGiftLines];
|
|
1398
1459
|
}, [
|
|
1399
1460
|
functionGift.qualifyingGift,
|
|
1461
|
+
functionGift.giftProductsResult,
|
|
1400
1462
|
scriptGift.freeGiftLevel,
|
|
1401
1463
|
scriptGift.giftProductsResult,
|
|
1402
1464
|
scriptGiveawayKey
|
|
@@ -1629,7 +1691,7 @@ var useCartAttributes = ({
|
|
|
1629
1691
|
})
|
|
1630
1692
|
}
|
|
1631
1693
|
] : [];
|
|
1632
|
-
}, [cart]);
|
|
1694
|
+
}, [cart, customer]);
|
|
1633
1695
|
const presellAttributes = useMemo(() => {
|
|
1634
1696
|
return [
|
|
1635
1697
|
{
|
|
@@ -1693,9 +1755,7 @@ var useCartAttributes = ({
|
|
|
1693
1755
|
"_play_mode_id",
|
|
1694
1756
|
"_popup"
|
|
1695
1757
|
];
|
|
1696
|
-
return cart?.customAttributes?.filter(
|
|
1697
|
-
(item) => !commonAttributeKeys.includes(item.key)
|
|
1698
|
-
) || [];
|
|
1758
|
+
return cart?.customAttributes?.filter((item) => !commonAttributeKeys.includes(item.key)) || [];
|
|
1699
1759
|
}, [cart]);
|
|
1700
1760
|
return useMemo(
|
|
1701
1761
|
() => ({
|
|
@@ -2549,8 +2609,9 @@ var createInitialValue = () => ({
|
|
|
2549
2609
|
tddCoupon: void 0,
|
|
2550
2610
|
isLoadingCoupon: false
|
|
2551
2611
|
},
|
|
2552
|
-
|
|
2553
|
-
|
|
2612
|
+
selectedPlusMemberVariant: void 0,
|
|
2613
|
+
monthlyVariant: void 0,
|
|
2614
|
+
annualVariant: void 0,
|
|
2554
2615
|
showPlusMemberBenefit: false,
|
|
2555
2616
|
setShowPlusMemberBenefit: () => {
|
|
2556
2617
|
},
|
|
@@ -2564,33 +2625,39 @@ var PlusMemberContext = createContext(createInitialValue());
|
|
|
2564
2625
|
function usePlusMemberContext() {
|
|
2565
2626
|
return useContext(PlusMemberContext);
|
|
2566
2627
|
}
|
|
2567
|
-
function
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
const
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
);
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2628
|
+
function usePlusMemberVariants({
|
|
2629
|
+
memberSetting
|
|
2630
|
+
}) {
|
|
2631
|
+
const plusMonthly = memberSetting?.plus_monthly_product;
|
|
2632
|
+
const plusAnnual = memberSetting?.plus_annual_product;
|
|
2633
|
+
const plusMemberHandles = useMemo(() => {
|
|
2634
|
+
return [plusMonthly?.handle, plusAnnual?.handle].filter(Boolean);
|
|
2635
|
+
}, [plusMonthly?.handle, plusAnnual?.handle]);
|
|
2636
|
+
const { data: plusMemberProducts = [] } = useProductsByHandles({
|
|
2637
|
+
handles: plusMemberHandles
|
|
2638
|
+
});
|
|
2639
|
+
const monthlyProduct = useMemo(() => {
|
|
2640
|
+
return plusMemberProducts?.find((item) => item?.handle === plusMonthly?.handle);
|
|
2578
2641
|
}, [plusMemberProducts, plusMonthly]);
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
function usePlusAnnualProductVariant() {
|
|
2582
|
-
const { plusMemberProducts, plusMemberMetafields } = usePlusMemberContext();
|
|
2583
|
-
const plusAnnual = plusMemberMetafields?.plus_annual_product;
|
|
2584
|
-
const plusAnnualProductVariant = useMemo(() => {
|
|
2585
|
-
const product = plusMemberProducts?.find(
|
|
2586
|
-
(item) => item?.handle === plusAnnual?.handle
|
|
2587
|
-
);
|
|
2588
|
-
const productVariant = product?.variants?.find(
|
|
2589
|
-
(item) => item.sku === plusAnnual?.sku
|
|
2590
|
-
);
|
|
2591
|
-
return productVariant;
|
|
2642
|
+
const annualProduct = useMemo(() => {
|
|
2643
|
+
return plusMemberProducts?.find((item) => item?.handle === plusAnnual?.handle);
|
|
2592
2644
|
}, [plusMemberProducts, plusAnnual]);
|
|
2593
|
-
|
|
2645
|
+
const monthlyVariant = useMemo(() => {
|
|
2646
|
+
return monthlyProduct?.variants?.find((item) => item.sku === plusMonthly?.sku);
|
|
2647
|
+
}, [monthlyProduct, plusMonthly]);
|
|
2648
|
+
const annualVariant = useMemo(() => {
|
|
2649
|
+
return annualProduct?.variants?.find((item) => item.sku === plusAnnual?.sku);
|
|
2650
|
+
}, [annualProduct, plusAnnual]);
|
|
2651
|
+
return {
|
|
2652
|
+
monthlyVariant: monthlyVariant ? {
|
|
2653
|
+
...monthlyVariant,
|
|
2654
|
+
product: monthlyProduct
|
|
2655
|
+
} : void 0,
|
|
2656
|
+
annualVariant: annualVariant ? {
|
|
2657
|
+
...annualVariant,
|
|
2658
|
+
product: annualProduct
|
|
2659
|
+
} : void 0
|
|
2660
|
+
};
|
|
2594
2661
|
}
|
|
2595
2662
|
var useAvailableDeliveryCoupon = ({
|
|
2596
2663
|
profile
|
|
@@ -2991,13 +3058,13 @@ function usePlusMemberNeedAddToCart({
|
|
|
2991
3058
|
cart,
|
|
2992
3059
|
profile
|
|
2993
3060
|
}) {
|
|
2994
|
-
const { selectedPlusMemberMode,
|
|
3061
|
+
const { selectedPlusMemberMode, selectedPlusMemberVariant, plusMemberMetafields } = usePlusMemberContext();
|
|
2995
3062
|
const { hasMonthlyPlus, hasAnnualPlus } = useHasPlusMemberInCart({
|
|
2996
3063
|
memberSetting: plusMemberMetafields,
|
|
2997
3064
|
cart
|
|
2998
3065
|
});
|
|
2999
|
-
const
|
|
3000
|
-
if (!
|
|
3066
|
+
const plusMemberVariant = useMemo(() => {
|
|
3067
|
+
if (!selectedPlusMemberVariant || selectedPlusMemberMode === "free" /* FREE */) {
|
|
3001
3068
|
return void 0;
|
|
3002
3069
|
}
|
|
3003
3070
|
if (selectedPlusMemberMode === "monthly" /* MONTHLY */ && hasMonthlyPlus) {
|
|
@@ -3012,15 +3079,9 @@ function usePlusMemberNeedAddToCart({
|
|
|
3012
3079
|
if (profile?.isAnnualPlus && selectedPlusMemberMode === "annual" /* ANNUAL */) {
|
|
3013
3080
|
return void 0;
|
|
3014
3081
|
}
|
|
3015
|
-
return
|
|
3016
|
-
}, [
|
|
3017
|
-
|
|
3018
|
-
selectedPlusMemberProduct?.variant,
|
|
3019
|
-
selectedPlusMemberProduct?.product,
|
|
3020
|
-
hasMonthlyPlus,
|
|
3021
|
-
hasAnnualPlus
|
|
3022
|
-
]);
|
|
3023
|
-
return plusMemberProduct;
|
|
3082
|
+
return selectedPlusMemberVariant;
|
|
3083
|
+
}, [selectedPlusMemberMode, selectedPlusMemberVariant, hasMonthlyPlus, hasAnnualPlus]);
|
|
3084
|
+
return plusMemberVariant;
|
|
3024
3085
|
}
|
|
3025
3086
|
var PlusMemberProvider = ({
|
|
3026
3087
|
variant,
|
|
@@ -3050,26 +3111,15 @@ var PlusMemberProvider = ({
|
|
|
3050
3111
|
profile,
|
|
3051
3112
|
isPlus: profile?.isPlus || false
|
|
3052
3113
|
});
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
return [
|
|
3056
|
-
memberSetting?.plus_monthly_product?.handle,
|
|
3057
|
-
memberSetting?.plus_annual_product?.handle
|
|
3058
|
-
].filter(Boolean);
|
|
3059
|
-
}, [memberSetting]);
|
|
3060
|
-
const { data: plusMemberProducts = [] } = useProductsByHandles({
|
|
3061
|
-
handles: plusMemberHandles
|
|
3114
|
+
const { monthlyVariant, annualVariant } = usePlusMemberVariants({
|
|
3115
|
+
memberSetting
|
|
3062
3116
|
});
|
|
3063
|
-
const
|
|
3117
|
+
const selectedPlusMemberVariant = useMemo(() => {
|
|
3064
3118
|
if (selectedPlusMemberMode === "free" /* FREE */) {
|
|
3065
|
-
return
|
|
3119
|
+
return void 0;
|
|
3066
3120
|
}
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
const product2 = plusMemberProducts?.find((p) => p.handle === handle);
|
|
3070
|
-
const variant2 = product2?.variants?.find((v) => v.sku === sku);
|
|
3071
|
-
return product2 && variant2 ? { product: product2, variant: variant2 } : null;
|
|
3072
|
-
}, [plusMemberProducts, memberSetting, selectedPlusMemberMode]);
|
|
3121
|
+
return selectedPlusMemberMode === "monthly" /* MONTHLY */ ? monthlyVariant : annualVariant;
|
|
3122
|
+
}, [monthlyVariant, annualVariant, selectedPlusMemberMode]);
|
|
3073
3123
|
return /* @__PURE__ */ jsx(
|
|
3074
3124
|
PlusMemberContext.Provider,
|
|
3075
3125
|
{
|
|
@@ -3093,8 +3143,9 @@ var PlusMemberProvider = ({
|
|
|
3093
3143
|
setShowTip,
|
|
3094
3144
|
showMoreShippingMethod,
|
|
3095
3145
|
setShowMoreShippingMethod,
|
|
3096
|
-
|
|
3097
|
-
|
|
3146
|
+
selectedPlusMemberVariant,
|
|
3147
|
+
monthlyVariant,
|
|
3148
|
+
annualVariant,
|
|
3098
3149
|
product,
|
|
3099
3150
|
showPlusMemberBenefit,
|
|
3100
3151
|
setShowPlusMemberBenefit,
|
|
@@ -3328,7 +3379,11 @@ function CartProvider({
|
|
|
3328
3379
|
refreshDeps: [locale]
|
|
3329
3380
|
}
|
|
3330
3381
|
);
|
|
3331
|
-
const { trigger: updateAttributes } = useUpdateCartAttributes(
|
|
3382
|
+
const { trigger: updateAttributes } = useUpdateCartAttributes({
|
|
3383
|
+
mutate: mutateCart,
|
|
3384
|
+
metafieldIdentifiers,
|
|
3385
|
+
disabled: isCartLoading
|
|
3386
|
+
});
|
|
3332
3387
|
const { attributes } = useCartAttributes({ profile, customer, cart, memberSetting });
|
|
3333
3388
|
useRequest(
|
|
3334
3389
|
() => {
|
|
@@ -3511,6 +3566,6 @@ function useCartContext(options) {
|
|
|
3511
3566
|
return context;
|
|
3512
3567
|
}
|
|
3513
3568
|
|
|
3514
|
-
export { BrowserPerformanceAdapter, BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, CartProvider, DeliveryPlusType, MAIN_PRODUCT_CODE, OrderBasePriceType, OrderDiscountType, PLUS_MEMBER_TYPE, PlusMemberContext, PlusMemberMode, PlusMemberProvider, PriceBasePriceType, PriceDiscountType, RuleType, SCRIPT_CODE_AMOUNT_KEY, ShippingMethodMode, ShopifyContext, ShopifyProvider, SpendMoneyType, browserCartCookieAdapter, browserCookieAdapter, checkAttributesUpdateNeeded, clearGeoLocationCache, createMockCartFromLines, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, gaTrack, getCachedGeoLocation, getDiscountEnvAttributeValue, getMatchedMainProductSubTotal, getQuery, getReferralAttributes, normalizeAddToCartLines, preCheck, safeParse, trackAddToCartFBQ, trackAddToCartGA, trackBeginCheckoutGA, trackBuyNowFBQ, trackBuyNowGA, useAddCartLines, useAddToCart, useAllBlogs, useAllCollections, useAllProducts, useApplyCartCodes, useArticle, useArticles, useArticlesInBlog, useAutoRemovePlusMemberInCart, useAvailableDeliveryCoupon, useBlog, useBuyNow, useCalcAutoFreeGift, useCalcGiftsFromLines, useCalcOrderDiscount, useCartAttributes, useCartContext, useCartItemQuantityLimit, useCollection, useCollections, useCreateCart, useExposure, useGeoLocation, useHasPlusMemberInCart, useIntersection,
|
|
3569
|
+
export { BrowserPerformanceAdapter, BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, CartProvider, DeliveryPlusType, MAIN_PRODUCT_CODE, MEMBER_PRICE_ATTRIBUTE_KEY, OrderBasePriceType, OrderDiscountType, PLUS_MEMBER_TYPE, PlusMemberContext, PlusMemberMode, PlusMemberProvider, PriceBasePriceType, PriceDiscountType, RuleType, SCRIPT_CODE_AMOUNT_KEY, ShippingMethodMode, ShopifyContext, ShopifyProvider, SpendMoneyType, browserCartCookieAdapter, browserCookieAdapter, checkAttributesUpdateNeeded, clearGeoLocationCache, createMockCartFromLines, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, gaTrack, getCachedGeoLocation, getDiscountEnvAttributeValue, getMatchedMainProductSubTotal, getQuery, getReferralAttributes, normalizeAddToCartLines, preCheck, safeParse, trackAddToCartFBQ, trackAddToCartGA, trackBeginCheckoutGA, trackBuyNowFBQ, trackBuyNowGA, useAddCartLines, useAddToCart, useAllBlogs, useAllCollections, useAllProducts, useApplyCartCodes, useArticle, useArticles, useArticlesInBlog, useAutoRemovePlusMemberInCart, useAvailableDeliveryCoupon, useBlog, useBuyNow, useCalcAutoFreeGift, useCalcGiftsFromLines, useCalcOrderDiscount, useCartAttributes, useCartContext, useCartItemQuantityLimit, useCollection, useCollections, useCreateCart, useExposure, useGeoLocation, useHasPlusMemberInCart, useIntersection, usePlusMemberCheckoutCustomAttributes, usePlusMemberContext, usePlusMemberDeliveryCodes, usePlusMemberItemCustomAttributes, usePlusMemberNeedAddToCart, usePlusMemberVariants, usePrice, useProduct, useProductUrl, useProductsByHandles, useRemoveCartCodes, useRemoveCartLines, useReplaceCartPlusMember, useScriptAutoFreeGift, useSearch, useSelectedOptions, useShippingMethodAvailableCheck, useShippingMethods, useShopify, useSite, useUpdateCartAttributes, useUpdateCartLines, useUpdateLineCodeAmountAttributes, useUpdatePlusMemberDeliveryOptions, useUpdateVariantQuery, useVariant, useVariantMedia };
|
|
3515
3570
|
//# sourceMappingURL=index.mjs.map
|
|
3516
3571
|
//# sourceMappingURL=index.mjs.map
|