47 lines
1.4 KiB
TypeScript
Raw Permalink Normal View History

2024-05-26 17:28:52 -07:00
import type { Metadata } from "next"
import { GeistSans } from "geist/font/sans"
import { GeistMono } from "geist/font/mono"
import "./globals.css"
import { ThemeProvider } from "@/components/layout/themeProvider"
import { ClerkProvider } from "@clerk/nextjs"
import { Toaster } from "@/components/ui/sonner"
import { Analytics } from "@vercel/analytics/react"
2024-07-23 17:30:35 -04:00
import { TerminalProvider } from '@/context/TerminalContext';
import { PreviewProvider } from "@/context/PreviewContext";
import { SocketProvider } from '@/context/SocketContext'
2024-03-19 12:13:18 -04:00
export const metadata: Metadata = {
2024-04-11 05:14:10 -04:00
title: "Sandbox",
2024-05-26 17:28:52 -07:00
description: "A collaborative, AI-powered cloud code editing environment",
}
2024-03-19 12:13:18 -04:00
export default function RootLayout({
children
2024-03-19 12:13:18 -04:00
}: Readonly<{
2024-05-26 17:28:52 -07:00
children: React.ReactNode
2024-03-19 12:13:18 -04:00
}>) {
return (
2024-04-09 01:20:15 -04:00
<ClerkProvider>
2024-04-11 05:14:10 -04:00
<html lang="en" className={`${GeistSans.variable} ${GeistMono.variable}`}>
<body>
2024-04-09 01:20:15 -04:00
<ThemeProvider
attribute="class"
defaultTheme="dark"
forcedTheme="dark"
disableTransitionOnChange
>
<SocketProvider>
2024-07-23 17:30:35 -04:00
<PreviewProvider>
<TerminalProvider>
2024-04-09 01:20:15 -04:00
{children}
2024-07-23 17:30:35 -04:00
</TerminalProvider>
</PreviewProvider>
</SocketProvider>
2024-05-09 00:56:30 -07:00
<Analytics />
2024-04-27 16:22:35 -04:00
<Toaster position="bottom-left" richColors />
2024-04-09 01:20:15 -04:00
</ThemeProvider>
</body>
</html>
</ClerkProvider>
2024-05-26 17:28:52 -07:00
)
2024-07-23 17:30:35 -04:00
}