feat: add Umami tracking support
This commit is contained in:
@@ -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* ./
|
||||
|
||||
|
||||
@@ -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: `
|
||||
|
||||
Reference in New Issue
Block a user