import { getAddedCartItems, getVariant, totalValue } from '../../utils/cart'; import { pushDatalayer } from '../../utils/pushDatalayer'; import type { UpsertTrackingCartRequest } from '../../types'; import type { CartResponse } from '../../../Api/types'; export function addToCartAction( upsertPayload: UpsertTrackingCartRequest, cartPayload: CartResponse, ) { if (!getAddedCartItems(cartPayload, upsertPayload).length) return; pushDatalayer({ event: 'add_to_cart', ecommerce: { currency: 'BRL', value: totalValue(cartPayload, upsertPayload), items: getAddedCartItems(cartPayload, upsertPayload).map(item => { return { item_category: '', coupon: cartPayload.discountMap.coupon?.discountMainCode || '', item_brand: `${item.product.brandId}`, item_id: item.product.productId, item_name: item.product.name, item_variant: getVariant(item), price: item.unitValue, quantity: item.quantity > item.oldQuantity! ? item.quantity - item.oldQuantity! : item.oldQuantity! - item.quantity, }; }), }, }); }