diff --git a/frontend/src/scripts/analytics.ts b/frontend/src/scripts/analytics.ts new file mode 100644 index 0000000..474cb7a --- /dev/null +++ b/frontend/src/scripts/analytics.ts @@ -0,0 +1,17 @@ +import { init as plausibleInit } from '@plausible-analytics/tracker'; + +const ANALYTICS_AUTO_CAPTURE_PAGEVIEWS = true; +const ANALYTICS_DOMAIN = 'decla.red'; +const ANALYTICS_ENDPOINT = 'https://stats.schmelczer.dev/status'; +const ANALYTICS_LOGGING = process.env.NODE_ENV !== 'production'; + +try { + plausibleInit({ + domain: ANALYTICS_DOMAIN, + endpoint: ANALYTICS_ENDPOINT, + autoCapturePageviews: ANALYTICS_AUTO_CAPTURE_PAGEVIEWS, + logging: ANALYTICS_LOGGING, + }); +} catch (error) { + console.warn('Could not initialize analytics.', error); +} diff --git a/frontend/src/scripts/get-insights-from-renderer.ts b/frontend/src/scripts/get-insights-from-renderer.ts deleted file mode 100644 index cb9c3c0..0000000 --- a/frontend/src/scripts/get-insights-from-renderer.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Renderer } from 'sdf-2d'; - -export const getInsightsFromRenderer = ( - renderer?: Renderer, -): { - vendor?: string; - renderer?: string; - fps?: number; - renderScale?: number; - lightScale?: number; - canvasWidth?: number; - canvasHeight?: number; -} => ({ - fps: renderer?.insights?.fps, - vendor: renderer?.insights?.vendor, - renderer: renderer?.insights?.renderer, - renderScale: renderer?.insights?.renderPasses.distance.renderScale, - lightScale: renderer?.insights?.renderPasses.lights.renderScale, - canvasWidth: renderer?.canvasSize.x, - canvasHeight: renderer?.canvasSize.y, -}); diff --git a/frontend/src/scripts/handle-insights.ts b/frontend/src/scripts/handle-insights.ts deleted file mode 100644 index ee84bc4..0000000 --- a/frontend/src/scripts/handle-insights.ts +++ /dev/null @@ -1,28 +0,0 @@ -const baseUri = 'https://insights.decla.red'; -const type = 'decla-red-frontend'; -const updateTime = 15000; - -export const handleInsights = async (initialData: any, getFrameData: () => any) => { - const sessionId = await createSession(initialData); - setInterval(() => createFrame(sessionId, getFrameData()), updateTime); -}; - -const createSession = async (data: any): Promise => { - const response = await sendPostRequest(`${baseUri}/${type}/sessions/`, data); - const { sessionId } = await response.json(); - return sessionId; -}; - -const createFrame = async (sessionId: string, data: any): Promise => - await sendPostRequest(`${baseUri}/${type}/sessions/${sessionId}`, data); - -const sendPostRequest = async (uri: string, data: any): Promise => - await fetch(uri, { - method: 'POST', - mode: 'cors', - redirect: 'follow', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(data), - });