feat: add Umami tracking support

This commit is contained in:
2026-02-23 17:09:44 +01:00
parent 4108ffc23f
commit b7d427023e
2 changed files with 16 additions and 0 deletions

View File

@@ -3,6 +3,15 @@ FROM node:20-alpine AS builder
WORKDIR /app
# Add build arguments for Umami
ARG UMAMI_SCRIPT
ARG UMAMI_ID
# Set environment variables for the build process
ENV UMAMI_SCRIPT=$UMAMI_SCRIPT
ENV UMAMI_ID=$UMAMI_ID
ENV NODE_ENV=production
# Copy package files
COPY package.json pnpm-lock.yaml* ./

View File

@@ -50,11 +50,18 @@ export default function RootLayout({
}: Readonly<{
children: React.ReactNode;
}>) {
const umamiScript = process.env.UMAMI_SCRIPT;
const umamiId = process.env.UMAMI_ID;
const isProd = process.env.NODE_ENV === 'production';
return (
<html lang="en" className="dark" suppressHydrationWarning>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="preconnect" href="https://kit.pivoine.art" />
{isProd && umamiScript && umamiId && (
<script defer src={umamiScript} data-website-id={umamiId}></script>
)}
<script
dangerouslySetInnerHTML={{
__html: `