From e387b035720545f06ccf2d6639c596786802efa9 Mon Sep 17 00:00:00 2001 From: Jo D Date: Thu, 19 Mar 2026 09:56:08 -0400 Subject: [PATCH] feat(web): add Vercel Analytics --- apps/web/next-env.d.ts | 2 +- apps/web/package.json | 5 +++-- apps/web/src/app/layout.tsx | 2 ++ pnpm-lock.yaml | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 3 deletions(-) diff --git a/apps/web/next-env.d.ts b/apps/web/next-env.d.ts index 1511519..20e7bcf 100644 --- a/apps/web/next-env.d.ts +++ b/apps/web/next-env.d.ts @@ -1,6 +1,6 @@ /// /// -import './.next/types/routes.d.ts'; +import './.next/dev/types/routes.d.ts'; // NOTE: This file should not be edited // see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/apps/web/package.json b/apps/web/package.json index 3c54fed..fb47649 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -23,6 +23,7 @@ "@solana/wallet-adapter-react-ui": "^0.9.39", "@solana/wallet-adapter-wallets": "^0.19.37", "@solana/web3.js": "^1.98.4", + "@vercel/analytics": "^2.0.1", "clsx": "^2.1.1", "motion": "^12.26.0", "next": "^16.1.6", @@ -30,13 +31,13 @@ "react-dom": "^19.2.4" }, "devDependencies": { + "@playwright/test": "^1.50.0", "@tailwindcss/postcss": "^4.2.1", "@types/node": "^25.5.0", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "dotenv": "^16.4.7", "tailwindcss": "^4.2.1", - "typescript": "^5.9.3", - "@playwright/test": "^1.50.0" + "typescript": "^5.9.3" } } diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index 8fcf0ef..f88c26a 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -2,6 +2,7 @@ import type { Metadata } from 'next'; import './globals.css'; import '@solana/wallet-adapter-react-ui/styles.css'; import { Providers } from '@/components/Providers'; +import { Analytics } from '@vercel/analytics/next'; export const metadata: Metadata = { title: 'Escrow Program', @@ -13,6 +14,7 @@ export default function RootLayout({ children }: { children: React.ReactNode }) {children} + ); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d4e228d..66a4b0c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -137,6 +137,9 @@ importers: '@solana/web3.js': specifier: ^1.98.4 version: 1.98.4(bufferutil@4.1.0)(typescript@5.9.3)(utf-8-validate@6.0.6) + '@vercel/analytics': + specifier: ^2.0.1 + version: 2.0.1(next@16.1.6(@babel/core@7.28.5)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4) clsx: specifier: ^2.1.1 version: 2.1.1 @@ -3886,6 +3889,35 @@ packages: cpu: [x64] os: [win32] + '@vercel/analytics@2.0.1': + resolution: {integrity: sha512-MTQG6V9qQrt1tsDeF+2Uoo5aPjqbVPys1xvnIftXSJYG2SrwXRHnqEvVoYID7BTruDz4lCd2Z7rM1BdkUehk2g==} + peerDependencies: + '@remix-run/react': ^2 + '@sveltejs/kit': ^1 || ^2 + next: '>= 13' + nuxt: '>= 3' + react: ^18 || ^19 || ^19.0.0-rc + svelte: '>= 4' + vue: ^3 + vue-router: ^4 + peerDependenciesMeta: + '@remix-run/react': + optional: true + '@sveltejs/kit': + optional: true + next: + optional: true + nuxt: + optional: true + react: + optional: true + svelte: + optional: true + vue: + optional: true + vue-router: + optional: true + '@wallet-standard/app@1.1.0': resolution: {integrity: sha512-3CijvrO9utx598kjr45hTbbeeykQrQfKmSnxeWOgU25TOEpvcipD/bYDQWIqUv1Oc6KK4YStokSMu/FBNecGUQ==} engines: {node: '>=16'} @@ -12259,6 +12291,11 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true + '@vercel/analytics@2.0.1(next@16.1.6(@babel/core@7.28.5)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(react@19.2.4)': + optionalDependencies: + next: 16.1.6(@babel/core@7.28.5)(@playwright/test@1.58.2)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + react: 19.2.4 + '@wallet-standard/app@1.1.0': dependencies: '@wallet-standard/base': 1.1.0