49 lines
1.4 KiB
TypeScript
49 lines
1.4 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { Inter } from "next/font/google";
|
|
import Script from "next/script";
|
|
import "@/styles/globals.css";
|
|
import { ThemeProvider } from "@/components/providers/theme-provider";
|
|
import { TRPCProvider } from "@/components/providers/trpc-provider";
|
|
import { SessionProvider } from "next-auth/react";
|
|
|
|
const inter = Inter({ subsets: ["latin"], variable: "--font-sans" });
|
|
|
|
export const metadata: Metadata = {
|
|
title: "ECHODO",
|
|
description: "Project management, docs, and whiteboards — all in one place.",
|
|
};
|
|
|
|
const umamiScript =
|
|
process.env.NEXT_PUBLIC_UMAMI_SCRIPT ?? "https://analytics.stillwell.cloud/script.js";
|
|
const umamiWebsiteId = process.env.NEXT_PUBLIC_UMAMI_WEBSITE_ID;
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
return (
|
|
<html lang="en" suppressHydrationWarning>
|
|
<body className={`${inter.variable} font-sans antialiased`}>
|
|
<ThemeProvider
|
|
attribute="class"
|
|
defaultTheme="dark"
|
|
enableSystem
|
|
disableTransitionOnChange
|
|
>
|
|
<SessionProvider>
|
|
<TRPCProvider>{children}</TRPCProvider>
|
|
</SessionProvider>
|
|
</ThemeProvider>
|
|
{umamiWebsiteId ? (
|
|
<Script
|
|
defer
|
|
src={umamiScript}
|
|
data-website-id={umamiWebsiteId}
|
|
strategy="afterInteractive"
|
|
/>
|
|
) : null}
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|