Files
supabase/packages/common/telemetry.ts
Terry SuttonandIvan Vasilov de28174c1d Chore/www session consent (#31082)
* Store referrer in session storage until opted-in

* Fix

* Move to common file

* Refactor the useTelemetryCookie hook. Use the hook in www, docs and studio.

* Small fixes.

* Fix all usages of HandlePageTelemetry function.

* Fix type errors.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2024-12-18 12:02:20 +01:00

44 lines
986 B
TypeScript

import { post } from './fetchWrappers'
interface TelemetryData {
page_url: string
page_title: string
pathname: string
ph: {
referrer: string
language: string
search: string
viewport_height: number
viewport_width: number
user_agent: string
}
}
export function handlePageTelemetry(API_URL: string, route: string, telemetryData: TelemetryData) {
const { page_url } = telemetryData
const { search, language, viewport_height, viewport_width } = telemetryData.ph
return post(
`${API_URL}/telemetry/page`,
{
page_url,
page_title: document.title,
pathname: route,
ph: {
referrer: document.referrer,
language,
search,
viewport_height,
viewport_width,
user_agent: navigator.userAgent,
},
},
{ headers: { Version: '2' }, credentials: 'include' }
)
}
export function handleResetTelemetry(API_URL: string) {
return post(`${API_URL}/telemetry/reset`, {})
}