diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 6556a3e..81fc1f7 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -200,6 +200,7 @@ jobs: --build-arg NEXT_PUBLIC_TARGET=${{ needs.prepare.outputs.target }} \ --build-arg DIRECTUS_URL=${{ needs.prepare.outputs.directus_url }} \ --build-arg UMAMI_API_ENDPOINT=${{ secrets.UMAMI_API_ENDPOINT || secrets.NEXT_PUBLIC_UMAMI_SCRIPT_URL || vars.UMAMI_API_ENDPOINT || 'https://analytics.infra.mintel.me' }} \ + --build-arg NEXT_PUBLIC_UMAMI_WEBSITE_ID=${{ secrets.UMAMI_WEBSITE_ID || secrets.NEXT_PUBLIC_UMAMI_WEBSITE_ID || vars.UMAMI_WEBSITE_ID || vars.NEXT_PUBLIC_UMAMI_WEBSITE_ID }} \ -t registry.infra.mintel.me/mintel/mb-grid-solutions:${{ needs.prepare.outputs.image_tag }} \ --push . @@ -269,6 +270,7 @@ jobs: GOTIFY_URL=${{ secrets.GOTIFY_URL || vars.GOTIFY_URL }} GOTIFY_TOKEN=${{ secrets.GOTIFY_TOKEN || vars.GOTIFY_TOKEN }} UMAMI_WEBSITE_ID=${{ secrets.UMAMI_WEBSITE_ID || secrets.NEXT_PUBLIC_UMAMI_WEBSITE_ID || vars.UMAMI_WEBSITE_ID || vars.NEXT_PUBLIC_UMAMI_WEBSITE_ID }} + NEXT_PUBLIC_UMAMI_WEBSITE_ID=${{ secrets.UMAMI_WEBSITE_ID || secrets.NEXT_PUBLIC_UMAMI_WEBSITE_ID || vars.UMAMI_WEBSITE_ID || vars.NEXT_PUBLIC_UMAMI_WEBSITE_ID }} UMAMI_API_ENDPOINT=${{ secrets.UMAMI_API_ENDPOINT || secrets.NEXT_PUBLIC_UMAMI_SCRIPT_URL || vars.UMAMI_API_ENDPOINT || 'https://analytics.infra.mintel.me' }} # Project diff --git a/Dockerfile b/Dockerfile index b4f8d17..0b396f1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,12 +11,14 @@ ARG NEXT_PUBLIC_BASE_URL ARG UMAMI_API_ENDPOINT ARG NEXT_PUBLIC_TARGET ARG DIRECTUS_URL +ARG NEXT_PUBLIC_UMAMI_WEBSITE_ID ARG NPM_TOKEN ENV NEXT_PUBLIC_BASE_URL=$NEXT_PUBLIC_BASE_URL ENV UMAMI_API_ENDPOINT=$UMAMI_API_ENDPOINT ENV NEXT_PUBLIC_TARGET=$NEXT_PUBLIC_TARGET ENV DIRECTUS_URL=$DIRECTUS_URL +ENV NEXT_PUBLIC_UMAMI_WEBSITE_ID=$NEXT_PUBLIC_UMAMI_WEBSITE_ID ENV NPM_TOKEN=$NPM_TOKEN ENV SENTRY_SUPPRESS_TURBOPACK_WARNING=1 ENV SKIP_RUNTIME_ENV_VALIDATION=true diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx index b1ba814..266c475 100644 --- a/app/[locale]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -6,6 +6,8 @@ import { NextIntlClientProvider } from "next-intl"; import { getMessages } from "next-intl/server"; import { notFound } from "next/navigation"; import { LazyMotion, domAnimation } from "framer-motion"; +import AnalyticsProvider from "@/components/analytics/AnalyticsProvider"; +import { config } from "@/lib/config"; const inter = Inter({ subsets: ["latin"], @@ -108,10 +110,12 @@ export default async function RootLayout({ // Track pageview on the server // This is safe to call here because layout is a Server Component - const services = ( + const serverServices = ( await import("@/lib/services/create-services.server") ).getServerAppServices(); - services.analytics.trackPageview(); + + // Track server-side (initial load) + serverServices.analytics.trackPageview("/"); return ( @@ -123,6 +127,7 @@ export default async function RootLayout({