import type { Metadata, Viewport } from "next" import { GeistMono } from "geist/font/mono" import { GeistSans } from "geist/font/sans" import { cn } from "@/lib/utils" import { Analytics } from "@/components/analytics" import { ThemeProvider } from "@/components/theme-provider" import { Toaster } from "@/registry/new-york-v4/ui/sonner" import { siteConfig } from "@/www/config/site" import "./globals.css" const fontSans = GeistSans const fontMono = GeistMono const META_THEME_COLORS = { light: "#ffffff", dark: "#09090b", } 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, } export default function RootLayout({ children, }: Readonly<{ children: React.ReactNode }>) { return (