import type { Metadata } from "next"; import "./globals.css"; import { GeistSans } from "geist/font/sans"; import { cn } from "@/lib/utils"; import { ThemeProvider } from "@/context/theme-provider"; import { NavBar } from "@/components/navbar"; import { KleapScripts } from "@/components/kleap-scripts"; import { DevToolsGuard } from "./devtools-guard"; import { TailwindCDNClient } from "@/components/tailwind-cdn-client"; export const metadata: Metadata = { title: { default: "CalcMaster - Professional ROI Calculator - AI-Powered Solution", template: "%s | CalcMaster - Professional ROI Calculator", }, description: "Built with Kleap - AI-powered platform to create stunning websites and apps. Turn your ideas into reality in minutes.", keywords: ["SaaS", "AI", "Template", "Next.js", "React", "TypeScript"], authors: [{ name: "CalcMaster Team" }], creator: "CalcMaster Inc.", publisher: "CalcMaster Inc.", icons: { icon: "/favicon.ico", shortcut: "/favicon.ico", apple: "/favicon.ico", }, robots: { index: true, follow: true, googleBot: { index: true, follow: true, "max-video-preview": -1, "max-image-preview": "large", "max-snippet": -1, }, }, openGraph: { type: "website", locale: "en_US", url: process.env.NEXT_PUBLIC_URL || "https://kleap.co", siteName: "CalcMaster - Professional ROI Calculator", title: "CalcMaster - Professional ROI Calculator - AI-Powered Solution", description: "Built with Kleap - AI-powered platform to create stunning websites and apps. Turn your ideas into reality in minutes.", images: [ { url: "/og-image.png", width: 1200, height: 630, alt: "CalcMaster - Professional ROI Calculator", }, ], }, twitter: { card: "summary_large_image", title: "CalcMaster - Professional ROI Calculator - AI-Powered Solution", description: "Built with Kleap - AI-powered platform to create stunning websites and apps. Turn your ideas into reality in minutes.", images: ["/og-image.png"], creator: "@calcmaster", }, metadataBase: new URL(process.env.NEXT_PUBLIC_URL || "https://kleap.co"), alternates: { canonical: "/", }, }; export default function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { return (
{/* CRITICAL: Base styles to prevent FOUC and hydration errors ⚠️ DO NOT REMOVE OR MODIFY WITHOUT CAREFUL TESTING ⚠️ React 19 requires href and precedence attributes on style tags */}