diff --git a/.gitignore b/.gitignore index 8460eea..37c9025 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ yarn-error.log* # local env files .env*.local +.env* # vercel .vercel diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 760970f..2d1e7d1 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,6 +1,8 @@ import type { Metadata } from 'next'; import './globals.css'; import localFont from 'next/font/local'; +import Script from 'next/script'; +import { env } from '@/lib/env'; import Providers from '@/contexts/Providers'; import { cn } from '@/utils/core'; import { ToastProvider } from '@/components/common/ToastProvider'; @@ -8,6 +10,9 @@ import { METADATA } from '@/constants/_metadata'; const { title, description, keywords, url, images } = METADATA; +const isProduction = process.env.NODE_ENV === 'production'; +const GA_ID = env.GA_ID; + const pretendard = localFont({ src: '../../public/fonts/PretendardVariable.woff2', display: 'swap', @@ -39,6 +44,29 @@ export default function RootLayout({ }>) { return ( + + + {isProduction && GA_ID && ( + <> + + + + )} +
{children}
diff --git a/src/hooks/.gitkeep b/src/hooks/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/src/lib/env.ts b/src/lib/env.ts index 2ccdd49..4e65a92 100644 --- a/src/lib/env.ts +++ b/src/lib/env.ts @@ -2,4 +2,5 @@ export const env = Object.freeze({ BASE_API_URL: `${process.env.NEXT_PUBLIC_BASE_API_URL}`, QR_API_URL: `${process.env.NEXT_PUBLIC_QR_API_URL}`, QR_APP_KEY: `${process.env.NEXT_PUBLIC_QR_APPKEY}`, + GA_ID: process.env.NEXT_PUBLIC_GA_ID, });