Files
gregorlohaus.com/src/app/layout.tsx
2025-05-01 11:18:44 +02:00

46 lines
1.2 KiB
TypeScript

import "~/styles/globals.css";
import type { Metadata } from "next";
import { Geist } from "next/font/google";
import { ClerkProvider } from "@clerk/nextjs";
import { config } from "@fortawesome/fontawesome-svg-core"
import "@fortawesome/fontawesome-svg-core/styles.css"
import TopNav from "./_components/TopNav";
import TrpcProvider from "./_trpc/TrpcProvider";
import dynamic from "next/dynamic";
const ThemeProvider = dynamic(() => import("./_providers/ThemeProvider"),{ssr:true})
config.autoAddCss = false;
export const metadata: Metadata = {
title: "Gregor Lohaus",
description: "My Personal Website",
icons: [{ rel: "icon", url: "/GLIcon.svg" }],
};
const geist = Geist({
subsets: ["latin"],
variable: "--font-geist-sans",
});
export default function RootLayout({
children,
modal
}: Readonly<{ children: React.ReactNode, modal: React.ReactNode }>) {
return (
<ClerkProvider>
<TrpcProvider>
<ThemeProvider>
<html lang="en" className={`${geist.variable}`} suppressHydrationWarning>
<head/>
<body className="flex flex-col bg-background text-foreground">
<TopNav />
{children}
{modal}
</body>
</html>
</ThemeProvider>
</TrpcProvider>
</ClerkProvider>
);
}