@anker-in/shopify-react 1.2.2-beta.5 → 1.2.2-beta.7
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 +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +39 -37
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +38 -36
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +40 -38
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +39 -37
- 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 +14 -15
- package/dist/provider/index.js.map +1 -1
- package/dist/provider/index.mjs +13 -14
- package/dist/provider/index.mjs.map +1 -1
- package/dist/{types-DnDvCDW-.d.mts → types-Bzg8_e4k.d.mts} +5 -1
- package/dist/{types-DnDvCDW-.d.ts → types-Bzg8_e4k.d.ts} +5 -1
- package/package.json +4 -4
package/dist/index.d.mts
CHANGED
|
@@ -2,7 +2,7 @@ export { AppContext, CartContextValue, CartProvider, CartProviderProps, LoadingS
|
|
|
2
2
|
export { C as CookieAdapter, a as CookieOptions, P as PerformanceAdapter, R as RouterAdapter, U as UserContextAdapter } from './types-SKDHauqk.mjs';
|
|
3
3
|
export { BrowserPerformanceAdapter, browserCartCookieAdapter, browserCookieAdapter } from './adapters/index.mjs';
|
|
4
4
|
export { AddCartLinesInput, ApplyCartCodesInput, AutoFreeGift, AutoFreeGiftCartLineInput, AutoFreeGiftConfig, AutoFreeGiftItem, AutoFreeGiftList, AutoFreeGiftMainProduct, BuyNowInput, BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, Config, CreateCartInput, DiscountLabel, FormattedGift, FunctionGiftResult, GeoLocationData, GetCartAttributesProps, GiftProduct, GiftProductItem, GiftTier, HasPlusMemberInCartProps, HasPlusMemberInCartResult, HasPlusMemberInLinesResult, ImageMedia, LocaleMapping, MAIN_PRODUCT_CODE, MEMBER_PRICE_ATTRIBUTE_KEY, MainProductInfo, NormalizedSearchResultItem, Options, OrderBasePriceType, OrderDiscountConfig, OrderDiscountResult, OrderDiscountType, PlusMemberContext, PlusMemberContextValue, PlusMemberProvider, PlusMemberProviderProps, PriceBasePriceType, PriceDiscountConfig, PriceDiscountType, RemoveCartCodesInput, RemoveCartLinesInput, RewardItem, RuleCondition, RuleType, SCRIPT_CODE_AMOUNT_KEY, SearchResult, SearchResultType, SelectedOptionsResult, ShippingMethodsContext, SiteInfo, SpendMoneyType, TieredDiscount, UpdateBuyerIdentityInput, UpdateCartAttributesInput, UseAllBlogsOptions, UseAllCollectionsOptions, UseAllProductsOptions, UseArticleOptions, UseArticlesInBlogOptions, UseArticlesOptions, UseAutoRemovePlusMemberInCartProps, UseAvailableDeliveryCouponResult, UseBlogOptions, UseBuyNowOptions, UseCalcGiftsFromLinesOptions, UseCalcGiftsFromLinesResult, UseCollectionOptions, UseCollectionsOptions, UseExposureOptions, UseGeoLocationOptions, UseHasPlusMemberInLinesProps, UseIntersectionOptions, UsePlusMemberVariantsOptions, UsePlusMemberVariantsResult, UsePriceOptions, UsePriceResult, UseProductOptions, UseProductsByHandlesOptions, UseSearchOptions, UseShippingMethodsOptions, UseShippingMethodsResult, UseSiteOptions, UseUpdateBuyerIdentityOptions, UseUpdateCartAttributesOptions, VariantItem, VariantMedia, VideoMedia, clearGeoLocationCache, createMockCartFromLines, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, getCachedGeoLocation, getCartBasicAttributes, getDiscountEnvAttributeValue, getGA4Attributes, getGA4AttributesAsync, getMatchedMainProductSubTotal, getOperatingSystem, getQuery, getReferralAttributes, getUserType, hasPlusMemberInCart, hasPlusMemberInLines, 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, useHasPlusMemberInLines, useIntersection, usePlusMemberCheckoutCustomAttributes, usePlusMemberContext, usePlusMemberNeedAddToCart, usePlusMemberVariants, usePrice, useProduct, useProductUrl, useProductsByHandles, useRemoveCartCodes, useRemoveCartLines, useReplaceCartPlusMember, useSearch, useSelectedOptions, useShippingMethods, useSite, useUpdateBuyerIdentity, useUpdateCartAttributes, useUpdateCartLines, useUpdateLineCodeAmountAttributes, useUpdateVariantQuery, useVariant, useVariantMedia } from './hooks/index.mjs';
|
|
5
|
-
export { g as AddToCartInput, A as AddToCartLineItem, C as BuyNowTrackConfig, p as DeliveryCustomData, D as DeliveryPlusType, v as GA4Data, G as GtmParams, P as PLUS_MEMBER_TYPE, j as PlusMemberMode, n as PlusMemberSettingsMetafields, m as PlusMemberShippingMethodConfig, l as PlusMemberShippingMethodMetafields, S as ScriptAutoFreeGiftConfig, o as SelectedPlusMemberVariant, k as ShippingMethodMode, h as UseAddToCartOptions, U as UseAutoRemoveFreeGiftsOptions, a as UseAutoRemoveFreeGiftsResult, e as UseScriptAutoFreeGiftResult, q as gaTrack, x as getGA4ClientId, z as getGA4Data, y as getGA4SessionId, d as isAnyGift, c as isBuyGetGift, i as isFunctionGift, b as isScriptGift, B as trackAddToCartFBQ, t as trackAddToCartGA, r as trackBeginCheckoutGA, E as trackBuyNowFBQ, s as trackBuyNowGA, u as useAutoRemoveFreeGifts, f as useScriptAutoFreeGift, w as waitForGtagReady } from './types-
|
|
5
|
+
export { g as AddToCartInput, A as AddToCartLineItem, C as BuyNowTrackConfig, p as DeliveryCustomData, D as DeliveryPlusType, v as GA4Data, G as GtmParams, P as PLUS_MEMBER_TYPE, j as PlusMemberMode, n as PlusMemberSettingsMetafields, m as PlusMemberShippingMethodConfig, l as PlusMemberShippingMethodMetafields, S as ScriptAutoFreeGiftConfig, o as SelectedPlusMemberVariant, k as ShippingMethodMode, h as UseAddToCartOptions, U as UseAutoRemoveFreeGiftsOptions, a as UseAutoRemoveFreeGiftsResult, e as UseScriptAutoFreeGiftResult, q as gaTrack, x as getGA4ClientId, z as getGA4Data, y as getGA4SessionId, d as isAnyGift, c as isBuyGetGift, i as isFunctionGift, b as isScriptGift, B as trackAddToCartFBQ, t as trackAddToCartGA, r as trackBeginCheckoutGA, E as trackBuyNowFBQ, s as trackBuyNowGA, u as useAutoRemoveFreeGifts, f as useScriptAutoFreeGift, w as waitForGtagReady } from './types-Bzg8_e4k.mjs';
|
|
6
6
|
export * from '@anker-in/shopify-sdk';
|
|
7
7
|
import 'react';
|
|
8
8
|
import 'react/jsx-runtime';
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { AppContext, CartContextValue, CartProvider, CartProviderProps, LoadingS
|
|
|
2
2
|
export { C as CookieAdapter, a as CookieOptions, P as PerformanceAdapter, R as RouterAdapter, U as UserContextAdapter } from './types-SKDHauqk.js';
|
|
3
3
|
export { BrowserPerformanceAdapter, browserCartCookieAdapter, browserCookieAdapter } from './adapters/index.js';
|
|
4
4
|
export { AddCartLinesInput, ApplyCartCodesInput, AutoFreeGift, AutoFreeGiftCartLineInput, AutoFreeGiftConfig, AutoFreeGiftItem, AutoFreeGiftList, AutoFreeGiftMainProduct, BuyNowInput, BuyRuleType, CODE_AMOUNT_KEY, CUSTOMER_ATTRIBUTE_KEY, CUSTOMER_SCRIPT_GIFT_KEY, Config, CreateCartInput, DiscountLabel, FormattedGift, FunctionGiftResult, GeoLocationData, GetCartAttributesProps, GiftProduct, GiftProductItem, GiftTier, HasPlusMemberInCartProps, HasPlusMemberInCartResult, HasPlusMemberInLinesResult, ImageMedia, LocaleMapping, MAIN_PRODUCT_CODE, MEMBER_PRICE_ATTRIBUTE_KEY, MainProductInfo, NormalizedSearchResultItem, Options, OrderBasePriceType, OrderDiscountConfig, OrderDiscountResult, OrderDiscountType, PlusMemberContext, PlusMemberContextValue, PlusMemberProvider, PlusMemberProviderProps, PriceBasePriceType, PriceDiscountConfig, PriceDiscountType, RemoveCartCodesInput, RemoveCartLinesInput, RewardItem, RuleCondition, RuleType, SCRIPT_CODE_AMOUNT_KEY, SearchResult, SearchResultType, SelectedOptionsResult, ShippingMethodsContext, SiteInfo, SpendMoneyType, TieredDiscount, UpdateBuyerIdentityInput, UpdateCartAttributesInput, UseAllBlogsOptions, UseAllCollectionsOptions, UseAllProductsOptions, UseArticleOptions, UseArticlesInBlogOptions, UseArticlesOptions, UseAutoRemovePlusMemberInCartProps, UseAvailableDeliveryCouponResult, UseBlogOptions, UseBuyNowOptions, UseCalcGiftsFromLinesOptions, UseCalcGiftsFromLinesResult, UseCollectionOptions, UseCollectionsOptions, UseExposureOptions, UseGeoLocationOptions, UseHasPlusMemberInLinesProps, UseIntersectionOptions, UsePlusMemberVariantsOptions, UsePlusMemberVariantsResult, UsePriceOptions, UsePriceResult, UseProductOptions, UseProductsByHandlesOptions, UseSearchOptions, UseShippingMethodsOptions, UseShippingMethodsResult, UseSiteOptions, UseUpdateBuyerIdentityOptions, UseUpdateCartAttributesOptions, VariantItem, VariantMedia, VideoMedia, clearGeoLocationCache, createMockCartFromLines, currencyCodeMapping, defaultSWRMutationConfiguration, formatFunctionAutoFreeGift, formatScriptAutoFreeGift, getCachedGeoLocation, getCartBasicAttributes, getDiscountEnvAttributeValue, getGA4Attributes, getGA4AttributesAsync, getMatchedMainProductSubTotal, getOperatingSystem, getQuery, getReferralAttributes, getUserType, hasPlusMemberInCart, hasPlusMemberInLines, 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, useHasPlusMemberInLines, useIntersection, usePlusMemberCheckoutCustomAttributes, usePlusMemberContext, usePlusMemberNeedAddToCart, usePlusMemberVariants, usePrice, useProduct, useProductUrl, useProductsByHandles, useRemoveCartCodes, useRemoveCartLines, useReplaceCartPlusMember, useSearch, useSelectedOptions, useShippingMethods, useSite, useUpdateBuyerIdentity, useUpdateCartAttributes, useUpdateCartLines, useUpdateLineCodeAmountAttributes, useUpdateVariantQuery, useVariant, useVariantMedia } from './hooks/index.js';
|
|
5
|
-
export { g as AddToCartInput, A as AddToCartLineItem, C as BuyNowTrackConfig, p as DeliveryCustomData, D as DeliveryPlusType, v as GA4Data, G as GtmParams, P as PLUS_MEMBER_TYPE, j as PlusMemberMode, n as PlusMemberSettingsMetafields, m as PlusMemberShippingMethodConfig, l as PlusMemberShippingMethodMetafields, S as ScriptAutoFreeGiftConfig, o as SelectedPlusMemberVariant, k as ShippingMethodMode, h as UseAddToCartOptions, U as UseAutoRemoveFreeGiftsOptions, a as UseAutoRemoveFreeGiftsResult, e as UseScriptAutoFreeGiftResult, q as gaTrack, x as getGA4ClientId, z as getGA4Data, y as getGA4SessionId, d as isAnyGift, c as isBuyGetGift, i as isFunctionGift, b as isScriptGift, B as trackAddToCartFBQ, t as trackAddToCartGA, r as trackBeginCheckoutGA, E as trackBuyNowFBQ, s as trackBuyNowGA, u as useAutoRemoveFreeGifts, f as useScriptAutoFreeGift, w as waitForGtagReady } from './types-
|
|
5
|
+
export { g as AddToCartInput, A as AddToCartLineItem, C as BuyNowTrackConfig, p as DeliveryCustomData, D as DeliveryPlusType, v as GA4Data, G as GtmParams, P as PLUS_MEMBER_TYPE, j as PlusMemberMode, n as PlusMemberSettingsMetafields, m as PlusMemberShippingMethodConfig, l as PlusMemberShippingMethodMetafields, S as ScriptAutoFreeGiftConfig, o as SelectedPlusMemberVariant, k as ShippingMethodMode, h as UseAddToCartOptions, U as UseAutoRemoveFreeGiftsOptions, a as UseAutoRemoveFreeGiftsResult, e as UseScriptAutoFreeGiftResult, q as gaTrack, x as getGA4ClientId, z as getGA4Data, y as getGA4SessionId, d as isAnyGift, c as isBuyGetGift, i as isFunctionGift, b as isScriptGift, B as trackAddToCartFBQ, t as trackAddToCartGA, r as trackBeginCheckoutGA, E as trackBuyNowFBQ, s as trackBuyNowGA, u as useAutoRemoveFreeGifts, f as useScriptAutoFreeGift, w as waitForGtagReady } from './types-Bzg8_e4k.js';
|
|
6
6
|
export * from '@anker-in/shopify-sdk';
|
|
7
7
|
import 'react';
|
|
8
8
|
import 'react/jsx-runtime';
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ var react = require('react');
|
|
|
4
4
|
var shopifySdk = require('@anker-in/shopify-sdk');
|
|
5
5
|
var Cookies5 = require('js-cookie');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
var
|
|
7
|
+
var Decimal3 = require('decimal.js');
|
|
8
8
|
var shopifyCore = require('@anker-in/shopify-core');
|
|
9
9
|
var useSWR = require('swr');
|
|
10
10
|
var useSWRMutation = require('swr/mutation');
|
|
@@ -13,7 +13,7 @@ var ahooks = require('ahooks');
|
|
|
13
13
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
|
|
15
15
|
var Cookies5__default = /*#__PURE__*/_interopDefault(Cookies5);
|
|
16
|
-
var
|
|
16
|
+
var Decimal3__default = /*#__PURE__*/_interopDefault(Decimal3);
|
|
17
17
|
var useSWR__default = /*#__PURE__*/_interopDefault(useSWR);
|
|
18
18
|
var useSWRMutation__default = /*#__PURE__*/_interopDefault(useSWRMutation);
|
|
19
19
|
|
|
@@ -160,8 +160,6 @@ var CODE_AMOUNT_KEY = "_sku_code_money";
|
|
|
160
160
|
var SCRIPT_CODE_AMOUNT_KEY = "_code_money";
|
|
161
161
|
var MEMBER_PRICE_ATTRIBUTE_KEY = "_member_price";
|
|
162
162
|
var MAIN_PRODUCT_CODE = ["WS24", "WSTD", "WS7D", "WSCP", "WSPE", "WSPD"];
|
|
163
|
-
|
|
164
|
-
// src/hooks/cart/utils/normalize-add-to-cart-lines.ts
|
|
165
163
|
function normalizeAddToCartLines(lines) {
|
|
166
164
|
return lines.filter((line) => line.variant?.id).map((line, index) => {
|
|
167
165
|
const variant = line.variant;
|
|
@@ -169,8 +167,8 @@ function normalizeAddToCartLines(lines) {
|
|
|
169
167
|
const quantity = line.quantity || 1;
|
|
170
168
|
const originalPrice = variant.price?.amount ? Number(variant.price.amount) : 0;
|
|
171
169
|
const finalPrice = variant.finalPrice?.amount === void 0 ? originalPrice : Number(variant.finalPrice?.amount);
|
|
172
|
-
const subtotalAmount = originalPrice
|
|
173
|
-
const totalAmount = finalPrice
|
|
170
|
+
const subtotalAmount = new Decimal3__default.default(originalPrice).times(quantity).toNumber();
|
|
171
|
+
const totalAmount = new Decimal3__default.default(finalPrice).times(quantity).toNumber();
|
|
174
172
|
return {
|
|
175
173
|
id: `temp-line-${index}-${variant.id}`,
|
|
176
174
|
// Temporary ID for pre-cart lines
|
|
@@ -178,6 +176,7 @@ function normalizeAddToCartLines(lines) {
|
|
|
178
176
|
quantity,
|
|
179
177
|
variantId: variant.id,
|
|
180
178
|
productId: product?.id || variant.id.split("/").slice(0, -2).join("/"),
|
|
179
|
+
amountPerQuantity: finalPrice,
|
|
181
180
|
totalAmount,
|
|
182
181
|
subtotalAmount,
|
|
183
182
|
discountAllocations: [],
|
|
@@ -362,7 +361,7 @@ var formatScriptAutoFreeGift = ({
|
|
|
362
361
|
path: product?.handle || "",
|
|
363
362
|
variant,
|
|
364
363
|
totalAmount: 0,
|
|
365
|
-
subtotalAmount: new
|
|
364
|
+
subtotalAmount: new Decimal3__default.default(
|
|
366
365
|
typeof variant?.price === "object" ? variant?.price?.amount || 0 : variant?.price || 0
|
|
367
366
|
).toNumber(),
|
|
368
367
|
options: [],
|
|
@@ -422,7 +421,7 @@ var formatFunctionAutoFreeGift = ({
|
|
|
422
421
|
path: product?.handle || "",
|
|
423
422
|
variant,
|
|
424
423
|
totalAmount: 0,
|
|
425
|
-
subtotalAmount: new
|
|
424
|
+
subtotalAmount: new Decimal3__default.default(
|
|
426
425
|
typeof variant?.price === "object" ? variant?.price?.amount || 0 : variant?.price || 0
|
|
427
426
|
).toNumber(),
|
|
428
427
|
options: [],
|
|
@@ -652,7 +651,7 @@ var useScriptAutoFreeGift = ({
|
|
|
652
651
|
const breakpoints = react.useMemo(() => {
|
|
653
652
|
if (!isActivityAvailable) return [];
|
|
654
653
|
return (campaign?.breakpoints || []).map((item) => ({
|
|
655
|
-
breakpoint: new
|
|
654
|
+
breakpoint: new Decimal3__default.default(item.breakpoint).minus(new Decimal3__default.default(upgrade_value)).dividedBy(new Decimal3__default.default(upgrade_multiple)).toFixed(2, Decimal3__default.default.ROUND_DOWN),
|
|
656
655
|
giveawayProducts: item.giveawayProducts || []
|
|
657
656
|
}));
|
|
658
657
|
}, [campaign, upgrade_multiple, upgrade_value]);
|
|
@@ -687,11 +686,11 @@ var useScriptAutoFreeGift = ({
|
|
|
687
686
|
});
|
|
688
687
|
}, [effectiveCart?.lineItems, isActivityAvailable, _giveaway]);
|
|
689
688
|
const involvedSubTotal = react.useMemo(() => {
|
|
690
|
-
if (!isActivityAvailable) return new
|
|
689
|
+
if (!isActivityAvailable) return new Decimal3__default.default(0);
|
|
691
690
|
return involvedLines.reduce((prev, item) => {
|
|
692
691
|
const amount = campaign?.useTotalAmount ? item.totalAmount : item.subtotalAmount;
|
|
693
|
-
return new
|
|
694
|
-
}, new
|
|
692
|
+
return new Decimal3__default.default(prev).plus(new Decimal3__default.default(amount || 0));
|
|
693
|
+
}, new Decimal3__default.default(0));
|
|
695
694
|
}, [involvedLines, isActivityAvailable]);
|
|
696
695
|
const [freeGiftLevel, nextFreeGiftLevel] = react.useMemo(() => {
|
|
697
696
|
if (!isActivityAvailable) return [null, null];
|
|
@@ -699,7 +698,7 @@ var useScriptAutoFreeGift = ({
|
|
|
699
698
|
(a, b) => Number(b.breakpoint) - Number(a.breakpoint)
|
|
700
699
|
);
|
|
701
700
|
const levelIndex = sortedLevels.findIndex(
|
|
702
|
-
(level) => involvedSubTotal.gte(new
|
|
701
|
+
(level) => involvedSubTotal.gte(new Decimal3__default.default(level.breakpoint)) && involvedLines.length > 0
|
|
703
702
|
);
|
|
704
703
|
if (levelIndex === -1) {
|
|
705
704
|
return [
|
|
@@ -870,7 +869,7 @@ var trackAddToCartGA = ({
|
|
|
870
869
|
return;
|
|
871
870
|
}
|
|
872
871
|
const currencyCode = lineItems[0].product?.price?.currencyCode;
|
|
873
|
-
const totalPrice = lineItems.reduce((prev, item) => prev.plus(item.
|
|
872
|
+
const totalPrice = lineItems.reduce((prev, item) => prev.plus(item.totalAmount || 0), new Decimal3__default.default(0)).toNumber();
|
|
874
873
|
gaTrack({
|
|
875
874
|
event: "ga4Event",
|
|
876
875
|
event_name: "add_to_cart",
|
|
@@ -912,7 +911,7 @@ var trackBeginCheckoutGA = ({
|
|
|
912
911
|
(prev, { variant }) => prev.plus(
|
|
913
912
|
variant?.finalPrice?.amount === void 0 ? Number(variant?.price?.amount) || 0 : Number(variant?.finalPrice?.amount) || 0
|
|
914
913
|
),
|
|
915
|
-
new
|
|
914
|
+
new Decimal3__default.default(0)
|
|
916
915
|
).toNumber();
|
|
917
916
|
gaTrack({
|
|
918
917
|
event: "ga4Event",
|
|
@@ -947,36 +946,30 @@ var trackBuyNowGA = ({
|
|
|
947
946
|
lineItems = [],
|
|
948
947
|
gtmParams = {}
|
|
949
948
|
}) => {
|
|
950
|
-
if (!lineItems.length
|
|
949
|
+
if (!lineItems.length) {
|
|
951
950
|
return;
|
|
952
951
|
}
|
|
953
|
-
const
|
|
954
|
-
const
|
|
955
|
-
const totalPrice = lineItems?.reduce(
|
|
956
|
-
(prev, { variant: variant2 }) => prev.plus(
|
|
957
|
-
variant2?.finalPrice?.amount === void 0 ? Number(variant2?.price?.amount) || 0 : Number(variant2?.finalPrice?.amount) || 0
|
|
958
|
-
),
|
|
959
|
-
new Decimal2__default.default(0)
|
|
960
|
-
).toNumber();
|
|
952
|
+
const currencyCode = lineItems[0].product?.price?.currencyCode;
|
|
953
|
+
const totalPrice = lineItems.reduce((prev, item) => prev.plus(item.totalAmount || 0), new Decimal3__default.default(0)).toNumber();
|
|
961
954
|
gaTrack({
|
|
962
955
|
event: "ga4Event",
|
|
963
956
|
event_name: "begin_checkout",
|
|
964
957
|
event_parameters: {
|
|
965
958
|
page_group: gtmParams?.pageGroup,
|
|
966
|
-
position: gtmParams?.position,
|
|
959
|
+
position: gtmParams?.position || "",
|
|
967
960
|
currency: currencyCode,
|
|
968
961
|
value: totalPrice,
|
|
969
962
|
items: lineItems.map((item) => {
|
|
970
|
-
const imageUrl = item.variant
|
|
963
|
+
const imageUrl = item.variant.image?.url || item.product?.images?.[0]?.url;
|
|
971
964
|
const itemCategoryId = item.gtmParams?.item_category_id;
|
|
972
|
-
const itemVariantId = item.variant
|
|
965
|
+
const itemVariantId = item.variant.id ? shopifyCore.atobID(item.variant.id) : void 0;
|
|
973
966
|
return {
|
|
974
|
-
item_id: item.variant
|
|
975
|
-
item_name: item.
|
|
967
|
+
item_id: item.variant.sku,
|
|
968
|
+
item_name: item.product?.title,
|
|
976
969
|
item_brand: gtmParams?.brand || "",
|
|
977
|
-
item_category: item.
|
|
978
|
-
item_variant: item.variant
|
|
979
|
-
price: item.variant
|
|
970
|
+
item_category: item.product?.productType || "",
|
|
971
|
+
item_variant: item.variant.name,
|
|
972
|
+
price: item.variant.listPrice ?? item.variant.price,
|
|
980
973
|
quantity: item.quantity || 1,
|
|
981
974
|
...imageUrl && { image_url: imageUrl },
|
|
982
975
|
...itemCategoryId !== void 0 && { item_category_id: itemCategoryId },
|
|
@@ -1213,7 +1206,7 @@ var initDiscountAttributes = ({ line }) => {
|
|
|
1213
1206
|
key: CUSTOMER_ATTRIBUTE_KEY,
|
|
1214
1207
|
value: JSON.stringify({
|
|
1215
1208
|
is_gift: false,
|
|
1216
|
-
discounted_amount: new
|
|
1209
|
+
discounted_amount: new Decimal3__default.default(priceAmount).times(line.quantity || 1).toNumber()
|
|
1217
1210
|
})
|
|
1218
1211
|
}
|
|
1219
1212
|
]);
|
|
@@ -1237,11 +1230,11 @@ var initDiscountAttributes = ({ line }) => {
|
|
|
1237
1230
|
itemAttributes = itemAttributes.concat([
|
|
1238
1231
|
{
|
|
1239
1232
|
key: CODE_AMOUNT_KEY,
|
|
1240
|
-
value: new
|
|
1233
|
+
value: new Decimal3__default.default(coupon.amount).times(line.quantity || 1).toString()
|
|
1241
1234
|
},
|
|
1242
1235
|
{
|
|
1243
1236
|
key: SCRIPT_CODE_AMOUNT_KEY,
|
|
1244
|
-
value: new
|
|
1237
|
+
value: new Decimal3__default.default(coupon.amount).times(line.quantity || 1).toString()
|
|
1245
1238
|
}
|
|
1246
1239
|
]);
|
|
1247
1240
|
}
|
|
@@ -1699,8 +1692,8 @@ function getCartBasicAttributes({
|
|
|
1699
1692
|
{
|
|
1700
1693
|
key: "_weight",
|
|
1701
1694
|
value: cart?.lineItems?.reduce((acc, item) => {
|
|
1702
|
-
const itemWeight = new
|
|
1703
|
-
return new
|
|
1695
|
+
const itemWeight = new Decimal3__default.default(item.variant.weight ?? 0).times(item.quantity);
|
|
1696
|
+
return new Decimal3__default.default(acc).plus(itemWeight).toNumber();
|
|
1704
1697
|
}, 0).toString()
|
|
1705
1698
|
}
|
|
1706
1699
|
];
|
|
@@ -2725,7 +2718,16 @@ function useBuyNow({ withTrack = true } = {}, swrOptions) {
|
|
|
2725
2718
|
}
|
|
2726
2719
|
if (withTrack && resultCart.lineItems) {
|
|
2727
2720
|
trackBuyNowGA({
|
|
2728
|
-
lineItems
|
|
2721
|
+
lineItems: lineItems.map((item) => {
|
|
2722
|
+
const cartLine = resultCart.lineItems.find((line) => line.variant.id === item.variant?.id);
|
|
2723
|
+
if (!cartLine) {
|
|
2724
|
+
return null;
|
|
2725
|
+
}
|
|
2726
|
+
return {
|
|
2727
|
+
...cartLine,
|
|
2728
|
+
quantity: item.quantity
|
|
2729
|
+
};
|
|
2730
|
+
}).filter(Boolean),
|
|
2729
2731
|
gtmParams: { ...gtmParams, brand: config.getBrand() }
|
|
2730
2732
|
});
|
|
2731
2733
|
if (fbqTrackConfig) {
|