1import type { Metadata, Viewport } from "next";
2import { Inter } from "next/font/google";
3import "./globals.css";
4import { QueryClientProvider } from "./providers";
5import { Toaster } from "@/components/ui/toaster";
6import { ThemeProvider } from "@/components/layout/theme-provider";
7
8const inter = Inter({ subsets: ["latin"], variable: "--font-inter" });
9
10export const metadata: Metadata = {
11 title: {
12 default: "AI Software Factory",
13 template: "%s — AI Software Factory",
14 },
15 description: "Notion-like workspace: pages, databases, realtime collaboration.",
16};
17
18
28export const viewport: Viewport = {
29 width: "device-width",
30 initialScale: 1,
31};
32
33
38export default function RootLayout({ children }: { children: React.ReactNode }) {
39 return (
40 <html lang="en" suppressHydrationWarning className={inter.variable}>
41 <body className="min-h-screen bg-background font-sans text-foreground antialiased">
42 <QueryClientProvider>
43 <ThemeProvider>
44 {children}
45 <Toaster />
46 </ThemeProvider>
47 </QueryClientProvider>
48 </body>
49 </html>
50 );
51}
52