@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
40 lines (32 loc) • 1.15 kB
text/typescript
import { eventForEntry, eventForComponent, extensionsEvents } from "./helper";
import { log_debug } from "../logger";
import { postAnalyticEvent } from "../manager";
import { ANALYTICS_CORE_EVENTS } from "../events";
type SendHeaderClickEventProps = {
extraProps: ExtraProps;
component?: ZappUIComponent;
zappPipesData?: ZappPipesData;
item?: ZappEntry;
};
export const sendHeaderClickEvent = ({
extraProps,
component,
zappPipesData,
item,
}: SendHeaderClickEventProps) => {
const componentData = component || extraProps.component;
const data = zappPipesData || extraProps.zappPipesData;
const eventName = ANALYTICS_CORE_EVENTS.TAP_CELL;
const analyticsCustomProperties = extensionsEvents(item?.extensions);
const analyticsProps = {
...eventForEntry(extraProps?.item, extraProps?.index),
...eventForComponent(componentData, data?.data?.title, data),
};
if (analyticsCustomProperties) {
analyticsProps.analyticsCustomProperties = analyticsCustomProperties;
}
postAnalyticEvent(eventName, analyticsProps);
log_debug(`sendMenuClickEvent: send event: ${eventName}`, {
analyticsProps,
});
};