import "@/styles/globals.css" import { Metadata, Viewport } from "next" import { META_THEME_COLORS, siteConfig } from "@/config/site" import { fontMono, fontSans } from "@/lib/fonts" import { cn } from "@/lib/utils" import { Analytics } from "@/components/analytics" import { ThemeProvider } from "@/components/providers" import { TailwindIndicator } from "@/components/tailwind-indicator" import { ThemeSwitcher } from "@/components/theme-switcher" import { Toaster as DefaultToaster } from "@/registry/default/ui/toaster" import { Toaster as NewYorkSonner } from "@/registry/new-york/ui/sonner" import { Toaster as NewYorkToaster } from "@/registry/new-york/ui/toaster" export const metadata: Metadata = { title: { default: siteConfig.name, template: `%s - ${siteConfig.name}`, }, metadataBase: new URL(siteConfig.url), description: siteConfig.description, keywords: [ "Next.js", "React", "Tailwind CSS", "Server Components", "Radix UI", ], authors: [ { name: "shadcn", url: "https://shadcn.com", }, ], creator: "shadcn", openGraph: { type: "website", locale: "en_US", url: siteConfig.url, title: siteConfig.name, description: siteConfig.description, siteName: siteConfig.name, images: [ { url: siteConfig.ogImage, width: 1200, height: 630, alt: siteConfig.name, }, ], }, twitter: { card: "summary_large_image", title: siteConfig.name, description: siteConfig.description, images: [siteConfig.ogImage], creator: "@shadcn", }, icons: { icon: "/favicon.ico", shortcut: "/favicon-16x16.png", apple: "/apple-touch-icon.png", }, manifest: `${siteConfig.url}/site.webmanifest`, } export const viewport: Viewport = { themeColor: META_THEME_COLORS.light, } interface RootLayoutProps { children: React.ReactNode } export default function RootLayout({ children }: RootLayoutProps) { return ( <>