diff --git a/package-lock.json b/package-lock.json
index cbe9dfb..3ea761a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,6 +20,7 @@
"@supabase/supabase-js": "^2.106.0",
"@types/node-telegram-bot-api": "^0.64.13",
"@types/pdfkit": "^0.17.5",
+ "@vercel/analytics": "^2.0.1",
"bcryptjs": "^3.0.3",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
@@ -4729,6 +4730,48 @@
"win32"
]
},
+ "node_modules/@vercel/analytics": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-2.0.1.tgz",
+ "integrity": "sha512-MTQG6V9qQrt1tsDeF+2Uoo5aPjqbVPys1xvnIftXSJYG2SrwXRHnqEvVoYID7BTruDz4lCd2Z7rM1BdkUehk2g==",
+ "license": "MIT",
+ "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
+ }
+ }
+ },
"node_modules/@vitejs/plugin-react": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.2.0.tgz",
@@ -9099,6 +9142,17 @@
}
}
},
+ "node_modules/next-intl/node_modules/@swc/helpers": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.21.tgz",
+ "integrity": "sha512-jI/VAmtdjB/RnI8GTnokyX7Ug8c+g+ffD6QRLa6XQewtnGyukKkKSk3wLTM3b5cjt1jNh9x0jfVlagdN2gDKQg==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "tslib": "^2.8.0"
+ }
+ },
"node_modules/next-sitemap": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/next-sitemap/-/next-sitemap-4.2.3.tgz",
diff --git a/package.json b/package.json
index 9a50454..559b78a 100644
--- a/package.json
+++ b/package.json
@@ -26,6 +26,7 @@
"@supabase/supabase-js": "^2.106.0",
"@types/node-telegram-bot-api": "^0.64.13",
"@types/pdfkit": "^0.17.5",
+ "@vercel/analytics": "^2.0.1",
"bcryptjs": "^3.0.3",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index f5a2e97..f9b3ef7 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -7,6 +7,7 @@ import { Navbar } from "@/components/layout/navbar";
import { Footer } from "@/components/layout/footer";
import { PWAInstallPrompt } from "@/components/pwa-install-prompt";
import { WhatsAppDirect } from "@/components/whatsapp-direct";
+import { Analytics } from "@vercel/analytics/next";
const geistMono = Geist_Mono({
variable: "--font-geist-mono",
@@ -121,6 +122,7 @@ export default function RootLayout({
+