Spaces:
Running
Running
import type { Metadata } from "next"; | |
import { Geist, Geist_Mono } from "next/font/google"; | |
import "./globals.css"; | |
import { Navigation } from "@/components/navigation"; | |
const geist = Geist({ | |
variable: "--font-geist-sans", | |
subsets: ["latin"], | |
}); | |
const geistMono = Geist_Mono({ | |
variable: "--font-geist-mono", | |
subsets: ["latin"], | |
}); | |
export const metadata: Metadata = { | |
title: "Ceramic Shield - Professional Heat Rejection Window Films", | |
description: "Premium automotive window tinting with superior heat rejection technology. Professional installation, lifetime warranty, and unmatched performance.", | |
keywords: ["window tinting", "ceramic films", "heat rejection", "automotive", "UV protection"], | |
authors: [{ name: "Ceramic Shield" }], | |
creator: "Ceramic Shield", | |
publisher: "Ceramic Shield", | |
metadataBase: new URL(process.env.NEXT_PUBLIC_SITE_URL || 'https://yourdomain.com'), | |
alternates: { | |
canonical: '/', | |
}, | |
openGraph: { | |
title: "Ceramic Shield - Professional Heat Rejection Window Films", | |
description: "Premium automotive window tinting with superior heat rejection technology. Professional installation, lifetime warranty, and unmatched performance.", | |
url: process.env.NEXT_PUBLIC_SITE_URL || 'https://yourdomain.com', | |
siteName: "Ceramic Shield", | |
images: [ | |
{ | |
url: '/logo.png', | |
width: 1200, | |
height: 630, | |
alt: 'Ceramic Shield - Professional Window Films', | |
}, | |
], | |
locale: 'en_US', | |
type: 'website', | |
}, | |
twitter: { | |
card: 'summary_large_image', | |
title: "Ceramic Shield - Professional Heat Rejection Window Films", | |
description: "Premium automotive window tinting with superior heat rejection technology. Professional installation, lifetime warranty, and unmatched performance.", | |
images: ['/logo.png'], | |
}, | |
icons: { | |
icon: [ | |
{ url: "/logo.png", sizes: "32x32", type: "image/png" }, | |
{ url: "/logo.png", sizes: "16x16", type: "image/png" }, | |
], | |
apple: [ | |
{ url: "/logo.png", sizes: "180x180", type: "image/png" }, | |
], | |
}, | |
}; | |
export default function RootLayout({ | |
children, | |
}: Readonly<{ | |
children: React.ReactNode; | |
}>) { | |
return ( | |
<html lang="en" className="dark"> | |
<head> | |
<link rel="icon" href="/logo.png" type="image/png" /> | |
<link rel="canonical" href={process.env.NEXT_PUBLIC_SITE_URL || 'https://yourdomain.com'} /> | |
</head> | |
<body | |
className={`${geist.variable} ${geistMono.variable} antialiased bg-black text-white`} | |
> | |
<Navigation /> | |
{children} | |
</body> | |
</html> | |
); | |
} |