diff options
| author | Fuwn <[email protected]> | 2026-02-08 08:17:09 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-02-08 08:17:09 -0800 |
| commit | 19f1587511faf95eadd97d219f64df227b831faa (patch) | |
| tree | d3f07242b3466b6fecab57a5d1875b4437e99c00 /apps | |
| parent | fix: toast notification z-index behind entry panel (diff) | |
| download | asa.news-19f1587511faf95eadd97d219f64df227b831faa.tar.xz asa.news-19f1587511faf95eadd97d219f64df227b831faa.zip | |
feat: add Umami analytics (production only)
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/web/app/layout.tsx | 8 | ||||
| -rw-r--r-- | apps/web/next.config.ts | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/apps/web/app/layout.tsx b/apps/web/app/layout.tsx index a7da263..627f2f3 100644 --- a/apps/web/app/layout.tsx +++ b/apps/web/app/layout.tsx @@ -1,3 +1,4 @@ +import Script from "next/script" import type { Metadata, Viewport } from "next" import localFont from "next/font/local" import { ThemeProvider } from "next-themes" @@ -52,6 +53,13 @@ export default function RootLayout({ </ThemeProvider> {process.env.NODE_ENV === "production" && <SpeedInsights />} {process.env.NODE_ENV === "production" && <Analytics />} + {process.env.NODE_ENV === "production" && ( + <Script + defer + src="https://analytics.fuwn.me/script.js" + data-website-id="419b8c97-8e2a-4ae4-8357-2e87f3807e0e" + /> + )} </body> </html> ) diff --git a/apps/web/next.config.ts b/apps/web/next.config.ts index 921c95a..d068edf 100644 --- a/apps/web/next.config.ts +++ b/apps/web/next.config.ts @@ -24,11 +24,11 @@ const securityHeaders = [ key: "Content-Security-Policy", value: [ "default-src 'self'", - "script-src 'self' 'unsafe-inline' https://va.vercel-scripts.com", + "script-src 'self' 'unsafe-inline' https://va.vercel-scripts.com https://analytics.fuwn.me", "style-src 'self' 'unsafe-inline'", "img-src 'self' data: https: http:", "font-src 'self'", - "connect-src 'self' https://*.supabase.co wss://*.supabase.co https://api.stripe.com", + "connect-src 'self' https://*.supabase.co wss://*.supabase.co https://api.stripe.com https://analytics.fuwn.me", "frame-src https://js.stripe.com https://hooks.stripe.com", "media-src 'self' https: http:", "object-src 'none'", |