import { getAddedCartItems, getVariant, totalValue } from '../../utils/cart'; import { pushDatalayer } from '../../utils/pushDatalayer'; import type { CartResponse } from '../../../Api/types'; export function purchaseAction( paymentMethod: string, cartPayload: CartResponse, ) { pushDatalayer({ event: 'purchase', ecommerce: { currency: 'BRL', affiliation: 'Loja Virtual', payment_status: 'em aberto', payment_type: paymentMethod, shipping: cartPayload.shippingValue, shipping_tier: cartPayload.orders[0].shippingOptions.find( shippingOption => shippingOption.selected, )!.label, tax: 0, transaction_id: '', value: totalValue(cartPayload), coupon: cartPayload.discountMap.coupon?.discountMainCode || '', items: getAddedCartItems(cartPayload).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, }; }), }, }); }