Files
react-editor-website/app/layout.tsx
T

45 lines
1.2 KiB
TypeScript

import type { Metadata } from 'next';
import { Outfit } from 'next/font/google';
import { ThemeProvider } from '@/components/theme-provider';
import { site } from '@/config/site';
import './globals.css';
const outfit = Outfit({
subsets: ['latin'],
variable: '--font-outfit',
});
export const metadata: Metadata = {
metadataBase: new URL(site.url),
title: { default: site.name, template: `%s — ${site.name}` },
description: site.description,
openGraph: {
type: 'website',
siteName: site.name,
title: site.name,
description: site.description,
},
twitter: {
card: 'summary_large_image',
title: site.name,
description: site.description,
},
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en" suppressHydrationWarning className={outfit.variable}>
<body className="min-h-screen bg-background font-sans text-foreground antialiased">
<ThemeProvider
attribute="class"
defaultTheme="system"
enableSystem
disableTransitionOnChange
>
{children}
</ThemeProvider>
</body>
</html>
);
}