Files

53 lines
1.2 KiB
TypeScript

import type { Metadata, Viewport } from "next";
import { ThemeProvider } from "@/components/theme-provider";
import { InsightsProvider } from "@/components/insights-provider";
import { siteConfig } from "@/lib/site";
import { metadataKeywords } from "./metadata";
import { SiteNav } from "@/components/site-nav";
import Footer from "@/components/footer";
import "katex/dist/katex.min.css";
import "@/app/globals.css";
export const viewport: Viewport = {
themeColor: "black",
};
export const metadata: Metadata = {
metadataBase: new URL(siteConfig.url),
title: {
default: siteConfig.name,
template: `%s - ${siteConfig.name}`,
},
description: siteConfig.description,
keywords: metadataKeywords,
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html
lang="en"
className="antialiased"
suppressHydrationWarning
>
<body>
<InsightsProvider>
<ThemeProvider
attribute="class"
defaultTheme="dark"
enableSystem
disableTransitionOnChange
>
<SiteNav />
{children}
<Footer />
</ThemeProvider>
</InsightsProvider>
</body>
</html>
);
}