56 lines
1.8 KiB
TypeScript
56 lines
1.8 KiB
TypeScript
import type { Metadata } from 'next';
|
|
import './globals.css';
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'GridPilot - iRacing League Racing Platform',
|
|
description: 'The dedicated home for serious iRacing leagues. Automatic results, standings, team racing, and professional race control.',
|
|
viewport: {
|
|
width: 'device-width',
|
|
initialScale: 1,
|
|
maximumScale: 1,
|
|
userScalable: false,
|
|
viewportFit: 'cover',
|
|
},
|
|
themeColor: '#0a0a0a',
|
|
appleWebApp: {
|
|
capable: true,
|
|
statusBarStyle: 'black-translucent',
|
|
},
|
|
openGraph: {
|
|
title: 'GridPilot - iRacing League Racing Platform',
|
|
description: 'Structure over chaos. The professional platform for iRacing league racing.',
|
|
type: 'website',
|
|
},
|
|
twitter: {
|
|
card: 'summary_large_image',
|
|
title: 'GridPilot - iRacing League Racing Platform',
|
|
description: 'Structure over chaos. The professional platform for iRacing league racing.',
|
|
},
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
return (
|
|
<html lang="en" className="scroll-smooth overflow-x-hidden">
|
|
<head>
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
</head>
|
|
<body className="antialiased overflow-x-hidden">
|
|
<header className="fixed top-0 left-0 right-0 z-50 bg-deep-graphite/80 backdrop-blur-sm border-b border-white/5">
|
|
<div className="max-w-7xl mx-auto px-6 py-4">
|
|
<div className="flex items-baseline space-x-3">
|
|
<h1 className="text-2xl font-semibold text-white">GridPilot</h1>
|
|
<p className="text-sm text-gray-400 font-light">Making league racing less chaotic</p>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<div className="pt-16">
|
|
{children}
|
|
</div>
|
|
</body>
|
|
</html>
|
|
);
|
|
} |