Openstatus www.openstatus.dev
at main 90 lines 2.0 kB view raw
1import type { Metadata } from "next"; 2import { Geist, Geist_Mono } from "next/font/google"; 3import "./globals.css"; 4import { TailwindIndicator } from "@/components/tailwind-indicator"; 5import { TRPCReactProvider } from "@/lib/trpc/client"; 6import { cn } from "@/lib/utils"; 7import LocalFont from "next/font/local"; 8import { NuqsAdapter } from "nuqs/adapters/next/app"; 9import { ogMetadata, twitterMetadata } from "./metadata"; 10import { defaultMetadata } from "./metadata"; 11 12const cal = LocalFont({ 13 src: "../../public/fonts/CalSans-SemiBold.ttf", 14 variable: "--font-cal-sans", 15}); 16 17const geistSans = Geist({ 18 variable: "--font-geist-sans", 19 subsets: ["latin"], 20}); 21 22const geistMono = Geist_Mono({ 23 variable: "--font-geist-mono", 24 subsets: ["latin"], 25}); 26 27const commitMono = LocalFont({ 28 src: [ 29 { 30 path: "../../public/fonts/CommitMono-400-Regular.otf", 31 weight: "400", 32 style: "normal", 33 }, 34 { 35 path: "../../public/fonts/CommitMono-400-Italic.otf", 36 weight: "400", 37 style: "italic", 38 }, 39 { 40 path: "../../public/fonts/CommitMono-700-Regular.otf", 41 weight: "700", 42 style: "normal", 43 }, 44 { 45 path: "../../public/fonts/CommitMono-700-Italic.otf", 46 weight: "700", 47 style: "italic", 48 }, 49 ], 50 variable: "--font-commit-mono", 51}); 52 53export const metadata: Metadata = { 54 ...defaultMetadata, 55 twitter: { 56 ...twitterMetadata, 57 }, 58 openGraph: { 59 ...ogMetadata, 60 }, 61}; 62 63// export const dynamic = "error"; 64 65export default function RootLayout({ 66 children, 67}: Readonly<{ 68 children: React.ReactNode; 69}>) { 70 return ( 71 <html lang="en" suppressHydrationWarning> 72 <body 73 className={cn( 74 geistSans.variable, 75 geistMono.variable, 76 cal.variable, 77 commitMono.variable, 78 "antialiased", 79 )} 80 > 81 <NuqsAdapter> 82 <TRPCReactProvider> 83 {children} 84 <TailwindIndicator /> 85 </TRPCReactProvider> 86 </NuqsAdapter> 87 </body> 88 </html> 89 ); 90}