91 lines
2.5 KiB
TypeScript

import type { Metadata } from "next";
import { Geist, Geist_Mono, Bebas_Neue } from "next/font/google";
import "./globals.css";
import { Navigation } from "@/components/Navigation";
import { Footer } from "@/components/Footer";
const geistSans = Geist({
variable: "--font-geist-sans",
subsets: ["latin"],
display: "swap",
preload: true,
});
const geistMono = Geist_Mono({
variable: "--font-geist-mono",
subsets: ["latin"],
display: "swap",
preload: true,
});
const bebasNeue = Bebas_Neue({
variable: "--font-bebas",
subsets: ["latin"],
weight: "400",
display: "swap",
preload: true,
});
export const metadata: Metadata = {
title: "Biohazard VFX - Visual Effects Studio",
description: "Creating stunning visual effects for commercials, music videos, and digital media. Expert VFX, motion graphics, compositing, and 3D animation services.",
metadataBase: new URL("https://biohazardvfx.com"),
icons: {
icon: [
{ url: '/favicon.ico', sizes: 'any' },
{ url: '/favicon.svg', type: 'image/svg+xml' },
],
},
alternates: {
canonical: "/",
},
openGraph: {
title: "Biohazard VFX - Visual Effects Studio",
description: "Creating stunning visual effects for commercials, music videos, and digital media.",
type: "website",
locale: "en_US",
siteName: "Biohazard VFX",
},
twitter: {
card: "summary_large_image",
title: "Biohazard VFX - Visual Effects Studio",
description: "Creating stunning visual effects for commercials, music videos, and digital media.",
},
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
const jsonLd = {
"@context": "https://schema.org",
"@type": "Organization",
name: "Biohazard VFX",
description: "Visual effects studio specializing in commercials, music videos, and digital media",
url: "https://biohazardvfx.com",
logo: "https://biohazardvfx.com/logo.png",
sameAs: [],
};
return (
<html lang="en" className="dark">
<head>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
</head>
<body
className={`${geistSans.variable} ${geistMono.variable} ${bebasNeue.variable} antialiased bg-black text-white`}
>
<main className="min-h-screen">
{children}
</main>
</body>
</html>
);
}