diff --git a/package-lock.json b/package-lock.json index 036905f..02e0065 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "@react-three/fiber": "^9.5.0", "@tailwindcss/vite": "^4.1.14", "@types/three": "^0.183.1", + "@vercel/speed-insights": "^1.3.1", "@vitejs/plugin-react": "^5.0.4", "better-sqlite3": "^12.4.1", "dotenv": "^17.2.3", @@ -2591,6 +2592,40 @@ "react": ">= 16.8.0" } }, + "node_modules/@vercel/speed-insights": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vercel/speed-insights/-/speed-insights-1.3.1.tgz", + "integrity": "sha512-PbEr7FrMkUrGYvlcLHGkXdCkxnylCWePx7lPxxq36DNdfo9mcUjLOmqOyPDHAOgnfqgGGdmE3XI9L/4+5fr+vQ==", + "license": "Apache-2.0", + "peerDependencies": { + "@sveltejs/kit": "^1 || ^2", + "next": ">= 13", + "react": "^18 || ^19 || ^19.0.0-rc", + "svelte": ">= 4", + "vue": "^3", + "vue-router": "^4" + }, + "peerDependenciesMeta": { + "@sveltejs/kit": { + "optional": true + }, + "next": { + "optional": true + }, + "react": { + "optional": true + }, + "svelte": { + "optional": true + }, + "vue": { + "optional": true + }, + "vue-router": { + "optional": true + } + } + }, "node_modules/@vitejs/plugin-react": { "version": "5.1.4", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.4.tgz", diff --git a/package.json b/package.json index 4f5926a..f96710d 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "@react-three/fiber": "^9.5.0", "@tailwindcss/vite": "^4.1.14", "@types/three": "^0.183.1", + "@vercel/speed-insights": "^1.3.1", "@vitejs/plugin-react": "^5.0.4", "better-sqlite3": "^12.4.1", "dotenv": "^17.2.3", diff --git a/src/App.tsx b/src/App.tsx index 14f5b5f..f0ee66c 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -10,6 +10,7 @@ import { LoadingScreen } from './components/LoadingScreen'; import { useEffect } from 'react'; import { useStore } from './store'; import { getAvailableLocales, loadLocaleData } from './services/localeLoader'; +import { SpeedInsights } from '@vercel/speed-insights/react'; export default function App() { const setAvailableLocales = useStore(state => state.setAvailableLocales); @@ -31,6 +32,7 @@ export default function App() { + ); }