@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.js
CHANGED
|
@@ -1311,24 +1311,31 @@ function useRemoveCartLines(options) {
|
|
|
1311
1311
|
);
|
|
1312
1312
|
return useSWRMutation__default.default("remove-cart-lines", removeLines, options);
|
|
1313
1313
|
}
|
|
1314
|
-
function useUpdateCartAttributes(
|
|
1314
|
+
function useUpdateCartAttributes({
|
|
1315
|
+
mutate,
|
|
1316
|
+
metafieldIdentifiers,
|
|
1317
|
+
disabled = false,
|
|
1318
|
+
swrOptions
|
|
1319
|
+
}) {
|
|
1315
1320
|
const { client, locale, cartCookieAdapter } = useShopify();
|
|
1316
1321
|
const updateAttributes = react.useCallback(
|
|
1317
1322
|
async (_key, { arg }) => {
|
|
1323
|
+
if (disabled || !cartCookieAdapter?.getCartId(locale)) {
|
|
1324
|
+
return void 0;
|
|
1325
|
+
}
|
|
1318
1326
|
const updatedCart = await shopifySdk.updateCartAttributes(client, {
|
|
1319
1327
|
...arg,
|
|
1320
1328
|
metafieldIdentifiers,
|
|
1321
1329
|
cookieAdapter: cartCookieAdapter
|
|
1322
1330
|
});
|
|
1323
|
-
console.log("useUpdateCartAttributes updatedCart", updatedCart);
|
|
1324
1331
|
if (updatedCart) {
|
|
1325
1332
|
mutate(updatedCart);
|
|
1326
1333
|
}
|
|
1327
1334
|
return updatedCart;
|
|
1328
1335
|
},
|
|
1329
|
-
[client, locale, cartCookieAdapter, mutate, metafieldIdentifiers]
|
|
1336
|
+
[client, locale, cartCookieAdapter, mutate, metafieldIdentifiers, disabled]
|
|
1330
1337
|
);
|
|
1331
|
-
return useSWRMutation__default.default("update-cart-attributes", updateAttributes,
|
|
1338
|
+
return useSWRMutation__default.default("update-cart-attributes", updateAttributes, swrOptions);
|
|
1332
1339
|
}
|
|
1333
1340
|
function useBuyNow({ withTrack = true } = {}, swrOptions) {
|
|
1334
1341
|
const { client, config, locale, cartCookieAdapter, userAdapter } = useShopify();
|
|
@@ -1566,36 +1573,46 @@ var useCalcOrderDiscount = (cart, orderDiscountConfig, customer) => {
|
|
|
1566
1573
|
isLoading: isCustomerLoading
|
|
1567
1574
|
};
|
|
1568
1575
|
};
|
|
1569
|
-
function
|
|
1576
|
+
function hasPlusMemberInCart({
|
|
1570
1577
|
memberSetting,
|
|
1571
1578
|
cart
|
|
1572
1579
|
}) {
|
|
1573
1580
|
const { plus_monthly_product, plus_annual_product } = memberSetting || {};
|
|
1574
|
-
|
|
1575
|
-
if (!cart?.lineItems) {
|
|
1576
|
-
return {
|
|
1577
|
-
hasPlusMember: false,
|
|
1578
|
-
hasMonthlyPlus: false,
|
|
1579
|
-
hasAnnualPlus: false
|
|
1580
|
-
};
|
|
1581
|
-
}
|
|
1582
|
-
const monthlyPlusItem = cart.lineItems.find(
|
|
1583
|
-
(item) => item.product?.handle === plus_monthly_product?.handle && item.variant?.sku === plus_monthly_product?.sku
|
|
1584
|
-
);
|
|
1585
|
-
const annualPlusItem = cart.lineItems.find(
|
|
1586
|
-
(item) => item.product?.handle === plus_annual_product?.handle && item.variant?.sku === plus_annual_product?.sku
|
|
1587
|
-
);
|
|
1588
|
-
const hasMonthlyPlus = !!monthlyPlusItem;
|
|
1589
|
-
const hasAnnualPlus = !!annualPlusItem;
|
|
1590
|
-
const hasPlusMember = hasMonthlyPlus || hasAnnualPlus;
|
|
1581
|
+
if (!cart?.lineItems) {
|
|
1591
1582
|
return {
|
|
1592
|
-
hasPlusMember,
|
|
1593
|
-
hasMonthlyPlus,
|
|
1594
|
-
hasAnnualPlus
|
|
1595
|
-
monthlyPlusItem,
|
|
1596
|
-
annualPlusItem
|
|
1583
|
+
hasPlusMember: false,
|
|
1584
|
+
hasMonthlyPlus: false,
|
|
1585
|
+
hasAnnualPlus: false
|
|
1597
1586
|
};
|
|
1598
|
-
}
|
|
1587
|
+
}
|
|
1588
|
+
const monthlyPlusItem = cart.lineItems.find(
|
|
1589
|
+
(item) => item.product?.handle === plus_monthly_product?.handle && item.variant?.sku === plus_monthly_product?.sku
|
|
1590
|
+
);
|
|
1591
|
+
const annualPlusItem = cart.lineItems.find(
|
|
1592
|
+
(item) => item.product?.handle === plus_annual_product?.handle && item.variant?.sku === plus_annual_product?.sku
|
|
1593
|
+
);
|
|
1594
|
+
const hasMonthlyPlus = !!monthlyPlusItem;
|
|
1595
|
+
const hasAnnualPlus = !!annualPlusItem;
|
|
1596
|
+
const hasPlusMember = hasMonthlyPlus || hasAnnualPlus;
|
|
1597
|
+
return {
|
|
1598
|
+
hasPlusMember,
|
|
1599
|
+
hasMonthlyPlus,
|
|
1600
|
+
hasAnnualPlus,
|
|
1601
|
+
monthlyPlusItem,
|
|
1602
|
+
annualPlusItem
|
|
1603
|
+
};
|
|
1604
|
+
}
|
|
1605
|
+
function useHasPlusMemberInCart({
|
|
1606
|
+
memberSetting,
|
|
1607
|
+
cart
|
|
1608
|
+
}) {
|
|
1609
|
+
return react.useMemo(
|
|
1610
|
+
() => hasPlusMemberInCart({
|
|
1611
|
+
memberSetting,
|
|
1612
|
+
cart
|
|
1613
|
+
}),
|
|
1614
|
+
[memberSetting, cart]
|
|
1615
|
+
);
|
|
1599
1616
|
}
|
|
1600
1617
|
var getReferralAttributes = () => {
|
|
1601
1618
|
const inviteCode = shopifySdk.getLocalStorage("inviteCode") || Cookies5__default.default.get("inviteCode");
|
|
@@ -1692,7 +1709,7 @@ var useCartAttributes = ({
|
|
|
1692
1709
|
})
|
|
1693
1710
|
}
|
|
1694
1711
|
] : [];
|
|
1695
|
-
}, [cart]);
|
|
1712
|
+
}, [cart, customer]);
|
|
1696
1713
|
const presellAttributes = react.useMemo(() => {
|
|
1697
1714
|
return [
|
|
1698
1715
|
{
|
|
@@ -1756,9 +1773,7 @@ var useCartAttributes = ({
|
|
|
1756
1773
|
"_play_mode_id",
|
|
1757
1774
|
"_popup"
|
|
1758
1775
|
];
|
|
1759
|
-
return cart?.customAttributes?.filter(
|
|
1760
|
-
(item) => !commonAttributeKeys.includes(item.key)
|
|
1761
|
-
) || [];
|
|
1776
|
+
return cart?.customAttributes?.filter((item) => !commonAttributeKeys.includes(item.key)) || [];
|
|
1762
1777
|
}, [cart]);
|
|
1763
1778
|
return react.useMemo(
|
|
1764
1779
|
() => ({
|
|
@@ -2576,28 +2591,13 @@ var ShippingMethodMode = /* @__PURE__ */ ((ShippingMethodMode2) => {
|
|
|
2576
2591
|
return ShippingMethodMode2;
|
|
2577
2592
|
})(ShippingMethodMode || {});
|
|
2578
2593
|
var createInitialValue = () => ({
|
|
2579
|
-
zipCode: "",
|
|
2580
2594
|
plusMemberMetafields: {},
|
|
2581
|
-
setZipCode: () => {
|
|
2582
|
-
},
|
|
2583
|
-
allowNextDayDelivery: false,
|
|
2584
|
-
setAllowNextDayDelivery: () => {
|
|
2585
|
-
},
|
|
2586
|
-
allowThirdDayDelivery: false,
|
|
2587
|
-
setAllowThirdDayDelivery: () => {
|
|
2588
|
-
},
|
|
2589
2595
|
selectedPlusMemberMode: "free",
|
|
2590
2596
|
setSelectedPlusMemberMode: () => {
|
|
2591
2597
|
},
|
|
2592
|
-
showAreaCheckModal: false,
|
|
2593
|
-
setShowAreaCheckModal: () => {
|
|
2594
|
-
},
|
|
2595
2598
|
selectedShippingMethod: void 0,
|
|
2596
2599
|
setSelectedShippingMethod: () => {
|
|
2597
2600
|
},
|
|
2598
|
-
showTip: false,
|
|
2599
|
-
setShowTip: () => {
|
|
2600
|
-
},
|
|
2601
2601
|
showMoreShippingMethod: false,
|
|
2602
2602
|
setShowMoreShippingMethod: () => {
|
|
2603
2603
|
},
|
|
@@ -2612,48 +2612,49 @@ var createInitialValue = () => ({
|
|
|
2612
2612
|
tddCoupon: void 0,
|
|
2613
2613
|
isLoadingCoupon: false
|
|
2614
2614
|
},
|
|
2615
|
-
|
|
2616
|
-
plusMemberProducts: [],
|
|
2615
|
+
selectedPlusMemberVariant: void 0,
|
|
2617
2616
|
showPlusMemberBenefit: false,
|
|
2618
2617
|
setShowPlusMemberBenefit: () => {
|
|
2619
2618
|
},
|
|
2620
|
-
|
|
2621
|
-
setDeleteMarginBottom: () => {
|
|
2622
|
-
},
|
|
2623
|
-
profile: void 0,
|
|
2624
|
-
locale: void 0
|
|
2619
|
+
profile: void 0
|
|
2625
2620
|
});
|
|
2626
2621
|
var PlusMemberContext = react.createContext(createInitialValue());
|
|
2627
2622
|
function usePlusMemberContext() {
|
|
2628
2623
|
return react.useContext(PlusMemberContext);
|
|
2629
2624
|
}
|
|
2630
|
-
function
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
const
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
);
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2625
|
+
function usePlusMemberVariants({
|
|
2626
|
+
memberSetting
|
|
2627
|
+
}) {
|
|
2628
|
+
const plusMonthly = memberSetting?.plus_monthly_product;
|
|
2629
|
+
const plusAnnual = memberSetting?.plus_annual_product;
|
|
2630
|
+
const plusMemberHandles = react.useMemo(() => {
|
|
2631
|
+
return [plusMonthly?.handle, plusAnnual?.handle].filter(Boolean);
|
|
2632
|
+
}, [plusMonthly?.handle, plusAnnual?.handle]);
|
|
2633
|
+
const { data: plusMemberProducts = [] } = useProductsByHandles({
|
|
2634
|
+
handles: plusMemberHandles
|
|
2635
|
+
});
|
|
2636
|
+
const monthlyProduct = react.useMemo(() => {
|
|
2637
|
+
return plusMemberProducts?.find((item) => item?.handle === plusMonthly?.handle);
|
|
2641
2638
|
}, [plusMemberProducts, plusMonthly]);
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
function usePlusAnnualProductVariant() {
|
|
2645
|
-
const { plusMemberProducts, plusMemberMetafields } = usePlusMemberContext();
|
|
2646
|
-
const plusAnnual = plusMemberMetafields?.plus_annual_product;
|
|
2647
|
-
const plusAnnualProductVariant = react.useMemo(() => {
|
|
2648
|
-
const product = plusMemberProducts?.find(
|
|
2649
|
-
(item) => item?.handle === plusAnnual?.handle
|
|
2650
|
-
);
|
|
2651
|
-
const productVariant = product?.variants?.find(
|
|
2652
|
-
(item) => item.sku === plusAnnual?.sku
|
|
2653
|
-
);
|
|
2654
|
-
return productVariant;
|
|
2639
|
+
const annualProduct = react.useMemo(() => {
|
|
2640
|
+
return plusMemberProducts?.find((item) => item?.handle === plusAnnual?.handle);
|
|
2655
2641
|
}, [plusMemberProducts, plusAnnual]);
|
|
2656
|
-
|
|
2642
|
+
const monthlyVariant = react.useMemo(() => {
|
|
2643
|
+
return monthlyProduct?.variants?.find((item) => item.sku === plusMonthly?.sku);
|
|
2644
|
+
}, [monthlyProduct, plusMonthly]);
|
|
2645
|
+
const annualVariant = react.useMemo(() => {
|
|
2646
|
+
return annualProduct?.variants?.find((item) => item.sku === plusAnnual?.sku);
|
|
2647
|
+
}, [annualProduct, plusAnnual]);
|
|
2648
|
+
return {
|
|
2649
|
+
monthlyVariant: monthlyVariant ? {
|
|
2650
|
+
...monthlyVariant,
|
|
2651
|
+
product: monthlyProduct
|
|
2652
|
+
} : void 0,
|
|
2653
|
+
annualVariant: annualVariant ? {
|
|
2654
|
+
...annualVariant,
|
|
2655
|
+
product: annualProduct
|
|
2656
|
+
} : void 0
|
|
2657
|
+
};
|
|
2657
2658
|
}
|
|
2658
2659
|
var useAvailableDeliveryCoupon = ({
|
|
2659
2660
|
profile
|
|
@@ -2675,9 +2676,9 @@ var useAvailableDeliveryCoupon = ({
|
|
|
2675
2676
|
|
|
2676
2677
|
// src/hooks/member/plus/use-shipping-methods.ts
|
|
2677
2678
|
function useShippingMethods(options) {
|
|
2678
|
-
const { variant, plusMemberMetafields, selectedPlusMemberMode,
|
|
2679
|
+
const { variant, plusMemberMetafields, selectedPlusMemberMode, profile } = options;
|
|
2680
|
+
const isPlus = profile?.isPlus || false;
|
|
2679
2681
|
const { nddCoupon, tddCoupon, isLoading } = useAvailableDeliveryCoupon({ profile });
|
|
2680
|
-
console.log("nddCoupon", nddCoupon);
|
|
2681
2682
|
const { plus_shipping, shippingMethod } = plusMemberMetafields || {};
|
|
2682
2683
|
const nddOverweight = react.useMemo(() => {
|
|
2683
2684
|
return (variant?.weight || 0) > (shippingMethod?.overWeight_ndd || Infinity);
|
|
@@ -2804,69 +2805,6 @@ function useShippingMethods(options) {
|
|
|
2804
2805
|
isLoadingCoupon: isLoading
|
|
2805
2806
|
};
|
|
2806
2807
|
}
|
|
2807
|
-
function useShippingMethodAvailableCheck() {
|
|
2808
|
-
const {
|
|
2809
|
-
zipCode,
|
|
2810
|
-
allowNextDayDelivery,
|
|
2811
|
-
allowThirdDayDelivery,
|
|
2812
|
-
selectedShippingMethod,
|
|
2813
|
-
setSelectedShippingMethod,
|
|
2814
|
-
setShowTip,
|
|
2815
|
-
shippingMethodsContext
|
|
2816
|
-
} = usePlusMemberContext();
|
|
2817
|
-
react.useEffect(() => {
|
|
2818
|
-
const freeShippingMethod = shippingMethodsContext.freeShippingMethods[0];
|
|
2819
|
-
const standardShippingMethod = shippingMethodsContext.freeShippingMethods?.find(
|
|
2820
|
-
(item) => item.__mode === "free" /* FREE */
|
|
2821
|
-
);
|
|
2822
|
-
const freeTDD = shippingMethodsContext.freeShippingMethods.find(
|
|
2823
|
-
(item) => item.__mode === "tdd" /* TDD */
|
|
2824
|
-
);
|
|
2825
|
-
const paymentTDD = shippingMethodsContext.paymentShippingMethods.find(
|
|
2826
|
-
(item) => item.__mode === "tdd" /* TDD */
|
|
2827
|
-
);
|
|
2828
|
-
if (zipCode) {
|
|
2829
|
-
console.log(
|
|
2830
|
-
"allowNextDayDelivery, allowThirdDayDelivery:",
|
|
2831
|
-
allowNextDayDelivery,
|
|
2832
|
-
allowThirdDayDelivery
|
|
2833
|
-
);
|
|
2834
|
-
if (!allowNextDayDelivery && !allowThirdDayDelivery) {
|
|
2835
|
-
setShowTip(true);
|
|
2836
|
-
setSelectedShippingMethod(standardShippingMethod);
|
|
2837
|
-
} else {
|
|
2838
|
-
if (selectedShippingMethod?.__mode === "ndd" /* NDD */ && !allowNextDayDelivery) {
|
|
2839
|
-
setShowTip(true);
|
|
2840
|
-
if (allowThirdDayDelivery) {
|
|
2841
|
-
if (selectedShippingMethod.useCoupon) {
|
|
2842
|
-
const method = freeTDD || freeShippingMethod;
|
|
2843
|
-
if (method) setSelectedShippingMethod(method);
|
|
2844
|
-
} else {
|
|
2845
|
-
const method = paymentTDD || freeShippingMethod;
|
|
2846
|
-
if (method) setSelectedShippingMethod(method);
|
|
2847
|
-
}
|
|
2848
|
-
} else {
|
|
2849
|
-
if (freeShippingMethod) setSelectedShippingMethod(freeShippingMethod);
|
|
2850
|
-
}
|
|
2851
|
-
} else if (
|
|
2852
|
-
// TDD 无法使用
|
|
2853
|
-
selectedShippingMethod?.__mode === "tdd" /* TDD */ && !allowThirdDayDelivery
|
|
2854
|
-
) {
|
|
2855
|
-
setShowTip(true);
|
|
2856
|
-
if (freeShippingMethod) setSelectedShippingMethod(freeShippingMethod);
|
|
2857
|
-
}
|
|
2858
|
-
}
|
|
2859
|
-
}
|
|
2860
|
-
}, [
|
|
2861
|
-
allowNextDayDelivery,
|
|
2862
|
-
allowThirdDayDelivery,
|
|
2863
|
-
zipCode,
|
|
2864
|
-
shippingMethodsContext,
|
|
2865
|
-
selectedShippingMethod,
|
|
2866
|
-
setSelectedShippingMethod,
|
|
2867
|
-
setShowTip
|
|
2868
|
-
]);
|
|
2869
|
-
}
|
|
2870
2808
|
var useReplaceCartPlusMember = () => {
|
|
2871
2809
|
const { plusMemberMetafields, selectedPlusMemberMode } = usePlusMemberContext();
|
|
2872
2810
|
const { trigger: removeCartLines2 } = useRemoveCartLines();
|
|
@@ -2898,129 +2836,45 @@ var useReplaceCartPlusMember = () => {
|
|
|
2898
2836
|
]);
|
|
2899
2837
|
return handler;
|
|
2900
2838
|
};
|
|
2901
|
-
var usePlusMemberDeliveryCodes = ({
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
return react.useMemo(
|
|
2905
|
-
() => deliveryData?.deliveryCustomData?.discount_code,
|
|
2906
|
-
[deliveryData]
|
|
2907
|
-
);
|
|
2908
|
-
};
|
|
2909
|
-
function useUpdateCartDeliveryOptions(mutate, metafieldIdentifiers, options) {
|
|
2910
|
-
const { client, locale, cartCookieAdapter } = useShopify();
|
|
2911
|
-
const updateDeliveryOptions = react.useCallback(
|
|
2912
|
-
async (_key, { arg }) => {
|
|
2913
|
-
const updatedCart = await shopifySdk.updateCartDeliveryOptions(client, {
|
|
2914
|
-
...arg,
|
|
2915
|
-
metafieldIdentifiers,
|
|
2916
|
-
cookieAdapter: cartCookieAdapter
|
|
2917
|
-
});
|
|
2918
|
-
console.log("useUpdateCartDeliveryOptions updatedCart", updatedCart);
|
|
2919
|
-
if (updatedCart) {
|
|
2920
|
-
mutate(updatedCart);
|
|
2921
|
-
}
|
|
2922
|
-
return updatedCart;
|
|
2923
|
-
},
|
|
2924
|
-
[client, locale, cartCookieAdapter, mutate, metafieldIdentifiers]
|
|
2925
|
-
);
|
|
2926
|
-
return useSWRMutation__default.default("update-cart-delivery-options", updateDeliveryOptions, options);
|
|
2927
|
-
}
|
|
2928
|
-
|
|
2929
|
-
// src/hooks/member/plus/use-update-plus-member-delivery-options.ts
|
|
2930
|
-
var useUpdatePlusMemberDeliveryOptions = ({
|
|
2931
|
-
options
|
|
2932
|
-
} = {}) => {
|
|
2933
|
-
const { cart: cartContextData, mutateCart, metafieldIdentifiers } = useCartContext();
|
|
2934
|
-
const { trigger: updateCartDeliveryOptions2 } = useUpdateCartDeliveryOptions(
|
|
2935
|
-
mutateCart,
|
|
2936
|
-
metafieldIdentifiers
|
|
2937
|
-
);
|
|
2938
|
-
const handler = react.useCallback(
|
|
2939
|
-
async (_, { arg }) => {
|
|
2940
|
-
const currentCart = arg?.cart || cartContextData;
|
|
2941
|
-
const { deliveryData } = arg;
|
|
2942
|
-
const firstDeliveryGroup = currentCart?.deliveryGroups?.[0];
|
|
2943
|
-
const deliveryGroupId = firstDeliveryGroup?.id;
|
|
2944
|
-
const selectedOptionCode = deliveryData?.deliveryCustomData?.selected_delivery_option?.code;
|
|
2945
|
-
if (!deliveryGroupId || !selectedOptionCode || selectedOptionCode === firstDeliveryGroup?.selectedDeliveryOption?.code) {
|
|
2946
|
-
return null;
|
|
2947
|
-
}
|
|
2948
|
-
const deliveryGroup = currentCart?.deliveryGroups?.find(
|
|
2949
|
-
(group) => group?.id === deliveryGroupId
|
|
2950
|
-
);
|
|
2951
|
-
const matchedOption = deliveryGroup?.deliveryOptions?.find(
|
|
2952
|
-
(option) => option?.code === selectedOptionCode
|
|
2953
|
-
);
|
|
2954
|
-
if (!matchedOption?.handle) {
|
|
2955
|
-
return null;
|
|
2956
|
-
}
|
|
2957
|
-
const deliveryOptions = [
|
|
2958
|
-
{
|
|
2959
|
-
deliveryGroupId,
|
|
2960
|
-
deliveryOptionHandle: matchedOption.handle
|
|
2961
|
-
}
|
|
2962
|
-
];
|
|
2963
|
-
const updatedCart = await updateCartDeliveryOptions2({
|
|
2964
|
-
selectedDeliveryOptions: deliveryOptions,
|
|
2965
|
-
cartId: currentCart?.id
|
|
2966
|
-
});
|
|
2967
|
-
if (updatedCart && mutateCart) {
|
|
2968
|
-
mutateCart(updatedCart);
|
|
2969
|
-
}
|
|
2970
|
-
return updatedCart;
|
|
2971
|
-
},
|
|
2972
|
-
[cartContextData, updateCartDeliveryOptions2, mutateCart]
|
|
2973
|
-
);
|
|
2974
|
-
return useSWRMutation__default.default("update-cart-delivery-options", handler, options);
|
|
2975
|
-
};
|
|
2976
|
-
var usePlusMemberItemCustomAttributes = ({
|
|
2977
|
-
deliveryData
|
|
2978
|
-
}) => {
|
|
2979
|
-
const { deliveryCustomData } = deliveryData || {};
|
|
2980
|
-
return react.useMemo(() => {
|
|
2981
|
-
const itemCustomAttributes = [];
|
|
2982
|
-
if (deliveryCustomData?.is_presale) {
|
|
2983
|
-
itemCustomAttributes.push({
|
|
2984
|
-
key: "_is_presale",
|
|
2985
|
-
value: "true"
|
|
2986
|
-
});
|
|
2987
|
-
}
|
|
2988
|
-
return itemCustomAttributes;
|
|
2989
|
-
}, [deliveryCustomData]);
|
|
2839
|
+
var usePlusMemberDeliveryCodes = () => {
|
|
2840
|
+
const { selectedShippingMethod } = usePlusMemberContext();
|
|
2841
|
+
return react.useMemo(() => [selectedShippingMethod?.coupon], [selectedShippingMethod?.coupon]);
|
|
2990
2842
|
};
|
|
2991
2843
|
var usePlusMemberCheckoutCustomAttributes = ({
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
variant,
|
|
2995
|
-
isShowShippingBenefits
|
|
2844
|
+
disableShipping = false,
|
|
2845
|
+
isPresaleContains = false
|
|
2996
2846
|
}) => {
|
|
2997
|
-
const {
|
|
2998
|
-
const { profile } = usePlusMemberContext();
|
|
2847
|
+
const { profile, selectedShippingMethod, selectedPlusMemberMode } = usePlusMemberContext();
|
|
2999
2848
|
return react.useMemo(() => {
|
|
3000
2849
|
const checkoutCustomAttributes = [
|
|
3001
|
-
// _last_url: 付费会员结算完成之后 checkout 有一个继续购买的按钮, 用于跳转到继续购买的页面
|
|
3002
2850
|
{
|
|
3003
2851
|
key: "_last_url",
|
|
3004
2852
|
value: typeof window !== "undefined" ? window.location.origin + window.location.pathname : ""
|
|
3005
2853
|
}
|
|
3006
2854
|
];
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
2855
|
+
checkoutCustomAttributes.push({
|
|
2856
|
+
key: "_checkout_delivery_custom",
|
|
2857
|
+
value: JSON.stringify({
|
|
2858
|
+
allow_nextday_delivery: true,
|
|
2859
|
+
allow_thirdday_delivery: true,
|
|
2860
|
+
selected_delivery_option: {
|
|
2861
|
+
code: selectedShippingMethod?.__code,
|
|
2862
|
+
mode: selectedShippingMethod?.__mode
|
|
2863
|
+
},
|
|
2864
|
+
is_presale: isPresaleContains,
|
|
2865
|
+
discount_code: selectedShippingMethod?.coupon ? [selectedShippingMethod.coupon] : [],
|
|
2866
|
+
plus_type: profile?.isPlus ? "free" /* FREE */ : selectedPlusMemberMode,
|
|
2867
|
+
is_prime: profile?.isPlus
|
|
2868
|
+
})
|
|
2869
|
+
});
|
|
2870
|
+
if (disableShipping) {
|
|
3017
2871
|
checkoutCustomAttributes.push({
|
|
3018
2872
|
key: "_hide_shipping",
|
|
3019
2873
|
value: "true"
|
|
3020
2874
|
});
|
|
3021
2875
|
}
|
|
3022
2876
|
return checkoutCustomAttributes;
|
|
3023
|
-
}, [
|
|
2877
|
+
}, [profile, selectedShippingMethod, selectedPlusMemberMode, isPresaleContains]);
|
|
3024
2878
|
};
|
|
3025
2879
|
function useAutoRemovePlusMemberInCart({
|
|
3026
2880
|
cart,
|
|
@@ -3054,13 +2908,13 @@ function usePlusMemberNeedAddToCart({
|
|
|
3054
2908
|
cart,
|
|
3055
2909
|
profile
|
|
3056
2910
|
}) {
|
|
3057
|
-
const { selectedPlusMemberMode,
|
|
2911
|
+
const { selectedPlusMemberMode, selectedPlusMemberVariant, plusMemberMetafields } = usePlusMemberContext();
|
|
3058
2912
|
const { hasMonthlyPlus, hasAnnualPlus } = useHasPlusMemberInCart({
|
|
3059
2913
|
memberSetting: plusMemberMetafields,
|
|
3060
2914
|
cart
|
|
3061
2915
|
});
|
|
3062
|
-
const
|
|
3063
|
-
if (!
|
|
2916
|
+
const plusMemberVariant = react.useMemo(() => {
|
|
2917
|
+
if (!selectedPlusMemberVariant || selectedPlusMemberMode === "free" /* FREE */) {
|
|
3064
2918
|
return void 0;
|
|
3065
2919
|
}
|
|
3066
2920
|
if (selectedPlusMemberMode === "monthly" /* MONTHLY */ && hasMonthlyPlus) {
|
|
@@ -3075,15 +2929,9 @@ function usePlusMemberNeedAddToCart({
|
|
|
3075
2929
|
if (profile?.isAnnualPlus && selectedPlusMemberMode === "annual" /* ANNUAL */) {
|
|
3076
2930
|
return void 0;
|
|
3077
2931
|
}
|
|
3078
|
-
return
|
|
3079
|
-
}, [
|
|
3080
|
-
|
|
3081
|
-
selectedPlusMemberProduct?.variant,
|
|
3082
|
-
selectedPlusMemberProduct?.product,
|
|
3083
|
-
hasMonthlyPlus,
|
|
3084
|
-
hasAnnualPlus
|
|
3085
|
-
]);
|
|
3086
|
-
return plusMemberProduct;
|
|
2932
|
+
return selectedPlusMemberVariant;
|
|
2933
|
+
}, [selectedPlusMemberMode, selectedPlusMemberVariant, hasMonthlyPlus, hasAnnualPlus]);
|
|
2934
|
+
return plusMemberVariant;
|
|
3087
2935
|
}
|
|
3088
2936
|
var PlusMemberProvider = ({
|
|
3089
2937
|
variant,
|
|
@@ -3093,78 +2941,45 @@ var PlusMemberProvider = ({
|
|
|
3093
2941
|
profile,
|
|
3094
2942
|
children
|
|
3095
2943
|
}) => {
|
|
3096
|
-
const { locale } = useShopify();
|
|
3097
|
-
const [zipCode, setZipCode] = react.useState("");
|
|
3098
|
-
const [showTip, setShowTip] = react.useState(false);
|
|
3099
2944
|
const [selectedPlusMemberMode, setSelectedPlusMemberMode] = react.useState(
|
|
3100
2945
|
initialSelectedPlusMemberMode
|
|
3101
2946
|
);
|
|
3102
2947
|
const [selectedShippingMethod, setSelectedShippingMethod] = react.useState();
|
|
3103
|
-
const [allowNextDayDelivery, setAllowNextDayDelivery] = react.useState(false);
|
|
3104
|
-
const [allowThirdDayDelivery, setAllowThirdDayDelivery] = react.useState(false);
|
|
3105
|
-
const [showAreaCheckModal, setShowAreaCheckModal] = react.useState(false);
|
|
3106
2948
|
const [showMoreShippingMethod, setShowMoreShippingMethod] = react.useState(false);
|
|
3107
2949
|
const [showPlusMemberBenefit, setShowPlusMemberBenefit] = react.useState(false);
|
|
3108
|
-
const [deleteMarginBottom, setDeleteMarginBottom] = react.useState(false);
|
|
3109
2950
|
const shippingMethodsContext = useShippingMethods({
|
|
3110
2951
|
variant,
|
|
3111
2952
|
plusMemberMetafields: memberSetting,
|
|
3112
2953
|
selectedPlusMemberMode,
|
|
3113
|
-
profile
|
|
3114
|
-
isPlus: profile?.isPlus || false
|
|
2954
|
+
profile
|
|
3115
2955
|
});
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
return [
|
|
3119
|
-
memberSetting?.plus_monthly_product?.handle,
|
|
3120
|
-
memberSetting?.plus_annual_product?.handle
|
|
3121
|
-
].filter(Boolean);
|
|
3122
|
-
}, [memberSetting]);
|
|
3123
|
-
const { data: plusMemberProducts = [] } = useProductsByHandles({
|
|
3124
|
-
handles: plusMemberHandles
|
|
2956
|
+
const { monthlyVariant, annualVariant } = usePlusMemberVariants({
|
|
2957
|
+
memberSetting
|
|
3125
2958
|
});
|
|
3126
|
-
const
|
|
2959
|
+
const selectedPlusMemberVariant = react.useMemo(() => {
|
|
3127
2960
|
if (selectedPlusMemberMode === "free" /* FREE */) {
|
|
3128
|
-
return
|
|
2961
|
+
return void 0;
|
|
3129
2962
|
}
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
const product2 = plusMemberProducts?.find((p) => p.handle === handle);
|
|
3133
|
-
const variant2 = product2?.variants?.find((v) => v.sku === sku);
|
|
3134
|
-
return product2 && variant2 ? { product: product2, variant: variant2 } : null;
|
|
3135
|
-
}, [plusMemberProducts, memberSetting, selectedPlusMemberMode]);
|
|
2963
|
+
return selectedPlusMemberMode === "monthly" /* MONTHLY */ ? monthlyVariant : annualVariant;
|
|
2964
|
+
}, [monthlyVariant, annualVariant, selectedPlusMemberMode]);
|
|
3136
2965
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3137
2966
|
PlusMemberContext.Provider,
|
|
3138
2967
|
{
|
|
3139
2968
|
value: {
|
|
3140
2969
|
variant,
|
|
3141
|
-
zipCode,
|
|
3142
|
-
setZipCode,
|
|
3143
|
-
allowNextDayDelivery,
|
|
3144
|
-
setAllowNextDayDelivery,
|
|
3145
|
-
allowThirdDayDelivery,
|
|
3146
|
-
setAllowThirdDayDelivery,
|
|
3147
2970
|
plusMemberMetafields: memberSetting,
|
|
3148
2971
|
selectedPlusMemberMode,
|
|
3149
2972
|
setSelectedPlusMemberMode,
|
|
3150
|
-
showAreaCheckModal,
|
|
3151
|
-
setShowAreaCheckModal,
|
|
3152
2973
|
selectedShippingMethod,
|
|
3153
2974
|
setSelectedShippingMethod,
|
|
3154
2975
|
shippingMethodsContext,
|
|
3155
|
-
showTip,
|
|
3156
|
-
setShowTip,
|
|
3157
2976
|
showMoreShippingMethod,
|
|
3158
2977
|
setShowMoreShippingMethod,
|
|
3159
|
-
|
|
3160
|
-
plusMemberProducts,
|
|
2978
|
+
selectedPlusMemberVariant,
|
|
3161
2979
|
product,
|
|
3162
2980
|
showPlusMemberBenefit,
|
|
3163
2981
|
setShowPlusMemberBenefit,
|
|
3164
|
-
|
|
3165
|
-
setDeleteMarginBottom,
|
|
3166
|
-
profile,
|
|
3167
|
-
locale
|
|
2982
|
+
profile
|
|
3168
2983
|
},
|
|
3169
2984
|
children
|
|
3170
2985
|
}
|
|
@@ -3391,7 +3206,11 @@ function CartProvider({
|
|
|
3391
3206
|
refreshDeps: [locale]
|
|
3392
3207
|
}
|
|
3393
3208
|
);
|
|
3394
|
-
const { trigger: updateAttributes } = useUpdateCartAttributes(
|
|
3209
|
+
const { trigger: updateAttributes } = useUpdateCartAttributes({
|
|
3210
|
+
mutate: mutateCart,
|
|
3211
|
+
metafieldIdentifiers,
|
|
3212
|
+
disabled: isCartLoading
|
|
3213
|
+
});
|
|
3395
3214
|
const { attributes } = useCartAttributes({ profile, customer, cart, memberSetting });
|
|
3396
3215
|
ahooks.useRequest(
|
|
3397
3216
|
() => {
|
|
@@ -3612,6 +3431,7 @@ exports.getDiscountEnvAttributeValue = getDiscountEnvAttributeValue;
|
|
|
3612
3431
|
exports.getMatchedMainProductSubTotal = getMatchedMainProductSubTotal;
|
|
3613
3432
|
exports.getQuery = getQuery;
|
|
3614
3433
|
exports.getReferralAttributes = getReferralAttributes;
|
|
3434
|
+
exports.hasPlusMemberInCart = hasPlusMemberInCart;
|
|
3615
3435
|
exports.normalizeAddToCartLines = normalizeAddToCartLines;
|
|
3616
3436
|
exports.preCheck = preCheck;
|
|
3617
3437
|
exports.safeParse = safeParse;
|
|
@@ -3646,13 +3466,11 @@ exports.useExposure = useExposure;
|
|
|
3646
3466
|
exports.useGeoLocation = useGeoLocation;
|
|
3647
3467
|
exports.useHasPlusMemberInCart = useHasPlusMemberInCart;
|
|
3648
3468
|
exports.useIntersection = useIntersection;
|
|
3649
|
-
exports.usePlusAnnualProductVariant = usePlusAnnualProductVariant;
|
|
3650
3469
|
exports.usePlusMemberCheckoutCustomAttributes = usePlusMemberCheckoutCustomAttributes;
|
|
3651
3470
|
exports.usePlusMemberContext = usePlusMemberContext;
|
|
3652
3471
|
exports.usePlusMemberDeliveryCodes = usePlusMemberDeliveryCodes;
|
|
3653
|
-
exports.usePlusMemberItemCustomAttributes = usePlusMemberItemCustomAttributes;
|
|
3654
3472
|
exports.usePlusMemberNeedAddToCart = usePlusMemberNeedAddToCart;
|
|
3655
|
-
exports.
|
|
3473
|
+
exports.usePlusMemberVariants = usePlusMemberVariants;
|
|
3656
3474
|
exports.usePrice = usePrice;
|
|
3657
3475
|
exports.useProduct = useProduct;
|
|
3658
3476
|
exports.useProductUrl = useProductUrl;
|
|
@@ -3663,14 +3481,12 @@ exports.useReplaceCartPlusMember = useReplaceCartPlusMember;
|
|
|
3663
3481
|
exports.useScriptAutoFreeGift = useScriptAutoFreeGift;
|
|
3664
3482
|
exports.useSearch = useSearch;
|
|
3665
3483
|
exports.useSelectedOptions = useSelectedOptions;
|
|
3666
|
-
exports.useShippingMethodAvailableCheck = useShippingMethodAvailableCheck;
|
|
3667
3484
|
exports.useShippingMethods = useShippingMethods;
|
|
3668
3485
|
exports.useShopify = useShopify;
|
|
3669
3486
|
exports.useSite = useSite;
|
|
3670
3487
|
exports.useUpdateCartAttributes = useUpdateCartAttributes;
|
|
3671
3488
|
exports.useUpdateCartLines = useUpdateCartLines;
|
|
3672
3489
|
exports.useUpdateLineCodeAmountAttributes = useUpdateLineCodeAmountAttributes;
|
|
3673
|
-
exports.useUpdatePlusMemberDeliveryOptions = useUpdatePlusMemberDeliveryOptions;
|
|
3674
3490
|
exports.useUpdateVariantQuery = useUpdateVariantQuery;
|
|
3675
3491
|
exports.useVariant = useVariant;
|
|
3676
3492
|
exports.useVariantMedia = useVariantMedia;
|