@adkit.so/meta-pixel-react
Version:
React wrapper for Meta Pixel tracking with TypeScript support
42 lines (37 loc) • 1.05 kB
JavaScript
import React, { createContext, useEffect, useContext } from 'react';
import META from '@adkit.so/meta-pixel';
const MetaPixelContext = createContext(null);
function MetaPixelProvider({
children,
pixelIds,
autoTrackPageView = true,
debug = false,
enableLocalhost = false
}) {
useEffect(() => {
if (!META.isLoaded()) {
META.init({
pixelIds,
autoTrackPageView,
debug,
enableLocalhost
});
}
}, [pixelIds, autoTrackPageView, debug, enableLocalhost]);
return /* @__PURE__ */ React.createElement(MetaPixelContext.Provider, { value: META }, children);
}
function useMetaPixel(config) {
const context = useContext(MetaPixelContext);
useEffect(() => {
if (config && !META.isLoaded()) {
META.init(config);
}
}, [config?.pixelIds, config?.autoTrackPageView, config?.debug, config?.enableLocalhost]);
return context || META;
}
function initMetaPixel(config) {
if (!META.isLoaded()) {
META.init(config);
}
}
export { MetaPixelProvider, initMetaPixel, useMetaPixel };