@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/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, updateCartDeliveryOptions } from '@anker-in/shopify-sdk';
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(mutate, metafieldIdentifiers, options) {
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, options);
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 useHasPlusMemberInCart({
1568
+ function hasPlusMemberInCart({
1562
1569
  memberSetting,
1563
1570
  cart
1564
1571
  }) {
1565
1572
  const { plus_monthly_product, plus_annual_product } = memberSetting || {};
1566
- return useMemo(() => {
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
- }, [cart?.lineItems, plus_monthly_product, plus_annual_product]);
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
- selectedPlusMemberProduct: null,
2608
- plusMemberProducts: [],
2607
+ selectedPlusMemberVariant: void 0,
2609
2608
  showPlusMemberBenefit: false,
2610
2609
  setShowPlusMemberBenefit: () => {
2611
2610
  },
2612
- deleteMarginBottom: false,
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 usePlusMonthlyProductVariant() {
2623
- const { plusMemberProducts, plusMemberMetafields } = usePlusMemberContext();
2624
- const plusMonthly = plusMemberMetafields?.plus_monthly_product;
2625
- const plusMonthlyProductVariant = useMemo(() => {
2626
- const product = plusMemberProducts?.find(
2627
- (item) => item?.handle === plusMonthly?.handle
2628
- );
2629
- const productVariant = product?.variants?.find(
2630
- (item) => item.sku === plusMonthly?.sku
2631
- );
2632
- return productVariant;
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
- return plusMonthlyProductVariant;
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
- return plusAnnualProductVariant;
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, isPlus = false, profile } = options;
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
- deliveryData
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
- deliveryData,
2985
- product,
2986
- variant,
2987
- isShowShippingBenefits
2836
+ disableShipping = false,
2837
+ isPresaleContains = false
2988
2838
  }) => {
2989
- const { deliveryCustomData } = deliveryData || {};
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
- if (deliveryCustomData) {
3000
- checkoutCustomAttributes.push({
3001
- key: "_checkout_delivery_custom",
3002
- value: JSON.stringify({
3003
- ...deliveryCustomData,
3004
- is_prime: profile?.isPlus
3005
- })
3006
- });
3007
- }
3008
- if (isShowShippingBenefits && !isShowShippingBenefits({ variant, product, setting: {} })) {
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
- }, [deliveryCustomData, product, profile, variant, isShowShippingBenefits]);
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, selectedPlusMemberProduct, plusMemberMetafields } = usePlusMemberContext();
2903
+ const { selectedPlusMemberMode, selectedPlusMemberVariant, plusMemberMetafields } = usePlusMemberContext();
3050
2904
  const { hasMonthlyPlus, hasAnnualPlus } = useHasPlusMemberInCart({
3051
2905
  memberSetting: plusMemberMetafields,
3052
2906
  cart
3053
2907
  });
3054
- const plusMemberProduct = useMemo(() => {
3055
- if (!selectedPlusMemberProduct || selectedPlusMemberMode === "free" /* FREE */) {
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 selectedPlusMemberProduct;
3071
- }, [
3072
- selectedPlusMemberMode,
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
- console.log("shippingMethodsContext", shippingMethodsContext);
3109
- const plusMemberHandles = useMemo(() => {
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 selectedPlusMemberProduct = useMemo(() => {
2951
+ const selectedPlusMemberVariant = useMemo(() => {
3119
2952
  if (selectedPlusMemberMode === "free" /* FREE */) {
3120
- return null;
2953
+ return void 0;
3121
2954
  }
3122
- const handle = selectedPlusMemberMode === "monthly" /* MONTHLY */ ? memberSetting?.plus_monthly_product?.handle : memberSetting?.plus_annual_product?.handle;
3123
- const sku = selectedPlusMemberMode === "monthly" /* MONTHLY */ ? memberSetting?.plus_monthly_product?.sku : memberSetting?.plus_annual_product?.sku;
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
- selectedPlusMemberProduct,
3152
- plusMemberProducts,
2970
+ selectedPlusMemberVariant,
3153
2971
  product,
3154
2972
  showPlusMemberBenefit,
3155
2973
  setShowPlusMemberBenefit,
3156
- deleteMarginBottom,
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(mutateCart, metafieldIdentifiers);
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, usePlusAnnualProductVariant, usePlusMemberCheckoutCustomAttributes, usePlusMemberContext, usePlusMemberDeliveryCodes, usePlusMemberItemCustomAttributes, usePlusMemberNeedAddToCart, usePlusMonthlyProductVariant, usePrice, useProduct, useProductUrl, useProductsByHandles, useRemoveCartCodes, useRemoveCartLines, useReplaceCartPlusMember, useScriptAutoFreeGift, useSearch, useSelectedOptions, useShippingMethodAvailableCheck, useShippingMethods, useShopify, useSite, useUpdateCartAttributes, useUpdateCartLines, useUpdateLineCodeAmountAttributes, useUpdatePlusMemberDeliveryOptions, useUpdateVariantQuery, useVariant, useVariantMedia };
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