bandsbender's picture
Upload 348 files
21a686e verified
raw
history blame
2.61 kB
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>
);
}