diff --git a/frontend/apps/web/app/layout.tsx b/frontend/apps/web/app/layout.tsx index 393f46d..a43ac17 100644 --- a/frontend/apps/web/app/layout.tsx +++ b/frontend/apps/web/app/layout.tsx @@ -1,6 +1,7 @@ import type { Metadata } from 'next'; import type { ReactNode } from 'react'; import { Inter } from 'next/font/google'; +import { Analytics } from '@vercel/analytics/next'; import { ThemeApplier, THEME_INIT_SCRIPT } from '@/lib/chat/theme'; import './globals.css'; @@ -25,6 +26,7 @@ export default function RootLayout({ children }: { children: ReactNode }) { {children} + ); diff --git a/frontend/apps/web/package.json b/frontend/apps/web/package.json index 723a0c0..a859ca8 100644 --- a/frontend/apps/web/package.json +++ b/frontend/apps/web/package.json @@ -15,6 +15,7 @@ "@petrobrain/types": "workspace:*", "@petrobrain/ui": "workspace:*", "@tanstack/react-query": "5.59.0", + "@vercel/analytics": "^2.0.1", "clsx": "2.1.1", "next": "14.2.13", "react": "18.3.1", diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 1d40923..a61da4b 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -34,7 +34,7 @@ importers: version: 2.1.1 next: specifier: 14.2.13 - version: 14.2.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.2.13(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: 18.3.1 version: 18.3.1 @@ -190,12 +190,15 @@ importers: '@tanstack/react-query': specifier: 5.59.0 version: 5.59.0(react@18.3.1) + '@vercel/analytics': + specifier: ^2.0.1 + version: 2.0.1(next@14.2.13(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) clsx: specifier: 2.1.1 version: 2.1.1 next: specifier: 14.2.13 - version: 14.2.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.2.13(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: 18.3.1 version: 18.3.1 @@ -2468,6 +2471,7 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + deprecated: Potential CWE-502 - Update to 1.3.1 or higher '@unrs/resolver-binding-android-arm-eabi@1.11.1': resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} @@ -2574,6 +2578,35 @@ packages: peerDependencies: graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + '@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 + '@vitejs/plugin-react@4.3.1': resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -2619,7 +2652,7 @@ packages: '@xmldom/xmldom@0.7.13': resolution: {integrity: sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==} engines: {node: '>=10.0.0'} - deprecated: this version is no longer supported, please update to at least 0.8.* + deprecated: this version has critical issues, please update to the latest version '@xmldom/xmldom@0.9.10': resolution: {integrity: sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==} @@ -9905,6 +9938,11 @@ snapshots: graphql: 15.8.0 wonka: 4.0.15 + '@vercel/analytics@2.0.1(next@14.2.13(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': + optionalDependencies: + next: 14.2.13(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + '@vitejs/plugin-react@4.3.1(vite@5.4.8(@types/node@20.16.10)(terser@5.44.0))': dependencies: '@babel/core': 7.28.5 @@ -13212,7 +13250,7 @@ snapshots: nested-error-stacks@2.0.1: {} - next@14.2.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@14.2.13(@babel/core@7.28.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 14.2.13 '@swc/helpers': 0.5.5 @@ -13222,7 +13260,7 @@ snapshots: postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.28.5)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.2.13 '@next/swc-darwin-x64': 14.2.13 @@ -14556,10 +14594,12 @@ snapshots: dependencies: inline-style-parser: 0.2.7 - styled-jsx@5.1.1(react@18.3.1): + styled-jsx@5.1.1(@babel/core@7.28.5)(react@18.3.1): dependencies: client-only: 0.0.1 react: 18.3.1 + optionalDependencies: + '@babel/core': 7.28.5 sucrase@3.34.0: dependencies: