diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..a8e83ec --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,154 @@ +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 { LanguageProvider } from "@/context/language-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: "Accident | See it. Report it. Save lives. | شاهد – بلّغ – أنقذ الأرواح", + template: "%s | Accident", + }, + description: + "Accident - See it. Report it. Save lives. شاهد – بلّغ – أنقذ الأرواح. A bilingual platform for reporting incidents and ensuring public safety.", + keywords: ["Accident", "Safety", "Reporting", "Emergency", "Bilingual", "Arabic", "English"], + authors: [{ name: "Accident Reporting Team" }], + creator: "Accident Safety Org", + publisher: "Accident Safety Org", + 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: "Accident - Report Incidents & Stay Safe", + title: "Accident - Report Incidents & Stay Safe - 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: "Accident - Report Incidents & Stay Safe", + }, + ], + }, + twitter: { + card: "summary_large_image", + title: "Accident - Report Incidents & Stay Safe - 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: "@accident_report", + }, + 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 + */} + + + + + + + + +
+ + {children} +
+
+
+ + + ); +}