mirror of
https://github.com/supabase/supabase.git
synced 2026-10-08 02:45:07 +03:00
43 lines
995 B
TypeScript
43 lines
995 B
TypeScript
import { post } from '~/lib/fetchWrapper'
|
|
import { API_URL, IS_PROD, IS_PREVIEW } from 'lib/constants'
|
|
import { NextRouter } from 'next/router'
|
|
|
|
export interface TelemetryEvent {
|
|
category: string
|
|
action: string
|
|
label: string
|
|
value?: string
|
|
}
|
|
|
|
export interface TelemetryProps {
|
|
screenResolution?: string
|
|
language: string
|
|
}
|
|
|
|
// This event is the same as in studio/lib/telemetry.tx
|
|
// but uses different ENV variables for www
|
|
|
|
const sendEvent = (event: TelemetryEvent, gaProps: TelemetryProps, router: NextRouter) => {
|
|
if (!IS_PROD && !IS_PREVIEW) return
|
|
|
|
const { category, action, label, value } = event
|
|
|
|
return post(`${API_URL}/telemetry/event`, {
|
|
action: action,
|
|
category: category,
|
|
label: label,
|
|
value: value,
|
|
page_referrer: document?.referrer,
|
|
page_title: document?.title,
|
|
page_location: router.asPath,
|
|
ga: {
|
|
screen_resolution: gaProps?.screenResolution,
|
|
language: gaProps?.language,
|
|
},
|
|
})
|
|
}
|
|
|
|
export default {
|
|
sendEvent,
|
|
}
|