From 07f7a3da351b5ac1ff3f5af4909c788cd30c17bd Mon Sep 17 00:00:00 2001 From: Radiumcoders Date: Thu, 17 Sep 2026 12:45:38 +0530 Subject: [PATCH] feat: replace Umami with Tracwell browser analytics Initialize one client-side Tracwell instance and track completed copy outcomes without extra page-view hooks. Co-authored-by: Cursor --- app/layout.tsx | 8 ++----- components/cli-command.tsx | 9 +++++++ components/component-controls.tsx | 7 ++++++ components/copy-button.tsx | 3 +++ components/mdx-pre.tsx | 2 ++ components/tracwell-analytics.tsx | 39 +++++++++++++++++++++++++++++++ package.json | 1 + pnpm-lock.yaml | 9 +++++++ 8 files changed, 72 insertions(+), 6 deletions(-) create mode 100644 components/tracwell-analytics.tsx diff --git a/app/layout.tsx b/app/layout.tsx index 9767b39..4f16338 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,12 +1,12 @@ import { Geist, Geist_Mono } from "next/font/google" import { RootProvider } from "fumadocs-ui/provider/next" import type { Metadata, Viewport } from "next" -import Script from "next/script" import type { ReactNode } from "react" import { DocsSearchDialog } from "@/components/docs-search-dialog" import { JsonLd } from "@/components/json-ld" import { ThemeProvider } from "@/components/theme-provider" +import { TracwellAnalytics } from "@/components/tracwell-analytics" import { TooltipProvider } from "@/components/ui/tooltip" import { THEME_BOOTSTRAP_SCRIPT } from "@/lib/theme-bootstrap" import { Toaster } from "sonner" @@ -143,11 +143,7 @@ export default function RootLayout({ -