-
Notifications
You must be signed in to change notification settings - Fork 4
/
mixpanel.ts
30 lines (27 loc) ยท 719 Bytes
/
mixpanel.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import mixpanel, { Dict, Query } from 'mixpanel-browser';
const token = process.env.NEXT_PUBLIC_MIXPANEL_TOKEN as string;
const isPrd = process.env.NEXT_PUBLIC_ENV === 'prd';
mixpanel.init(token);
export const Mixpanel = {
tk: token,
identify: (id: string) => {
isPrd && mixpanel.identify(id);
},
alias: (id: string) => {
isPrd && mixpanel.alias(id);
},
track: (name: string, props?: Dict) => {
isPrd && mixpanel.track(name, props);
},
track_links: (query: Query, name: string) => {
isPrd &&
mixpanel.track_links(query, name, {
referrer: document.referrer,
});
},
people: {
set: (props: Dict) => {
isPrd && mixpanel.people.set(props);
},
},
};