import type { Metadata } from "next"; import "./globals.css"; // Tailwind CSS v4 - Empty on CodeSandbox (uses CDN), filled by postinstall on Vercel import "./tailwind.css"; import { GeistSans } from "geist/font/sans"; import { cn } from "@/lib/utils"; import { ThemeProvider } from "@/context/theme-provider"; import { NavBar } from "@/components/navbar"; import { Footer } from "@/components/footer"; import { KleapScripts } from "@/components/kleap-scripts"; import { DevToolsGuard } from "./devtools-guard"; import { TailwindCDNClient } from "@/components/tailwind-cdn-client"; export const metadata: Metadata = { title: { default: "R3venue - Predictable Outbound Engine for B2B SaaS & Services", template: "%s | R3venue", }, description: "R3venue helps B2B founders and sales leads build a predictable outbound engine using cold email and Clay-style enrichment. We book the calls, you close the deals.", keywords: ["Cold Email", "GTM", "Lead Generation", "B2B Sales", "Clay Enrichment", "Outbound Sales"], authors: [{ name: "R3venue Agency" }], creator: "R3venue Agency", publisher: "R3venue Agency", 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: "R3venue", title: "R3venue - Predictable Outbound Engine for B2B SaaS & Services", description: "R3venue helps B2B founders and sales leads build a predictable outbound engine using cold email and Clay-style enrichment. We book the calls, you close the deals.", images: [ { url: "/og-image.png", width: 1200, height: 630, alt: "R3venue", }, ], }, twitter: { card: "summary_large_image", title: "R3venue - Predictable Outbound Engine for B2B SaaS & Services", description: "R3venue helps B2B founders and sales leads build a predictable outbound engine using cold email and Clay-style enrichment. We book the calls, you close the deals.", images: ["/og-image.png"], creator: "@r3venue", }, metadataBase: new URL(process.env.NEXT_PUBLIC_URL || "https://kleap.co"), alternates: { canonical: "/", }, }; export default function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { return ( {/* Tailwind CSS v4: - CodeSandbox: Uses CDN (loaded here in BEFORE React) - Vercel: Uses compiled CSS via @tailwindcss/postcss (imported above) */} {/* 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 */}
{children}
); }