layout.tsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import type { Metadata } from 'next'
  2. import { Geist, Geist_Mono } from 'next/font/google'
  3. import { Providers } from '@/components/providers'
  4. import { Sidebar } from '@/components/layout/sidebar'
  5. import { Header } from '@/components/layout/header'
  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: 'LFJ Rebalancer',
  17. description: 'MON/USDC Liquidity Book Auto-Rebalancer',
  18. }
  19. export default function RootLayout({
  20. children,
  21. }: Readonly<{
  22. children: React.ReactNode
  23. }>) {
  24. return (
  25. <html
  26. lang="en"
  27. className={`${geistSans.variable} ${geistMono.variable}`}
  28. suppressHydrationWarning
  29. >
  30. <body className="flex h-screen overflow-hidden bg-background font-sans text-foreground">
  31. <Providers>
  32. <Sidebar />
  33. <div className="flex flex-1 flex-col overflow-hidden">
  34. <Header />
  35. <main className="flex-1 overflow-y-auto p-6">{children}</main>
  36. </div>
  37. </Providers>
  38. </body>
  39. </html>
  40. )
  41. }