@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/hooks/index.mjs
CHANGED
|
@@ -61,6 +61,7 @@ var CUSTOMER_ATTRIBUTE_KEY = "_discounts_function_env";
|
|
|
61
61
|
var CUSTOMER_SCRIPT_GIFT_KEY = "_giveaway_gradient_gifts";
|
|
62
62
|
var CODE_AMOUNT_KEY = "_sku_code_money";
|
|
63
63
|
var SCRIPT_CODE_AMOUNT_KEY = "_code_money";
|
|
64
|
+
var MEMBER_PRICE_ATTRIBUTE_KEY = "_member_price";
|
|
64
65
|
var MAIN_PRODUCT_CODE = ["WS24", "WSTD", "WS7D", "WSCP", "WSPE", "WSPD"];
|
|
65
66
|
|
|
66
67
|
// src/hooks/cart/utils/normalize-add-to-cart-lines.ts
|
|
@@ -939,59 +940,90 @@ function useRemoveCartCodes(options) {
|
|
|
939
940
|
);
|
|
940
941
|
return useSWRMutation("remove-codes", removeCodes, options);
|
|
941
942
|
}
|
|
942
|
-
|
|
943
|
-
// src/hooks/cart/utils/add-to-cart.ts
|
|
944
|
-
var getLinesWithAttributes = ({
|
|
943
|
+
var initSameLinesAttributes = ({
|
|
945
944
|
cart,
|
|
946
|
-
|
|
945
|
+
line
|
|
947
946
|
}) => {
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
947
|
+
const sameLineInCart = cart?.lineItems.find(
|
|
948
|
+
(lineInCart) => lineInCart.variant.sku === line.variant?.sku && lineInCart.product?.handle === line.variant?.product?.handle
|
|
949
|
+
);
|
|
950
|
+
const codeAmountAttribute = sameLineInCart?.customAttributes?.find(
|
|
951
|
+
(attr) => attr.key === CODE_AMOUNT_KEY
|
|
952
|
+
);
|
|
953
|
+
const scriptCodeAmountAttribute = sameLineInCart?.customAttributes?.find(
|
|
954
|
+
(attr) => attr.key === SCRIPT_CODE_AMOUNT_KEY
|
|
955
|
+
);
|
|
956
|
+
let functionAttribute = null;
|
|
957
|
+
try {
|
|
958
|
+
functionAttribute = sameLineInCart?.customAttributes?.find(
|
|
959
|
+
(attr) => attr.key === CUSTOMER_ATTRIBUTE_KEY && JSON.parse(attr.value)?.discounted_amount
|
|
957
960
|
);
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
scriptCodeAmountAttribute
|
|
973
|
-
].filter(Boolean)
|
|
974
|
-
};
|
|
975
|
-
}
|
|
976
|
-
return line;
|
|
977
|
-
});
|
|
961
|
+
} catch (error) {
|
|
962
|
+
}
|
|
963
|
+
if (codeAmountAttribute || functionAttribute || scriptCodeAmountAttribute) {
|
|
964
|
+
return {
|
|
965
|
+
...line,
|
|
966
|
+
attributes: [
|
|
967
|
+
...line.attributes || [],
|
|
968
|
+
codeAmountAttribute,
|
|
969
|
+
functionAttribute,
|
|
970
|
+
scriptCodeAmountAttribute
|
|
971
|
+
].filter(Boolean)
|
|
972
|
+
};
|
|
973
|
+
}
|
|
974
|
+
return line;
|
|
978
975
|
};
|
|
979
|
-
var
|
|
976
|
+
var initDiscountAttributes = ({ line }) => {
|
|
977
|
+
let itemAttributes = line.attributes || [];
|
|
978
|
+
const functionEnvAttribute = itemAttributes.find((attr) => attr.key === CUSTOMER_ATTRIBUTE_KEY);
|
|
979
|
+
if (!functionEnvAttribute) {
|
|
980
|
+
itemAttributes = itemAttributes.concat([
|
|
981
|
+
{
|
|
982
|
+
key: CUSTOMER_ATTRIBUTE_KEY,
|
|
983
|
+
value: JSON.stringify({
|
|
984
|
+
is_gift: false,
|
|
985
|
+
discounted_amount: line.variant?.finalPrice?.amount === void 0 ? Number(line.variant?.price?.amount) * (line.quantity || 1) : Number(line.variant?.finalPrice?.amount) * (line.quantity || 1)
|
|
986
|
+
})
|
|
987
|
+
}
|
|
988
|
+
]);
|
|
989
|
+
}
|
|
990
|
+
const memberPriceAttribute = itemAttributes.find(
|
|
991
|
+
(attr) => attr.key === MEMBER_PRICE_ATTRIBUTE_KEY
|
|
992
|
+
);
|
|
993
|
+
const coupon = line.coupon;
|
|
994
|
+
if (!memberPriceAttribute && coupon) {
|
|
995
|
+
itemAttributes = itemAttributes.concat([
|
|
996
|
+
{
|
|
997
|
+
key: MEMBER_PRICE_ATTRIBUTE_KEY,
|
|
998
|
+
value: JSON.stringify({ code: coupon.code })
|
|
999
|
+
}
|
|
1000
|
+
]);
|
|
1001
|
+
}
|
|
1002
|
+
const couponDiscountAttribute = itemAttributes.find(
|
|
1003
|
+
(attr) => attr.key === CODE_AMOUNT_KEY || attr.key === SCRIPT_CODE_AMOUNT_KEY
|
|
1004
|
+
);
|
|
1005
|
+
if (!couponDiscountAttribute && coupon && Number(coupon?.amount) > 0) {
|
|
1006
|
+
itemAttributes = itemAttributes.concat([
|
|
1007
|
+
{
|
|
1008
|
+
key: CODE_AMOUNT_KEY,
|
|
1009
|
+
value: new Decimal2(coupon.amount).times(line.quantity || 1).toString()
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
key: SCRIPT_CODE_AMOUNT_KEY,
|
|
1013
|
+
value: new Decimal2(coupon.amount).times(line.quantity || 1).toString()
|
|
1014
|
+
}
|
|
1015
|
+
]);
|
|
1016
|
+
}
|
|
1017
|
+
return { ...line, attributes: itemAttributes };
|
|
1018
|
+
};
|
|
1019
|
+
var getLinesWithAttributes = ({
|
|
1020
|
+
cart,
|
|
1021
|
+
lineItems
|
|
1022
|
+
}) => {
|
|
980
1023
|
return lineItems.map((line) => {
|
|
981
|
-
|
|
982
|
-
const
|
|
983
|
-
|
|
984
|
-
itemAttributes = itemAttributes.concat([
|
|
985
|
-
{
|
|
986
|
-
key: CUSTOMER_ATTRIBUTE_KEY,
|
|
987
|
-
value: JSON.stringify({
|
|
988
|
-
is_gift: false,
|
|
989
|
-
discounted_amount: line.variant?.finalPrice?.amount === void 0 ? Number(line.variant?.price?.amount) * (line.quantity || 1) : Number(line.variant?.finalPrice?.amount) * (line.quantity || 1)
|
|
990
|
-
})
|
|
991
|
-
}
|
|
992
|
-
]);
|
|
993
|
-
}
|
|
994
|
-
return { ...line, attributes: itemAttributes };
|
|
1024
|
+
const sameLine = initSameLinesAttributes({ cart, line });
|
|
1025
|
+
const functionLine = initDiscountAttributes({ line: sameLine });
|
|
1026
|
+
return functionLine;
|
|
995
1027
|
});
|
|
996
1028
|
};
|
|
997
1029
|
|
|
@@ -1020,11 +1052,7 @@ function useAddToCart({ withTrack = true } = {}, swrOptions) {
|
|
|
1020
1052
|
return;
|
|
1021
1053
|
}
|
|
1022
1054
|
performanceAdapter?.addToCartStart();
|
|
1023
|
-
const
|
|
1024
|
-
cart,
|
|
1025
|
-
lineItems
|
|
1026
|
-
});
|
|
1027
|
-
const linesWithFunctionAttributes = getLinesWithFunctionAttributes(linesWithAttributes);
|
|
1055
|
+
const linesWithFunctionAttributes = getLinesWithAttributes({ cart, lineItems });
|
|
1028
1056
|
const lines = linesWithFunctionAttributes.map((item) => ({
|
|
1029
1057
|
merchandiseId: item.variant?.id || "",
|
|
1030
1058
|
quantity: item.quantity || 1,
|
|
@@ -1161,24 +1189,31 @@ function useRemoveCartLines(options) {
|
|
|
1161
1189
|
);
|
|
1162
1190
|
return useSWRMutation("remove-cart-lines", removeLines, options);
|
|
1163
1191
|
}
|
|
1164
|
-
function useUpdateCartAttributes(
|
|
1192
|
+
function useUpdateCartAttributes({
|
|
1193
|
+
mutate,
|
|
1194
|
+
metafieldIdentifiers,
|
|
1195
|
+
disabled = false,
|
|
1196
|
+
swrOptions
|
|
1197
|
+
}) {
|
|
1165
1198
|
const { client, locale, cartCookieAdapter } = useShopify();
|
|
1166
1199
|
const updateAttributes = useCallback(
|
|
1167
1200
|
async (_key, { arg }) => {
|
|
1201
|
+
if (disabled || !cartCookieAdapter?.getCartId(locale)) {
|
|
1202
|
+
return void 0;
|
|
1203
|
+
}
|
|
1168
1204
|
const updatedCart = await updateCartAttributes(client, {
|
|
1169
1205
|
...arg,
|
|
1170
1206
|
metafieldIdentifiers,
|
|
1171
1207
|
cookieAdapter: cartCookieAdapter
|
|
1172
1208
|
});
|
|
1173
|
-
console.log("useUpdateCartAttributes updatedCart", updatedCart);
|
|
1174
1209
|
if (updatedCart) {
|
|
1175
1210
|
mutate(updatedCart);
|
|
1176
1211
|
}
|
|
1177
1212
|
return updatedCart;
|
|
1178
1213
|
},
|
|
1179
|
-
[client, locale, cartCookieAdapter, mutate, metafieldIdentifiers]
|
|
1214
|
+
[client, locale, cartCookieAdapter, mutate, metafieldIdentifiers, disabled]
|
|
1180
1215
|
);
|
|
1181
|
-
return useSWRMutation("update-cart-attributes", updateAttributes,
|
|
1216
|
+
return useSWRMutation("update-cart-attributes", updateAttributes, swrOptions);
|
|
1182
1217
|
}
|
|
1183
1218
|
function useBuyNow({ withTrack = true } = {}, swrOptions) {
|
|
1184
1219
|
const { client, config, locale, cartCookieAdapter, userAdapter } = useShopify();
|
|
@@ -1198,13 +1233,15 @@ function useBuyNow({ withTrack = true } = {}, swrOptions) {
|
|
|
1198
1233
|
if (!lineItems || lineItems.length === 0) {
|
|
1199
1234
|
return;
|
|
1200
1235
|
}
|
|
1201
|
-
const linesWithFunctionAttributes =
|
|
1236
|
+
const linesWithFunctionAttributes = getLinesWithAttributes({
|
|
1237
|
+
lineItems
|
|
1238
|
+
});
|
|
1202
1239
|
const lines = linesWithFunctionAttributes.map((item) => ({
|
|
1203
1240
|
merchandiseId: item.variant?.id || "",
|
|
1204
1241
|
quantity: item.quantity || 1,
|
|
1205
1242
|
attributes: item.attributes,
|
|
1206
1243
|
sellingPlanId: item.sellingPlanId
|
|
1207
|
-
})).filter((item) => item.merchandiseId
|
|
1244
|
+
})).filter((item) => item.merchandiseId);
|
|
1208
1245
|
if (lines.length === 0) {
|
|
1209
1246
|
return;
|
|
1210
1247
|
}
|
|
@@ -1259,17 +1296,41 @@ function useCalcGiftsFromLines({
|
|
|
1259
1296
|
lines
|
|
1260
1297
|
});
|
|
1261
1298
|
const allGiftLines = useMemo(() => {
|
|
1262
|
-
const functionGiftLines = functionGift.qualifyingGift?.itemsToAdd || []
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
(p) => p.handle === product.handle
|
|
1299
|
+
const functionGiftLines = (functionGift.qualifyingGift?.itemsToAdd || []).map((item) => {
|
|
1300
|
+
const product = functionGift.giftProductsResult?.find(
|
|
1301
|
+
(product2) => product2.handle === item.variant.handle
|
|
1266
1302
|
);
|
|
1267
|
-
const
|
|
1303
|
+
const variants = product?.variants;
|
|
1304
|
+
const variant = Array.isArray(variants) ? variants.find((v) => v.sku === item.variant.sku) : void 0;
|
|
1305
|
+
if (!variant) {
|
|
1306
|
+
console.warn(
|
|
1307
|
+
`Function gift: Variant not found for handle=${item.variant.handle}, sku=${item.variant.sku}`
|
|
1308
|
+
);
|
|
1309
|
+
return null;
|
|
1310
|
+
}
|
|
1268
1311
|
return {
|
|
1269
1312
|
variant: {
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1313
|
+
...variant,
|
|
1314
|
+
product
|
|
1315
|
+
},
|
|
1316
|
+
quantity: item.quantity ?? 1,
|
|
1317
|
+
attributes: item.attributes
|
|
1318
|
+
};
|
|
1319
|
+
}).filter((item) => item !== null);
|
|
1320
|
+
const scriptGiftLines = scriptGift.freeGiftLevel ? scriptGift.freeGiftLevel.giveawayProducts.map((item) => {
|
|
1321
|
+
const product = scriptGift.giftProductsResult?.find(
|
|
1322
|
+
(product2) => product2.handle === item.handle
|
|
1323
|
+
);
|
|
1324
|
+
const variants = product?.variants;
|
|
1325
|
+
const variant = Array.isArray(variants) ? variants.find((v) => v.sku === item.sku) : void 0;
|
|
1326
|
+
if (!variant) {
|
|
1327
|
+
console.warn(`Script gift: Variant not found for handle=${item.handle}, sku=${item.sku}`);
|
|
1328
|
+
return null;
|
|
1329
|
+
}
|
|
1330
|
+
return {
|
|
1331
|
+
variant: {
|
|
1332
|
+
...variant,
|
|
1333
|
+
product
|
|
1273
1334
|
},
|
|
1274
1335
|
quantity: 1,
|
|
1275
1336
|
attributes: [
|
|
@@ -1279,10 +1340,11 @@ function useCalcGiftsFromLines({
|
|
|
1279
1340
|
}
|
|
1280
1341
|
]
|
|
1281
1342
|
};
|
|
1282
|
-
}).filter((item) => item
|
|
1343
|
+
}).filter((item) => item !== null) : [];
|
|
1283
1344
|
return [...functionGiftLines, ...scriptGiftLines];
|
|
1284
1345
|
}, [
|
|
1285
1346
|
functionGift.qualifyingGift,
|
|
1347
|
+
functionGift.giftProductsResult,
|
|
1286
1348
|
scriptGift.freeGiftLevel,
|
|
1287
1349
|
scriptGift.giftProductsResult,
|
|
1288
1350
|
scriptGiveawayKey
|
|
@@ -1515,7 +1577,7 @@ var useCartAttributes = ({
|
|
|
1515
1577
|
})
|
|
1516
1578
|
}
|
|
1517
1579
|
] : [];
|
|
1518
|
-
}, [cart]);
|
|
1580
|
+
}, [cart, customer]);
|
|
1519
1581
|
const presellAttributes = useMemo(() => {
|
|
1520
1582
|
return [
|
|
1521
1583
|
{
|
|
@@ -1579,9 +1641,7 @@ var useCartAttributes = ({
|
|
|
1579
1641
|
"_play_mode_id",
|
|
1580
1642
|
"_popup"
|
|
1581
1643
|
];
|
|
1582
|
-
return cart?.customAttributes?.filter(
|
|
1583
|
-
(item) => !commonAttributeKeys.includes(item.key)
|
|
1584
|
-
) || [];
|
|
1644
|
+
return cart?.customAttributes?.filter((item) => !commonAttributeKeys.includes(item.key)) || [];
|
|
1585
1645
|
}, [cart]);
|
|
1586
1646
|
return useMemo(
|
|
1587
1647
|
() => ({
|
|
@@ -2435,8 +2495,9 @@ var createInitialValue = () => ({
|
|
|
2435
2495
|
tddCoupon: void 0,
|
|
2436
2496
|
isLoadingCoupon: false
|
|
2437
2497
|
},
|
|
2438
|
-
|
|
2439
|
-
|
|
2498
|
+
selectedPlusMemberVariant: void 0,
|
|
2499
|
+
monthlyVariant: void 0,
|
|
2500
|
+
annualVariant: void 0,
|
|
2440
2501
|
showPlusMemberBenefit: false,
|
|
2441
2502
|
setShowPlusMemberBenefit: () => {
|
|
2442
2503
|
},
|
|
@@ -2450,33 +2511,39 @@ var PlusMemberContext = createContext(createInitialValue());
|
|
|
2450
2511
|
function usePlusMemberContext() {
|
|
2451
2512
|
return useContext(PlusMemberContext);
|
|
2452
2513
|
}
|
|
2453
|
-
function
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
const
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
);
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2514
|
+
function usePlusMemberVariants({
|
|
2515
|
+
memberSetting
|
|
2516
|
+
}) {
|
|
2517
|
+
const plusMonthly = memberSetting?.plus_monthly_product;
|
|
2518
|
+
const plusAnnual = memberSetting?.plus_annual_product;
|
|
2519
|
+
const plusMemberHandles = useMemo(() => {
|
|
2520
|
+
return [plusMonthly?.handle, plusAnnual?.handle].filter(Boolean);
|
|
2521
|
+
}, [plusMonthly?.handle, plusAnnual?.handle]);
|
|
2522
|
+
const { data: plusMemberProducts = [] } = useProductsByHandles({
|
|
2523
|
+
handles: plusMemberHandles
|
|
2524
|
+
});
|
|
2525
|
+
const monthlyProduct = useMemo(() => {
|
|
2526
|
+
return plusMemberProducts?.find((item) => item?.handle === plusMonthly?.handle);
|
|
2464
2527
|
}, [plusMemberProducts, plusMonthly]);
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
function usePlusAnnualProductVariant() {
|
|
2468
|
-
const { plusMemberProducts, plusMemberMetafields } = usePlusMemberContext();
|
|
2469
|
-
const plusAnnual = plusMemberMetafields?.plus_annual_product;
|
|
2470
|
-
const plusAnnualProductVariant = useMemo(() => {
|
|
2471
|
-
const product = plusMemberProducts?.find(
|
|
2472
|
-
(item) => item?.handle === plusAnnual?.handle
|
|
2473
|
-
);
|
|
2474
|
-
const productVariant = product?.variants?.find(
|
|
2475
|
-
(item) => item.sku === plusAnnual?.sku
|
|
2476
|
-
);
|
|
2477
|
-
return productVariant;
|
|
2528
|
+
const annualProduct = useMemo(() => {
|
|
2529
|
+
return plusMemberProducts?.find((item) => item?.handle === plusAnnual?.handle);
|
|
2478
2530
|
}, [plusMemberProducts, plusAnnual]);
|
|
2479
|
-
|
|
2531
|
+
const monthlyVariant = useMemo(() => {
|
|
2532
|
+
return monthlyProduct?.variants?.find((item) => item.sku === plusMonthly?.sku);
|
|
2533
|
+
}, [monthlyProduct, plusMonthly]);
|
|
2534
|
+
const annualVariant = useMemo(() => {
|
|
2535
|
+
return annualProduct?.variants?.find((item) => item.sku === plusAnnual?.sku);
|
|
2536
|
+
}, [annualProduct, plusAnnual]);
|
|
2537
|
+
return {
|
|
2538
|
+
monthlyVariant: monthlyVariant ? {
|
|
2539
|
+
...monthlyVariant,
|
|
2540
|
+
product: monthlyProduct
|
|
2541
|
+
} : void 0,
|
|
2542
|
+
annualVariant: annualVariant ? {
|
|
2543
|
+
...annualVariant,
|
|
2544
|
+
product: annualProduct
|
|
2545
|
+
} : void 0
|
|
2546
|
+
};
|
|
2480
2547
|
}
|
|
2481
2548
|
var useAvailableDeliveryCoupon = ({
|
|
2482
2549
|
profile
|
|
@@ -2877,13 +2944,13 @@ function usePlusMemberNeedAddToCart({
|
|
|
2877
2944
|
cart,
|
|
2878
2945
|
profile
|
|
2879
2946
|
}) {
|
|
2880
|
-
const { selectedPlusMemberMode,
|
|
2947
|
+
const { selectedPlusMemberMode, selectedPlusMemberVariant, plusMemberMetafields } = usePlusMemberContext();
|
|
2881
2948
|
const { hasMonthlyPlus, hasAnnualPlus } = useHasPlusMemberInCart({
|
|
2882
2949
|
memberSetting: plusMemberMetafields,
|
|
2883
2950
|
cart
|
|
2884
2951
|
});
|
|
2885
|
-
const
|
|
2886
|
-
if (!
|
|
2952
|
+
const plusMemberVariant = useMemo(() => {
|
|
2953
|
+
if (!selectedPlusMemberVariant || selectedPlusMemberMode === "free" /* FREE */) {
|
|
2887
2954
|
return void 0;
|
|
2888
2955
|
}
|
|
2889
2956
|
if (selectedPlusMemberMode === "monthly" /* MONTHLY */ && hasMonthlyPlus) {
|
|
@@ -2898,15 +2965,9 @@ function usePlusMemberNeedAddToCart({
|
|
|
2898
2965
|
if (profile?.isAnnualPlus && selectedPlusMemberMode === "annual" /* ANNUAL */) {
|
|
2899
2966
|
return void 0;
|
|
2900
2967
|
}
|
|
2901
|
-
return
|
|
2902
|
-
}, [
|
|
2903
|
-
|
|
2904
|
-
selectedPlusMemberProduct?.variant,
|
|
2905
|
-
selectedPlusMemberProduct?.product,
|
|
2906
|
-
hasMonthlyPlus,
|
|
2907
|
-
hasAnnualPlus
|
|
2908
|
-
]);
|
|
2909
|
-
return plusMemberProduct;
|
|
2968
|
+
return selectedPlusMemberVariant;
|
|
2969
|
+
}, [selectedPlusMemberMode, selectedPlusMemberVariant, hasMonthlyPlus, hasAnnualPlus]);
|
|
2970
|
+
return plusMemberVariant;
|
|
2910
2971
|
}
|
|
2911
2972
|
var PlusMemberProvider = ({
|
|
2912
2973
|
variant,
|
|
@@ -2936,26 +2997,15 @@ var PlusMemberProvider = ({
|
|
|
2936
2997
|
profile,
|
|
2937
2998
|
isPlus: profile?.isPlus || false
|
|
2938
2999
|
});
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
return [
|
|
2942
|
-
memberSetting?.plus_monthly_product?.handle,
|
|
2943
|
-
memberSetting?.plus_annual_product?.handle
|
|
2944
|
-
].filter(Boolean);
|
|
2945
|
-
}, [memberSetting]);
|
|
2946
|
-
const { data: plusMemberProducts = [] } = useProductsByHandles({
|
|
2947
|
-
handles: plusMemberHandles
|
|
3000
|
+
const { monthlyVariant, annualVariant } = usePlusMemberVariants({
|
|
3001
|
+
memberSetting
|
|
2948
3002
|
});
|
|
2949
|
-
const
|
|
3003
|
+
const selectedPlusMemberVariant = useMemo(() => {
|
|
2950
3004
|
if (selectedPlusMemberMode === "free" /* FREE */) {
|
|
2951
|
-
return
|
|
3005
|
+
return void 0;
|
|
2952
3006
|
}
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
const product2 = plusMemberProducts?.find((p) => p.handle === handle);
|
|
2956
|
-
const variant2 = product2?.variants?.find((v) => v.sku === sku);
|
|
2957
|
-
return product2 && variant2 ? { product: product2, variant: variant2 } : null;
|
|
2958
|
-
}, [plusMemberProducts, memberSetting, selectedPlusMemberMode]);
|
|
3007
|
+
return selectedPlusMemberMode === "monthly" /* MONTHLY */ ? monthlyVariant : annualVariant;
|
|
3008
|
+
}, [monthlyVariant, annualVariant, selectedPlusMemberMode]);
|
|
2959
3009
|
return /* @__PURE__ */ jsx(
|
|
2960
3010
|
PlusMemberContext.Provider,
|
|
2961
3011
|
{
|
|
@@ -2979,8 +3029,9 @@ var PlusMemberProvider = ({
|
|
|
2979
3029
|
setShowTip,
|
|
2980
3030
|
showMoreShippingMethod,
|
|
2981
3031
|
setShowMoreShippingMethod,
|
|
2982
|
-
|
|
2983
|
-
|
|
3032
|
+
selectedPlusMemberVariant,
|
|
3033
|
+
monthlyVariant,
|
|
3034
|
+
annualVariant,
|
|
2984
3035
|
product,
|
|
2985
3036
|
showPlusMemberBenefit,
|
|
2986
3037
|
setShowPlusMemberBenefit,
|
|
@@ -3173,6 +3224,6 @@ function clearGeoLocationCache(cacheKey = "geoLocation") {
|
|
|
3173
3224
|
}
|
|
3174
3225
|
}
|
|
3175
3226
|
|
|
3176
|
-
export { BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, DeliveryPlusType, MAIN_PRODUCT_CODE, OrderBasePriceType, OrderDiscountType, PLUS_MEMBER_TYPE, PlusMemberContext, PlusMemberMode, PlusMemberProvider, PriceBasePriceType, PriceDiscountType, RuleType, SCRIPT_CODE_AMOUNT_KEY, ShippingMethodMode, SpendMoneyType, checkAttributesUpdateNeeded, clearGeoLocationCache, createMockCartFromLines, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, getCachedGeoLocation, getDiscountEnvAttributeValue, getMatchedMainProductSubTotal, getQuery, getReferralAttributes, normalizeAddToCartLines, preCheck, safeParse, useAddCartLines, useAddToCart, useAllBlogs, useAllCollections, useAllProducts, useApplyCartCodes, useArticle, useArticles, useArticlesInBlog, useAutoRemovePlusMemberInCart, useAvailableDeliveryCoupon, useBlog, useBuyNow, useCalcAutoFreeGift, useCalcGiftsFromLines, useCalcOrderDiscount, useCartAttributes, useCartItemQuantityLimit, useCollection, useCollections, useCreateCart, useExposure, useGeoLocation, useHasPlusMemberInCart, useIntersection,
|
|
3227
|
+
export { BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, DeliveryPlusType, MAIN_PRODUCT_CODE, MEMBER_PRICE_ATTRIBUTE_KEY, OrderBasePriceType, OrderDiscountType, PLUS_MEMBER_TYPE, PlusMemberContext, PlusMemberMode, PlusMemberProvider, PriceBasePriceType, PriceDiscountType, RuleType, SCRIPT_CODE_AMOUNT_KEY, ShippingMethodMode, SpendMoneyType, checkAttributesUpdateNeeded, clearGeoLocationCache, createMockCartFromLines, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, getCachedGeoLocation, getDiscountEnvAttributeValue, getMatchedMainProductSubTotal, getQuery, getReferralAttributes, normalizeAddToCartLines, preCheck, safeParse, useAddCartLines, useAddToCart, useAllBlogs, useAllCollections, useAllProducts, useApplyCartCodes, useArticle, useArticles, useArticlesInBlog, useAutoRemovePlusMemberInCart, useAvailableDeliveryCoupon, useBlog, useBuyNow, useCalcAutoFreeGift, useCalcGiftsFromLines, useCalcOrderDiscount, useCartAttributes, 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, useSite, useUpdateCartAttributes, useUpdateCartLines, useUpdateLineCodeAmountAttributes, useUpdatePlusMemberDeliveryOptions, useUpdateVariantQuery, useVariant, useVariantMedia };
|
|
3177
3228
|
//# sourceMappingURL=index.mjs.map
|
|
3178
3229
|
//# sourceMappingURL=index.mjs.map
|