layout.tsx 955 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import type { Metadata } from "next";
  2. import { Geist, Geist_Mono } from "next/font/google";
  3. import { Toaster } from "sonner";
  4. import { ThemeProvider } from "@/components/theme-provider";
  5. import "streamdown/styles.css";
  6. import "./globals.css";
  7. const geistSans = Geist({
  8. variable: "--font-geist-sans",
  9. subsets: ["latin"],
  10. });
  11. const geistMono = Geist_Mono({
  12. variable: "--font-geist-mono",
  13. subsets: ["latin"],
  14. });
  15. export const metadata: Metadata = {
  16. title: "json-render Chat Example",
  17. description: "AI-powered data explorer using ToolLoopAgent and json-render",
  18. };
  19. export default function RootLayout({
  20. children,
  21. }: {
  22. children: React.ReactNode;
  23. }) {
  24. return (
  25. <html lang="en" suppressHydrationWarning>
  26. <body
  27. className={`${geistSans.variable} ${geistMono.variable} font-sans antialiased`}
  28. >
  29. <ThemeProvider>
  30. {children}
  31. <Toaster />
  32. </ThemeProvider>
  33. </body>
  34. </html>
  35. );
  36. }