Skip to content
Snippets Groups Projects
layout.tsx 2.48 KiB
Newer Older
import { Inter } from 'next/font/google'
import './globals.css'
import { ThemeProvider } from '@/components/ui/theme-provider'
Yusuf Akgül's avatar
Yusuf Akgül committed
import { Toaster } from '@/components/ui/toaster'
Yusuf Akgül's avatar
Yusuf Akgül committed
import { siteConfig } from "@/lib/config/site"
import Providers from '@/lib/react-query/provider'

const inter = Inter({ subsets: ['latin'] })

export const metadata = {
Yusuf Akgül's avatar
Yusuf Akgül committed
    title: {
        default: siteConfig.name,
        template: `%s | ${siteConfig.name}`,
    },
    description: siteConfig.description,
    keywords: [
        "Next.js",
        "React",
        "Tailwind CSS",
        "Server Components",
        "Radix UI",
        "TypeScript",
        "ESLint",
        "Prisma ORM",
        "PostgreSQL",
        "Vercel",
        "Jest",
        "IGDB",
    ],
    authors: [
        {
            name: "Yusuf Akgül",
        },
        {
            name: "Caner Ilaslan",
        },
        {
            name: "David Jakszta",
        },
        {
            name: "Omar Kasbah",
        },
        {
            name: "Serdar Dorak",
        },
        {
            name: "Valeria Luft",
        },
    ],
    creator: "The Golden Order Studio",
    themeColor: [
        { media: "(prefers-color-scheme: light)", color: "white" },
        { media: "(prefers-color-scheme: dark)", color: "black" },
    ],
    metadataBase: new URL(siteConfig.url),
    alternates: {
        canonical: '/',
        languages: {
            'en-US': '/en-US',
        },
    },
Yusuf Akgül's avatar
Yusuf Akgül committed
    openGraph: {
        type: "website",
        locale: "en_US",
        url: siteConfig.url,
        title: siteConfig.name,
        description: siteConfig.description,
        siteName: siteConfig.name,
    },
    twitter: {
        card: "summary_large_image",
        title: siteConfig.name,
        description: siteConfig.description,
        images: [`${siteConfig.url}/og.jpg`],
        creator: "@shadcn",
    },
    icons: {
        icon: "/favicon.ico",
        shortcut: "/favicon-16x16.png",
        apple: "/apple-touch-icon.png",
    },
}

export default function RootLayout({
    return (
        <html lang="en" suppressHydrationWarning>
            <head />
            <body className={inter.className}>
                <ThemeProvider attribute="class" defaultTheme="system" enableSystem>
                    <Providers>
                        {children}
                        <Toaster />
                    </Providers>
                </ThemeProvider>
            </body>
        </html>
    )