From 642b02906556d87901ef7c41fbcc73a446306b7c Mon Sep 17 00:00:00 2001 From: EthanShoeDev <13422990+EthanShoeDev@users.noreply.github.com> Date: Wed, 10 Sep 2025 05:52:23 -0400 Subject: [PATCH] analytics --- apps/web/package.json | 1 + apps/web/public/favicon.png | Bin 0 -> 8352 bytes apps/web/public/favicon.svg | 9 --------- apps/web/src/layouts/Layout.astro | 4 +++- pnpm-lock.yaml | 3 +++ 5 files changed, 7 insertions(+), 10 deletions(-) create mode 100644 apps/web/public/favicon.png delete mode 100644 apps/web/public/favicon.svg diff --git a/apps/web/package.json b/apps/web/package.json index 930b685..c7a690f 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -18,6 +18,7 @@ "@astrojs/vercel": "^8.2.7", "@fressh/assets": "workspace:*", "@tailwindcss/vite": "^4.1.13", + "@vercel/analytics": "^1.5.0", "astro": "^5.13.7", "tailwindcss": "^4.1.13" }, diff --git a/apps/web/public/favicon.png b/apps/web/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..5fa0b7e24aefce280c7374da6d7e27a21cf2538d GIT binary patch literal 8352 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 - - - diff --git a/apps/web/src/layouts/Layout.astro b/apps/web/src/layouts/Layout.astro index dabc537..c8cef3b 100644 --- a/apps/web/src/layouts/Layout.astro +++ b/apps/web/src/layouts/Layout.astro @@ -1,5 +1,6 @@ --- import '../styles/global.css'; +import Analytics from '@vercel/analytics/astro'; --- @@ -7,9 +8,10 @@ import '../styles/global.css'; - + Fressh - SSH Client + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9273fef..7e86498 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -180,6 +180,9 @@ importers: '@tailwindcss/vite': specifier: ^4.1.13 version: 4.1.13(vite@6.3.6(@types/node@24.3.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.43.1)(tsx@4.20.5)) + '@vercel/analytics': + specifier: ^1.5.0 + version: 1.5.0(react@19.1.0) astro: specifier: ^5.13.7 version: 5.13.7(@types/node@24.3.0)(@vercel/functions@2.2.13)(jiti@2.5.1)(lightningcss@1.30.1)(rollup@4.50.1)(terser@5.43.1)(tsx@4.20.5)(typescript@5.9.2)