Files
williammarch.xyz/app/layout.tsx
2026-04-02 23:02:19 +01:00

38 lines
1.2 KiB
TypeScript

import type { Metadata } from 'next';
import { GeistSans } from 'geist/font/sans';
import { GeistMono } from 'geist/font/mono';
import './globals.css';
import TechBackdrop from './TechBackdrop';
export const metadata: Metadata = {
title: 'William March — Software Engineer',
description: 'Software engineer building precise, purposeful open-source tools.',
metadataBase: new URL('https://williammarch.xyz'),
openGraph: {
title: 'William March',
description: 'Software engineer. Open-source builder.',
url: 'https://williammarch.xyz',
siteName: 'William March',
},
twitter: {
card: 'summary_large_image',
title: 'William March',
description: 'Software engineer.',
},
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en" className={`${GeistSans.variable} ${GeistMono.variable}`}>
<body className="bg-slate-950 text-slate-100 relative overflow-x-hidden">
<div aria-hidden="true" className="fixed inset-0 -z-10">
<TechBackdrop />
</div>
<div className="relative">
{children}
</div>
</body>
</html>
);
}