Submatter/apps/web/app/layout.tsx
varutasu 5d64d0461a
Some checks failed
CI / Lint, type-check, test (push) Failing after 3m16s
Deploy homelab (CT 116) / Deploy to CT 116 (push) Successful in 8m58s
fix: provide auth session context to client app
2026-10-31 14:45:48 +00:00

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>
);
}