From 987751d73223be2bbba2f3e1f847959aa0650752 Mon Sep 17 00:00:00 2001 From: Christian Visintin Date: Mon, 8 Jun 2026 10:29:15 +0200 Subject: [PATCH] chore(site): add site umami analytics --- site/src/analytics.ts | 14 +++++++++ site/src/components/CopyButton.astro | 4 +++ site/src/components/ExplorerHero.astro | 6 ++-- site/src/components/Footer.astro | 21 ++++++++++--- site/src/components/InstallTabs.astro | 1 + site/src/components/Nav.astro | 42 ++++++++++++++++++++++---- 6 files changed, 76 insertions(+), 12 deletions(-) create mode 100644 site/src/analytics.ts diff --git a/site/src/analytics.ts b/site/src/analytics.ts new file mode 100644 index 0000000..89d80a5 --- /dev/null +++ b/site/src/analytics.ts @@ -0,0 +1,14 @@ +interface Umami { + track: (event: string, data?: Record) => void; +} + +declare global { + interface Window { + umami?: Umami; + } +} + +/** Send a custom event to Umami, no-op until the analytics script has loaded. */ +export function track(event: string, data?: Record): void { + window.umami?.track(event, data); +} diff --git a/site/src/components/CopyButton.astro b/site/src/components/CopyButton.astro index 61e5446..fe7eb0a 100644 --- a/site/src/components/CopyButton.astro +++ b/site/src/components/CopyButton.astro @@ -43,6 +43,8 @@ const { text, class: className } = Astro.props;