@shopgate/pwa-tracking
Version:
Tracking library for the Shopgate Connect PWA.
26 lines (25 loc) • 668 B
JavaScript
import { productsAdded$ } from "../streams/cart";
import { getAddToCartProducts } from "../selectors/cart";
import getPage from "../selectors/page";
import { track } from "../helpers/index";
/**
* Pages tracking subscriptions.
* @param {Function} subscribe The subscribe function.
*/
export default function cart(subscribe) {
/**
* Gets triggered on product variant change/selection
*/
subscribe(productsAdded$, ({
getState,
action
}) => {
const state = getState();
const products = getAddToCartProducts(state, action.products);
const page = getPage(state);
track('addToCart', {
products,
page
}, state);
});
}