mirror of
https://github.com/kamranahmedse/developer-roadmap.git
synced 2026-09-24 15:00:31 +08:00
36 lines
747 B
TypeScript
36 lines
747 B
TypeScript
declare global {
|
|
interface Window {
|
|
gtag: any;
|
|
fireEvent: (props: {
|
|
action: string;
|
|
category: string;
|
|
label?: string;
|
|
value?: string;
|
|
}) => void;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Tracks the event on google analytics
|
|
* @see https://developers.google.com/analytics/devguides/collection/gtagjs/events
|
|
* @param props Event properties
|
|
* @returns void
|
|
*/
|
|
window.fireEvent = (props) => {
|
|
const { action, category, label, value } = props;
|
|
if (!window.gtag) {
|
|
console.warn('Missing GTAG - Analytics disabled');
|
|
return;
|
|
}
|
|
|
|
if (import.meta.env.DEV) {
|
|
console.log('Analytics event fired', props);
|
|
}
|
|
|
|
window.gtag('event', action, {
|
|
event_category: category,
|
|
event_label: label,
|
|
value: value,
|
|
});
|
|
};
|