feat: add Umami tracking support
This commit is contained in:
@@ -3,6 +3,15 @@ FROM node:20-alpine AS builder
|
|||||||
|
|
||||||
WORKDIR /app
|
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 files
|
||||||
COPY package.json pnpm-lock.yaml* ./
|
COPY package.json pnpm-lock.yaml* ./
|
||||||
|
|
||||||
|
|||||||
@@ -50,11 +50,18 @@ export default function RootLayout({
|
|||||||
}: Readonly<{
|
}: Readonly<{
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}>) {
|
||||||
|
const umamiScript = process.env.UMAMI_SCRIPT;
|
||||||
|
const umamiId = process.env.UMAMI_ID;
|
||||||
|
const isProd = process.env.NODE_ENV === 'production';
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<html lang="en" className="dark" suppressHydrationWarning>
|
<html lang="en" className="dark" suppressHydrationWarning>
|
||||||
<head>
|
<head>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link rel="preconnect" href="https://kit.pivoine.art" />
|
<link rel="preconnect" href="https://kit.pivoine.art" />
|
||||||
|
{isProd && umamiScript && umamiId && (
|
||||||
|
<script defer src={umamiScript} data-website-id={umamiId}></script>
|
||||||
|
)}
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
|
|||||||
Reference in New Issue
Block a user