@anker-in/shopify-react 0.1.1-beta.41 → 0.1.1-beta.43
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 +112 -168
- package/dist/hooks/index.d.ts +112 -168
- package/dist/hooks/index.js +122 -310
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +122 -307
- 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 +127 -311
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +127 -308
- 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 +54 -55
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/index.mjs +54 -55
- package/dist/provider/index.mjs.map +1 -1
- package/dist/{types-y1Wa95P3.d.mts → types-CMMWxyUF.d.mts} +5 -10
- package/dist/{types-y1Wa95P3.d.ts → types-CMMWxyUF.d.ts} +5 -10
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createContext, useMemo, useContext, useRef, useState, useEffect, useCallback } from 'react';
|
|
2
|
-
import { createShopifyClient, getProductsByHandles, createCart, updateCartCodes, addCartLines, updateCartLines, removeCartLines, updateCartAttributes, getLocalStorage, getProduct, getAllProducts, getCollection, getAllCollections, getCollections, getBlog, getAllBlogs, getArticle, getArticles, getArticlesInBlog, getCart, setLocalStorage
|
|
2
|
+
import { createShopifyClient, getProductsByHandles, createCart, updateCartCodes, addCartLines, updateCartLines, removeCartLines, updateCartAttributes, getLocalStorage, getProduct, getAllProducts, getCollection, getAllCollections, getCollections, getBlog, getAllBlogs, getArticle, getArticles, getArticlesInBlog, getCart, setLocalStorage } from '@anker-in/shopify-sdk';
|
|
3
3
|
export * from '@anker-in/shopify-sdk';
|
|
4
4
|
import Cookies5 from 'js-cookie';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -1303,24 +1303,31 @@ function useRemoveCartLines(options) {
|
|
|
1303
1303
|
);
|
|
1304
1304
|
return useSWRMutation("remove-cart-lines", removeLines, options);
|
|
1305
1305
|
}
|
|
1306
|
-
function useUpdateCartAttributes(
|
|
1306
|
+
function useUpdateCartAttributes({
|
|
1307
|
+
mutate,
|
|
1308
|
+
metafieldIdentifiers,
|
|
1309
|
+
disabled = false,
|
|
1310
|
+
swrOptions
|
|
1311
|
+
}) {
|
|
1307
1312
|
const { client, locale, cartCookieAdapter } = useShopify();
|
|
1308
1313
|
const updateAttributes = useCallback(
|
|
1309
1314
|
async (_key, { arg }) => {
|
|
1315
|
+
if (disabled || !cartCookieAdapter?.getCartId(locale)) {
|
|
1316
|
+
return void 0;
|
|
1317
|
+
}
|
|
1310
1318
|
const updatedCart = await updateCartAttributes(client, {
|
|
1311
1319
|
...arg,
|
|
1312
1320
|
metafieldIdentifiers,
|
|
1313
1321
|
cookieAdapter: cartCookieAdapter
|
|
1314
1322
|
});
|
|
1315
|
-
console.log("useUpdateCartAttributes updatedCart", updatedCart);
|
|
1316
1323
|
if (updatedCart) {
|
|
1317
1324
|
mutate(updatedCart);
|
|
1318
1325
|
}
|
|
1319
1326
|
return updatedCart;
|
|
1320
1327
|
},
|
|
1321
|
-
[client, locale, cartCookieAdapter, mutate, metafieldIdentifiers]
|
|
1328
|
+
[client, locale, cartCookieAdapter, mutate, metafieldIdentifiers, disabled]
|
|
1322
1329
|
);
|
|
1323
|
-
return useSWRMutation("update-cart-attributes", updateAttributes,
|
|
1330
|
+
return useSWRMutation("update-cart-attributes", updateAttributes, swrOptions);
|
|
1324
1331
|
}
|
|
1325
1332
|
function useBuyNow({ withTrack = true } = {}, swrOptions) {
|
|
1326
1333
|
const { client, config, locale, cartCookieAdapter, userAdapter } = useShopify();
|
|
@@ -1558,36 +1565,46 @@ var useCalcOrderDiscount = (cart, orderDiscountConfig, customer) => {
|
|
|
1558
1565
|
isLoading: isCustomerLoading
|
|
1559
1566
|
};
|
|
1560
1567
|
};
|
|
1561
|
-
function
|
|
1568
|
+
function hasPlusMemberInCart({
|
|
1562
1569
|
memberSetting,
|
|
1563
1570
|
cart
|
|
1564
1571
|
}) {
|
|
1565
1572
|
const { plus_monthly_product, plus_annual_product } = memberSetting || {};
|
|
1566
|
-
|
|
1567
|
-
if (!cart?.lineItems) {
|
|
1568
|
-
return {
|
|
1569
|
-
hasPlusMember: false,
|
|
1570
|
-
hasMonthlyPlus: false,
|
|
1571
|
-
hasAnnualPlus: false
|
|
1572
|
-
};
|
|
1573
|
-
}
|
|
1574
|
-
const monthlyPlusItem = cart.lineItems.find(
|
|
1575
|
-
(item) => item.product?.handle === plus_monthly_product?.handle && item.variant?.sku === plus_monthly_product?.sku
|
|
1576
|
-
);
|
|
1577
|
-
const annualPlusItem = cart.lineItems.find(
|
|
1578
|
-
(item) => item.product?.handle === plus_annual_product?.handle && item.variant?.sku === plus_annual_product?.sku
|
|
1579
|
-
);
|
|
1580
|
-
const hasMonthlyPlus = !!monthlyPlusItem;
|
|
1581
|
-
const hasAnnualPlus = !!annualPlusItem;
|
|
1582
|
-
const hasPlusMember = hasMonthlyPlus || hasAnnualPlus;
|
|
1573
|
+
if (!cart?.lineItems) {
|
|
1583
1574
|
return {
|
|
1584
|
-
hasPlusMember,
|
|
1585
|
-
hasMonthlyPlus,
|
|
1586
|
-
hasAnnualPlus
|
|
1587
|
-
monthlyPlusItem,
|
|
1588
|
-
annualPlusItem
|
|
1575
|
+
hasPlusMember: false,
|
|
1576
|
+
hasMonthlyPlus: false,
|
|
1577
|
+
hasAnnualPlus: false
|
|
1589
1578
|
};
|
|
1590
|
-
}
|
|
1579
|
+
}
|
|
1580
|
+
const monthlyPlusItem = cart.lineItems.find(
|
|
1581
|
+
(item) => item.product?.handle === plus_monthly_product?.handle && item.variant?.sku === plus_monthly_product?.sku
|
|
1582
|
+
);
|
|
1583
|
+
const annualPlusItem = cart.lineItems.find(
|
|
1584
|
+
(item) => item.product?.handle === plus_annual_product?.handle && item.variant?.sku === plus_annual_product?.sku
|
|
1585
|
+
);
|
|
1586
|
+
const hasMonthlyPlus = !!monthlyPlusItem;
|
|
1587
|
+
const hasAnnualPlus = !!annualPlusItem;
|
|
1588
|
+
const hasPlusMember = hasMonthlyPlus || hasAnnualPlus;
|
|
1589
|
+
return {
|
|
1590
|
+
hasPlusMember,
|
|
1591
|
+
hasMonthlyPlus,
|
|
1592
|
+
hasAnnualPlus,
|
|
1593
|
+
monthlyPlusItem,
|
|
1594
|
+
annualPlusItem
|
|
1595
|
+
};
|
|
1596
|
+
}
|
|
1597
|
+
function useHasPlusMemberInCart({
|
|
1598
|
+
memberSetting,
|
|
1599
|
+
cart
|
|
1600
|
+
}) {
|
|
1601
|
+
return useMemo(
|
|
1602
|
+
() => hasPlusMemberInCart({
|
|
1603
|
+
memberSetting,
|
|
1604
|
+
cart
|
|
1605
|
+
}),
|
|
1606
|
+
[memberSetting, cart]
|
|
1607
|
+
);
|
|
1591
1608
|
}
|
|
1592
1609
|
var getReferralAttributes = () => {
|
|
1593
1610
|
const inviteCode = getLocalStorage("inviteCode") || Cookies5.get("inviteCode");
|
|
@@ -1684,7 +1701,7 @@ var useCartAttributes = ({
|
|
|
1684
1701
|
})
|
|
1685
1702
|
}
|
|
1686
1703
|
] : [];
|
|
1687
|
-
}, [cart]);
|
|
1704
|
+
}, [cart, customer]);
|
|
1688
1705
|
const presellAttributes = useMemo(() => {
|
|
1689
1706
|
return [
|
|
1690
1707
|
{
|
|
@@ -1748,9 +1765,7 @@ var useCartAttributes = ({
|
|
|
1748
1765
|
"_play_mode_id",
|
|
1749
1766
|
"_popup"
|
|
1750
1767
|
];
|
|
1751
|
-
return cart?.customAttributes?.filter(
|
|
1752
|
-
(item) => !commonAttributeKeys.includes(item.key)
|
|
1753
|
-
) || [];
|
|
1768
|
+
return cart?.customAttributes?.filter((item) => !commonAttributeKeys.includes(item.key)) || [];
|
|
1754
1769
|
}, [cart]);
|
|
1755
1770
|
return useMemo(
|
|
1756
1771
|
() => ({
|
|
@@ -2568,28 +2583,13 @@ var ShippingMethodMode = /* @__PURE__ */ ((ShippingMethodMode2) => {
|
|
|
2568
2583
|
return ShippingMethodMode2;
|
|
2569
2584
|
})(ShippingMethodMode || {});
|
|
2570
2585
|
var createInitialValue = () => ({
|
|
2571
|
-
zipCode: "",
|
|
2572
2586
|
plusMemberMetafields: {},
|
|
2573
|
-
setZipCode: () => {
|
|
2574
|
-
},
|
|
2575
|
-
allowNextDayDelivery: false,
|
|
2576
|
-
setAllowNextDayDelivery: () => {
|
|
2577
|
-
},
|
|
2578
|
-
allowThirdDayDelivery: false,
|
|
2579
|
-
setAllowThirdDayDelivery: () => {
|
|
2580
|
-
},
|
|
2581
2587
|
selectedPlusMemberMode: "free",
|
|
2582
2588
|
setSelectedPlusMemberMode: () => {
|
|
2583
2589
|
},
|
|
2584
|
-
showAreaCheckModal: false,
|
|
2585
|
-
setShowAreaCheckModal: () => {
|
|
2586
|
-
},
|
|
2587
2590
|
selectedShippingMethod: void 0,
|
|
2588
2591
|
setSelectedShippingMethod: () => {
|
|
2589
2592
|
},
|
|
2590
|
-
showTip: false,
|
|
2591
|
-
setShowTip: () => {
|
|
2592
|
-
},
|
|
2593
2593
|
showMoreShippingMethod: false,
|
|
2594
2594
|
setShowMoreShippingMethod: () => {
|
|
2595
2595
|
},
|
|
@@ -2604,48 +2604,49 @@ var createInitialValue = () => ({
|
|
|
2604
2604
|
tddCoupon: void 0,
|
|
2605
2605
|
isLoadingCoupon: false
|
|
2606
2606
|
},
|
|
2607
|
-
|
|
2608
|
-
plusMemberProducts: [],
|
|
2607
|
+
selectedPlusMemberVariant: void 0,
|
|
2609
2608
|
showPlusMemberBenefit: false,
|
|
2610
2609
|
setShowPlusMemberBenefit: () => {
|
|
2611
2610
|
},
|
|
2612
|
-
|
|
2613
|
-
setDeleteMarginBottom: () => {
|
|
2614
|
-
},
|
|
2615
|
-
profile: void 0,
|
|
2616
|
-
locale: void 0
|
|
2611
|
+
profile: void 0
|
|
2617
2612
|
});
|
|
2618
2613
|
var PlusMemberContext = createContext(createInitialValue());
|
|
2619
2614
|
function usePlusMemberContext() {
|
|
2620
2615
|
return useContext(PlusMemberContext);
|
|
2621
2616
|
}
|
|
2622
|
-
function
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
const
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
);
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2617
|
+
function usePlusMemberVariants({
|
|
2618
|
+
memberSetting
|
|
2619
|
+
}) {
|
|
2620
|
+
const plusMonthly = memberSetting?.plus_monthly_product;
|
|
2621
|
+
const plusAnnual = memberSetting?.plus_annual_product;
|
|
2622
|
+
const plusMemberHandles = useMemo(() => {
|
|
2623
|
+
return [plusMonthly?.handle, plusAnnual?.handle].filter(Boolean);
|
|
2624
|
+
}, [plusMonthly?.handle, plusAnnual?.handle]);
|
|
2625
|
+
const { data: plusMemberProducts = [] } = useProductsByHandles({
|
|
2626
|
+
handles: plusMemberHandles
|
|
2627
|
+
});
|
|
2628
|
+
const monthlyProduct = useMemo(() => {
|
|
2629
|
+
return plusMemberProducts?.find((item) => item?.handle === plusMonthly?.handle);
|
|
2633
2630
|
}, [plusMemberProducts, plusMonthly]);
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
function usePlusAnnualProductVariant() {
|
|
2637
|
-
const { plusMemberProducts, plusMemberMetafields } = usePlusMemberContext();
|
|
2638
|
-
const plusAnnual = plusMemberMetafields?.plus_annual_product;
|
|
2639
|
-
const plusAnnualProductVariant = useMemo(() => {
|
|
2640
|
-
const product = plusMemberProducts?.find(
|
|
2641
|
-
(item) => item?.handle === plusAnnual?.handle
|
|
2642
|
-
);
|
|
2643
|
-
const productVariant = product?.variants?.find(
|
|
2644
|
-
(item) => item.sku === plusAnnual?.sku
|
|
2645
|
-
);
|
|
2646
|
-
return productVariant;
|
|
2631
|
+
const annualProduct = useMemo(() => {
|
|
2632
|
+
return plusMemberProducts?.find((item) => item?.handle === plusAnnual?.handle);
|
|
2647
2633
|
}, [plusMemberProducts, plusAnnual]);
|
|
2648
|
-
|
|
2634
|
+
const monthlyVariant = useMemo(() => {
|
|
2635
|
+
return monthlyProduct?.variants?.find((item) => item.sku === plusMonthly?.sku);
|
|
2636
|
+
}, [monthlyProduct, plusMonthly]);
|
|
2637
|
+
const annualVariant = useMemo(() => {
|
|
2638
|
+
return annualProduct?.variants?.find((item) => item.sku === plusAnnual?.sku);
|
|
2639
|
+
}, [annualProduct, plusAnnual]);
|
|
2640
|
+
return {
|
|
2641
|
+
monthlyVariant: monthlyVariant ? {
|
|
2642
|
+
...monthlyVariant,
|
|
2643
|
+
product: monthlyProduct
|
|
2644
|
+
} : void 0,
|
|
2645
|
+
annualVariant: annualVariant ? {
|
|
2646
|
+
...annualVariant,
|
|
2647
|
+
product: annualProduct
|
|
2648
|
+
} : void 0
|
|
2649
|
+
};
|
|
2649
2650
|
}
|
|
2650
2651
|
var useAvailableDeliveryCoupon = ({
|
|
2651
2652
|
profile
|
|
@@ -2667,9 +2668,9 @@ var useAvailableDeliveryCoupon = ({
|
|
|
2667
2668
|
|
|
2668
2669
|
// src/hooks/member/plus/use-shipping-methods.ts
|
|
2669
2670
|
function useShippingMethods(options) {
|
|
2670
|
-
const { variant, plusMemberMetafields, selectedPlusMemberMode,
|
|
2671
|
+
const { variant, plusMemberMetafields, selectedPlusMemberMode, profile } = options;
|
|
2672
|
+
const isPlus = profile?.isPlus || false;
|
|
2671
2673
|
const { nddCoupon, tddCoupon, isLoading } = useAvailableDeliveryCoupon({ profile });
|
|
2672
|
-
console.log("nddCoupon", nddCoupon);
|
|
2673
2674
|
const { plus_shipping, shippingMethod } = plusMemberMetafields || {};
|
|
2674
2675
|
const nddOverweight = useMemo(() => {
|
|
2675
2676
|
return (variant?.weight || 0) > (shippingMethod?.overWeight_ndd || Infinity);
|
|
@@ -2796,69 +2797,6 @@ function useShippingMethods(options) {
|
|
|
2796
2797
|
isLoadingCoupon: isLoading
|
|
2797
2798
|
};
|
|
2798
2799
|
}
|
|
2799
|
-
function useShippingMethodAvailableCheck() {
|
|
2800
|
-
const {
|
|
2801
|
-
zipCode,
|
|
2802
|
-
allowNextDayDelivery,
|
|
2803
|
-
allowThirdDayDelivery,
|
|
2804
|
-
selectedShippingMethod,
|
|
2805
|
-
setSelectedShippingMethod,
|
|
2806
|
-
setShowTip,
|
|
2807
|
-
shippingMethodsContext
|
|
2808
|
-
} = usePlusMemberContext();
|
|
2809
|
-
useEffect(() => {
|
|
2810
|
-
const freeShippingMethod = shippingMethodsContext.freeShippingMethods[0];
|
|
2811
|
-
const standardShippingMethod = shippingMethodsContext.freeShippingMethods?.find(
|
|
2812
|
-
(item) => item.__mode === "free" /* FREE */
|
|
2813
|
-
);
|
|
2814
|
-
const freeTDD = shippingMethodsContext.freeShippingMethods.find(
|
|
2815
|
-
(item) => item.__mode === "tdd" /* TDD */
|
|
2816
|
-
);
|
|
2817
|
-
const paymentTDD = shippingMethodsContext.paymentShippingMethods.find(
|
|
2818
|
-
(item) => item.__mode === "tdd" /* TDD */
|
|
2819
|
-
);
|
|
2820
|
-
if (zipCode) {
|
|
2821
|
-
console.log(
|
|
2822
|
-
"allowNextDayDelivery, allowThirdDayDelivery:",
|
|
2823
|
-
allowNextDayDelivery,
|
|
2824
|
-
allowThirdDayDelivery
|
|
2825
|
-
);
|
|
2826
|
-
if (!allowNextDayDelivery && !allowThirdDayDelivery) {
|
|
2827
|
-
setShowTip(true);
|
|
2828
|
-
setSelectedShippingMethod(standardShippingMethod);
|
|
2829
|
-
} else {
|
|
2830
|
-
if (selectedShippingMethod?.__mode === "ndd" /* NDD */ && !allowNextDayDelivery) {
|
|
2831
|
-
setShowTip(true);
|
|
2832
|
-
if (allowThirdDayDelivery) {
|
|
2833
|
-
if (selectedShippingMethod.useCoupon) {
|
|
2834
|
-
const method = freeTDD || freeShippingMethod;
|
|
2835
|
-
if (method) setSelectedShippingMethod(method);
|
|
2836
|
-
} else {
|
|
2837
|
-
const method = paymentTDD || freeShippingMethod;
|
|
2838
|
-
if (method) setSelectedShippingMethod(method);
|
|
2839
|
-
}
|
|
2840
|
-
} else {
|
|
2841
|
-
if (freeShippingMethod) setSelectedShippingMethod(freeShippingMethod);
|
|
2842
|
-
}
|
|
2843
|
-
} else if (
|
|
2844
|
-
// TDD 无法使用
|
|
2845
|
-
selectedShippingMethod?.__mode === "tdd" /* TDD */ && !allowThirdDayDelivery
|
|
2846
|
-
) {
|
|
2847
|
-
setShowTip(true);
|
|
2848
|
-
if (freeShippingMethod) setSelectedShippingMethod(freeShippingMethod);
|
|
2849
|
-
}
|
|
2850
|
-
}
|
|
2851
|
-
}
|
|
2852
|
-
}, [
|
|
2853
|
-
allowNextDayDelivery,
|
|
2854
|
-
allowThirdDayDelivery,
|
|
2855
|
-
zipCode,
|
|
2856
|
-
shippingMethodsContext,
|
|
2857
|
-
selectedShippingMethod,
|
|
2858
|
-
setSelectedShippingMethod,
|
|
2859
|
-
setShowTip
|
|
2860
|
-
]);
|
|
2861
|
-
}
|
|
2862
2800
|
var useReplaceCartPlusMember = () => {
|
|
2863
2801
|
const { plusMemberMetafields, selectedPlusMemberMode } = usePlusMemberContext();
|
|
2864
2802
|
const { trigger: removeCartLines2 } = useRemoveCartLines();
|
|
@@ -2890,129 +2828,45 @@ var useReplaceCartPlusMember = () => {
|
|
|
2890
2828
|
]);
|
|
2891
2829
|
return handler;
|
|
2892
2830
|
};
|
|
2893
|
-
var usePlusMemberDeliveryCodes = ({
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
return useMemo(
|
|
2897
|
-
() => deliveryData?.deliveryCustomData?.discount_code,
|
|
2898
|
-
[deliveryData]
|
|
2899
|
-
);
|
|
2900
|
-
};
|
|
2901
|
-
function useUpdateCartDeliveryOptions(mutate, metafieldIdentifiers, options) {
|
|
2902
|
-
const { client, locale, cartCookieAdapter } = useShopify();
|
|
2903
|
-
const updateDeliveryOptions = useCallback(
|
|
2904
|
-
async (_key, { arg }) => {
|
|
2905
|
-
const updatedCart = await updateCartDeliveryOptions(client, {
|
|
2906
|
-
...arg,
|
|
2907
|
-
metafieldIdentifiers,
|
|
2908
|
-
cookieAdapter: cartCookieAdapter
|
|
2909
|
-
});
|
|
2910
|
-
console.log("useUpdateCartDeliveryOptions updatedCart", updatedCart);
|
|
2911
|
-
if (updatedCart) {
|
|
2912
|
-
mutate(updatedCart);
|
|
2913
|
-
}
|
|
2914
|
-
return updatedCart;
|
|
2915
|
-
},
|
|
2916
|
-
[client, locale, cartCookieAdapter, mutate, metafieldIdentifiers]
|
|
2917
|
-
);
|
|
2918
|
-
return useSWRMutation("update-cart-delivery-options", updateDeliveryOptions, options);
|
|
2919
|
-
}
|
|
2920
|
-
|
|
2921
|
-
// src/hooks/member/plus/use-update-plus-member-delivery-options.ts
|
|
2922
|
-
var useUpdatePlusMemberDeliveryOptions = ({
|
|
2923
|
-
options
|
|
2924
|
-
} = {}) => {
|
|
2925
|
-
const { cart: cartContextData, mutateCart, metafieldIdentifiers } = useCartContext();
|
|
2926
|
-
const { trigger: updateCartDeliveryOptions2 } = useUpdateCartDeliveryOptions(
|
|
2927
|
-
mutateCart,
|
|
2928
|
-
metafieldIdentifiers
|
|
2929
|
-
);
|
|
2930
|
-
const handler = useCallback(
|
|
2931
|
-
async (_, { arg }) => {
|
|
2932
|
-
const currentCart = arg?.cart || cartContextData;
|
|
2933
|
-
const { deliveryData } = arg;
|
|
2934
|
-
const firstDeliveryGroup = currentCart?.deliveryGroups?.[0];
|
|
2935
|
-
const deliveryGroupId = firstDeliveryGroup?.id;
|
|
2936
|
-
const selectedOptionCode = deliveryData?.deliveryCustomData?.selected_delivery_option?.code;
|
|
2937
|
-
if (!deliveryGroupId || !selectedOptionCode || selectedOptionCode === firstDeliveryGroup?.selectedDeliveryOption?.code) {
|
|
2938
|
-
return null;
|
|
2939
|
-
}
|
|
2940
|
-
const deliveryGroup = currentCart?.deliveryGroups?.find(
|
|
2941
|
-
(group) => group?.id === deliveryGroupId
|
|
2942
|
-
);
|
|
2943
|
-
const matchedOption = deliveryGroup?.deliveryOptions?.find(
|
|
2944
|
-
(option) => option?.code === selectedOptionCode
|
|
2945
|
-
);
|
|
2946
|
-
if (!matchedOption?.handle) {
|
|
2947
|
-
return null;
|
|
2948
|
-
}
|
|
2949
|
-
const deliveryOptions = [
|
|
2950
|
-
{
|
|
2951
|
-
deliveryGroupId,
|
|
2952
|
-
deliveryOptionHandle: matchedOption.handle
|
|
2953
|
-
}
|
|
2954
|
-
];
|
|
2955
|
-
const updatedCart = await updateCartDeliveryOptions2({
|
|
2956
|
-
selectedDeliveryOptions: deliveryOptions,
|
|
2957
|
-
cartId: currentCart?.id
|
|
2958
|
-
});
|
|
2959
|
-
if (updatedCart && mutateCart) {
|
|
2960
|
-
mutateCart(updatedCart);
|
|
2961
|
-
}
|
|
2962
|
-
return updatedCart;
|
|
2963
|
-
},
|
|
2964
|
-
[cartContextData, updateCartDeliveryOptions2, mutateCart]
|
|
2965
|
-
);
|
|
2966
|
-
return useSWRMutation("update-cart-delivery-options", handler, options);
|
|
2967
|
-
};
|
|
2968
|
-
var usePlusMemberItemCustomAttributes = ({
|
|
2969
|
-
deliveryData
|
|
2970
|
-
}) => {
|
|
2971
|
-
const { deliveryCustomData } = deliveryData || {};
|
|
2972
|
-
return useMemo(() => {
|
|
2973
|
-
const itemCustomAttributes = [];
|
|
2974
|
-
if (deliveryCustomData?.is_presale) {
|
|
2975
|
-
itemCustomAttributes.push({
|
|
2976
|
-
key: "_is_presale",
|
|
2977
|
-
value: "true"
|
|
2978
|
-
});
|
|
2979
|
-
}
|
|
2980
|
-
return itemCustomAttributes;
|
|
2981
|
-
}, [deliveryCustomData]);
|
|
2831
|
+
var usePlusMemberDeliveryCodes = () => {
|
|
2832
|
+
const { selectedShippingMethod } = usePlusMemberContext();
|
|
2833
|
+
return useMemo(() => [selectedShippingMethod?.coupon], [selectedShippingMethod?.coupon]);
|
|
2982
2834
|
};
|
|
2983
2835
|
var usePlusMemberCheckoutCustomAttributes = ({
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
variant,
|
|
2987
|
-
isShowShippingBenefits
|
|
2836
|
+
disableShipping = false,
|
|
2837
|
+
isPresaleContains = false
|
|
2988
2838
|
}) => {
|
|
2989
|
-
const {
|
|
2990
|
-
const { profile } = usePlusMemberContext();
|
|
2839
|
+
const { profile, selectedShippingMethod, selectedPlusMemberMode } = usePlusMemberContext();
|
|
2991
2840
|
return useMemo(() => {
|
|
2992
2841
|
const checkoutCustomAttributes = [
|
|
2993
|
-
// _last_url: 付费会员结算完成之后 checkout 有一个继续购买的按钮, 用于跳转到继续购买的页面
|
|
2994
2842
|
{
|
|
2995
2843
|
key: "_last_url",
|
|
2996
2844
|
value: typeof window !== "undefined" ? window.location.origin + window.location.pathname : ""
|
|
2997
2845
|
}
|
|
2998
2846
|
];
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
2847
|
+
checkoutCustomAttributes.push({
|
|
2848
|
+
key: "_checkout_delivery_custom",
|
|
2849
|
+
value: JSON.stringify({
|
|
2850
|
+
allow_nextday_delivery: true,
|
|
2851
|
+
allow_thirdday_delivery: true,
|
|
2852
|
+
selected_delivery_option: {
|
|
2853
|
+
code: selectedShippingMethod?.__code,
|
|
2854
|
+
mode: selectedShippingMethod?.__mode
|
|
2855
|
+
},
|
|
2856
|
+
is_presale: isPresaleContains,
|
|
2857
|
+
discount_code: selectedShippingMethod?.coupon ? [selectedShippingMethod.coupon] : [],
|
|
2858
|
+
plus_type: profile?.isPlus ? "free" /* FREE */ : selectedPlusMemberMode,
|
|
2859
|
+
is_prime: profile?.isPlus
|
|
2860
|
+
})
|
|
2861
|
+
});
|
|
2862
|
+
if (disableShipping) {
|
|
3009
2863
|
checkoutCustomAttributes.push({
|
|
3010
2864
|
key: "_hide_shipping",
|
|
3011
2865
|
value: "true"
|
|
3012
2866
|
});
|
|
3013
2867
|
}
|
|
3014
2868
|
return checkoutCustomAttributes;
|
|
3015
|
-
}, [
|
|
2869
|
+
}, [profile, selectedShippingMethod, selectedPlusMemberMode, isPresaleContains]);
|
|
3016
2870
|
};
|
|
3017
2871
|
function useAutoRemovePlusMemberInCart({
|
|
3018
2872
|
cart,
|
|
@@ -3046,13 +2900,13 @@ function usePlusMemberNeedAddToCart({
|
|
|
3046
2900
|
cart,
|
|
3047
2901
|
profile
|
|
3048
2902
|
}) {
|
|
3049
|
-
const { selectedPlusMemberMode,
|
|
2903
|
+
const { selectedPlusMemberMode, selectedPlusMemberVariant, plusMemberMetafields } = usePlusMemberContext();
|
|
3050
2904
|
const { hasMonthlyPlus, hasAnnualPlus } = useHasPlusMemberInCart({
|
|
3051
2905
|
memberSetting: plusMemberMetafields,
|
|
3052
2906
|
cart
|
|
3053
2907
|
});
|
|
3054
|
-
const
|
|
3055
|
-
if (!
|
|
2908
|
+
const plusMemberVariant = useMemo(() => {
|
|
2909
|
+
if (!selectedPlusMemberVariant || selectedPlusMemberMode === "free" /* FREE */) {
|
|
3056
2910
|
return void 0;
|
|
3057
2911
|
}
|
|
3058
2912
|
if (selectedPlusMemberMode === "monthly" /* MONTHLY */ && hasMonthlyPlus) {
|
|
@@ -3067,15 +2921,9 @@ function usePlusMemberNeedAddToCart({
|
|
|
3067
2921
|
if (profile?.isAnnualPlus && selectedPlusMemberMode === "annual" /* ANNUAL */) {
|
|
3068
2922
|
return void 0;
|
|
3069
2923
|
}
|
|
3070
|
-
return
|
|
3071
|
-
}, [
|
|
3072
|
-
|
|
3073
|
-
selectedPlusMemberProduct?.variant,
|
|
3074
|
-
selectedPlusMemberProduct?.product,
|
|
3075
|
-
hasMonthlyPlus,
|
|
3076
|
-
hasAnnualPlus
|
|
3077
|
-
]);
|
|
3078
|
-
return plusMemberProduct;
|
|
2924
|
+
return selectedPlusMemberVariant;
|
|
2925
|
+
}, [selectedPlusMemberMode, selectedPlusMemberVariant, hasMonthlyPlus, hasAnnualPlus]);
|
|
2926
|
+
return plusMemberVariant;
|
|
3079
2927
|
}
|
|
3080
2928
|
var PlusMemberProvider = ({
|
|
3081
2929
|
variant,
|
|
@@ -3085,78 +2933,45 @@ var PlusMemberProvider = ({
|
|
|
3085
2933
|
profile,
|
|
3086
2934
|
children
|
|
3087
2935
|
}) => {
|
|
3088
|
-
const { locale } = useShopify();
|
|
3089
|
-
const [zipCode, setZipCode] = useState("");
|
|
3090
|
-
const [showTip, setShowTip] = useState(false);
|
|
3091
2936
|
const [selectedPlusMemberMode, setSelectedPlusMemberMode] = useState(
|
|
3092
2937
|
initialSelectedPlusMemberMode
|
|
3093
2938
|
);
|
|
3094
2939
|
const [selectedShippingMethod, setSelectedShippingMethod] = useState();
|
|
3095
|
-
const [allowNextDayDelivery, setAllowNextDayDelivery] = useState(false);
|
|
3096
|
-
const [allowThirdDayDelivery, setAllowThirdDayDelivery] = useState(false);
|
|
3097
|
-
const [showAreaCheckModal, setShowAreaCheckModal] = useState(false);
|
|
3098
2940
|
const [showMoreShippingMethod, setShowMoreShippingMethod] = useState(false);
|
|
3099
2941
|
const [showPlusMemberBenefit, setShowPlusMemberBenefit] = useState(false);
|
|
3100
|
-
const [deleteMarginBottom, setDeleteMarginBottom] = useState(false);
|
|
3101
2942
|
const shippingMethodsContext = useShippingMethods({
|
|
3102
2943
|
variant,
|
|
3103
2944
|
plusMemberMetafields: memberSetting,
|
|
3104
2945
|
selectedPlusMemberMode,
|
|
3105
|
-
profile
|
|
3106
|
-
isPlus: profile?.isPlus || false
|
|
2946
|
+
profile
|
|
3107
2947
|
});
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
return [
|
|
3111
|
-
memberSetting?.plus_monthly_product?.handle,
|
|
3112
|
-
memberSetting?.plus_annual_product?.handle
|
|
3113
|
-
].filter(Boolean);
|
|
3114
|
-
}, [memberSetting]);
|
|
3115
|
-
const { data: plusMemberProducts = [] } = useProductsByHandles({
|
|
3116
|
-
handles: plusMemberHandles
|
|
2948
|
+
const { monthlyVariant, annualVariant } = usePlusMemberVariants({
|
|
2949
|
+
memberSetting
|
|
3117
2950
|
});
|
|
3118
|
-
const
|
|
2951
|
+
const selectedPlusMemberVariant = useMemo(() => {
|
|
3119
2952
|
if (selectedPlusMemberMode === "free" /* FREE */) {
|
|
3120
|
-
return
|
|
2953
|
+
return void 0;
|
|
3121
2954
|
}
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
const product2 = plusMemberProducts?.find((p) => p.handle === handle);
|
|
3125
|
-
const variant2 = product2?.variants?.find((v) => v.sku === sku);
|
|
3126
|
-
return product2 && variant2 ? { product: product2, variant: variant2 } : null;
|
|
3127
|
-
}, [plusMemberProducts, memberSetting, selectedPlusMemberMode]);
|
|
2955
|
+
return selectedPlusMemberMode === "monthly" /* MONTHLY */ ? monthlyVariant : annualVariant;
|
|
2956
|
+
}, [monthlyVariant, annualVariant, selectedPlusMemberMode]);
|
|
3128
2957
|
return /* @__PURE__ */ jsx(
|
|
3129
2958
|
PlusMemberContext.Provider,
|
|
3130
2959
|
{
|
|
3131
2960
|
value: {
|
|
3132
2961
|
variant,
|
|
3133
|
-
zipCode,
|
|
3134
|
-
setZipCode,
|
|
3135
|
-
allowNextDayDelivery,
|
|
3136
|
-
setAllowNextDayDelivery,
|
|
3137
|
-
allowThirdDayDelivery,
|
|
3138
|
-
setAllowThirdDayDelivery,
|
|
3139
2962
|
plusMemberMetafields: memberSetting,
|
|
3140
2963
|
selectedPlusMemberMode,
|
|
3141
2964
|
setSelectedPlusMemberMode,
|
|
3142
|
-
showAreaCheckModal,
|
|
3143
|
-
setShowAreaCheckModal,
|
|
3144
2965
|
selectedShippingMethod,
|
|
3145
2966
|
setSelectedShippingMethod,
|
|
3146
2967
|
shippingMethodsContext,
|
|
3147
|
-
showTip,
|
|
3148
|
-
setShowTip,
|
|
3149
2968
|
showMoreShippingMethod,
|
|
3150
2969
|
setShowMoreShippingMethod,
|
|
3151
|
-
|
|
3152
|
-
plusMemberProducts,
|
|
2970
|
+
selectedPlusMemberVariant,
|
|
3153
2971
|
product,
|
|
3154
2972
|
showPlusMemberBenefit,
|
|
3155
2973
|
setShowPlusMemberBenefit,
|
|
3156
|
-
|
|
3157
|
-
setDeleteMarginBottom,
|
|
3158
|
-
profile,
|
|
3159
|
-
locale
|
|
2974
|
+
profile
|
|
3160
2975
|
},
|
|
3161
2976
|
children
|
|
3162
2977
|
}
|
|
@@ -3383,7 +3198,11 @@ function CartProvider({
|
|
|
3383
3198
|
refreshDeps: [locale]
|
|
3384
3199
|
}
|
|
3385
3200
|
);
|
|
3386
|
-
const { trigger: updateAttributes } = useUpdateCartAttributes(
|
|
3201
|
+
const { trigger: updateAttributes } = useUpdateCartAttributes({
|
|
3202
|
+
mutate: mutateCart,
|
|
3203
|
+
metafieldIdentifiers,
|
|
3204
|
+
disabled: isCartLoading
|
|
3205
|
+
});
|
|
3387
3206
|
const { attributes } = useCartAttributes({ profile, customer, cart, memberSetting });
|
|
3388
3207
|
useRequest(
|
|
3389
3208
|
() => {
|
|
@@ -3566,6 +3385,6 @@ function useCartContext(options) {
|
|
|
3566
3385
|
return context;
|
|
3567
3386
|
}
|
|
3568
3387
|
|
|
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,
|
|
3388
|
+
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, hasPlusMemberInCart, 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, usePlusMemberNeedAddToCart, usePlusMemberVariants, usePrice, useProduct, useProductUrl, useProductsByHandles, useRemoveCartCodes, useRemoveCartLines, useReplaceCartPlusMember, useScriptAutoFreeGift, useSearch, useSelectedOptions, useShippingMethods, useShopify, useSite, useUpdateCartAttributes, useUpdateCartLines, useUpdateLineCodeAmountAttributes, useUpdateVariantQuery, useVariant, useVariantMedia };
|
|
3570
3389
|
//# sourceMappingURL=index.mjs.map
|
|
3571
3390
|
//# sourceMappingURL=index.mjs.map
|