Files
website/app/layout.tsx
2025-09-12 23:20:36 +02:00

76 lines
1.7 KiB
TypeScript

import { Header } from "@/components/container-header";
import Navbar from "@/components/navbar";
import { DATA } from "@/app/resume";
import { cn } from "@/lib/utils";
import type { Metadata } from "next";
import { Inter as FontSans } from "next/font/google";
import "./globals.css";
import { Providers } from "@/components/providers";
import { Footer } from "@/components/footer";
const fontSans = FontSans({
subsets: ["latin"],
variable: "--font-sans",
});
export const metadata: Metadata = {
metadataBase: new URL(DATA.url),
title: {
default: DATA.name,
template: `%s | ${DATA.name}`,
},
description: DATA.description,
openGraph: {
title: `${DATA.name}`,
description: DATA.description,
url: DATA.url,
siteName: `${DATA.name}`,
locale: "en_US",
type: "website",
},
robots: {
index: true,
follow: true,
googleBot: {
index: true,
follow: true,
"max-video-preview": -1,
"max-image-preview": "large",
"max-snippet": -1,
},
},
twitter: {
title: `${DATA.name}`,
card: "summary_large_image",
},
verification: {
google: "",
yandex: "",
},
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en" suppressHydrationWarning>
<body
className={cn(
"min-h-screen bg-background font-sans antialiased max-w-2xl mx-auto py-12 sm:py-24 px-6",
fontSans.variable
)}
>
<script defer src="https://umami.steffenillium.de/script.js" data-website-id="170441c3-f9ca-4dea-9f44-ba0573b0f9e5"></script>
<Providers>
<Header />
{children}
<Footer />
<Navbar />
</Providers>
</body>
</html>
);
}