feat: analytics

This commit is contained in:
2024-12-16 19:03:40 +01:00
parent 352edb17be
commit e54dcbc889

View File

@@ -1,17 +1,18 @@
import type { Metadata } from "next"; import type { Metadata } from 'next';
import { Inter } from "next/font/google"; import { Inter } from 'next/font/google';
import "./globals.css"; import './globals.css';
import Navbar from "@/components/app/NavBar/NavBar"; import Navbar from '@/components/app/NavBar/NavBar';
import { SessionProvider } from "@/lib/providers/SessionProvider"; import { SessionProvider } from '@/lib/providers/SessionProvider';
import { validateRequest } from "@/lib/auth"; import { validateRequest } from '@/lib/auth';
import { Toaster } from "@/components/ui/sonner" import { Toaster } from '@/components/ui/sonner';
import { ThemeProvider } from "@/lib/providers/ThemeProvider"; import { ThemeProvider } from '@/lib/providers/ThemeProvider';
import Script from 'next/script';
const inter = Inter({ subsets: ["latin"] }); const inter = Inter({ subsets: ['latin'] });
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Echospace", title: 'Echospace',
description: "User feedback for developers.", description: 'User feedback for developers.',
}; };
export default async function RootLayout({ export default async function RootLayout({
@@ -19,9 +20,16 @@ export default async function RootLayout({
}: Readonly<{ }: Readonly<{
children: React.ReactNode; children: React.ReactNode;
}>) { }>) {
const sessionData = await validateRequest() const sessionData = await validateRequest();
return ( return (
<html lang="en"> <html lang="en">
{process.env.NODE_ENV === 'production' && (
<Script
defer
src="https://analytics.srizan.dev/ua.js"
data-website-id="4564fc34-12f7-4656-9635-9315a48b9339"
/>
)}
<body className={inter.className}> <body className={inter.className}>
<SessionProvider value={sessionData}> <SessionProvider value={sessionData}>
<ThemeProvider <ThemeProvider
@@ -30,9 +38,9 @@ export default async function RootLayout({
enableSystem enableSystem
disableTransitionOnChange disableTransitionOnChange
> >
<Navbar /> <Navbar />
{children} {children}
<Toaster /> <Toaster />
</ThemeProvider> </ThemeProvider>
</SessionProvider> </SessionProvider>
</body> </body>