Files
zeekay ebc1debe19 Add Open Graph metadata with royal seal image
- Update site-data.ts with correct fund info and URLs
- Add OG/Twitter metadata to layout.tsx for social sharing
- Set favicon and apple-touch-icon to official seal
2026-02-04 21:37:10 -08:00

68 lines
1.5 KiB
TypeScript

import type { Metadata } from 'next';
import { Geist, Geist_Mono } from 'next/font/google';
import './globals.css';
import { SiteHeader } from '@/components/site-header';
import { SiteFooter } from '@/components/site-footer';
import { I18nProvider } from '@/lib/i18n/context';
import { site } from '@/lib/site-data';
const geistSans = Geist({
variable: '--font-geist-sans',
subsets: ['latin'],
});
const geistMono = Geist_Mono({
variable: '--font-geist-mono',
subsets: ['latin'],
});
export const metadata: Metadata = {
title: site.title,
description: site.description,
metadataBase: new URL(site.url),
openGraph: {
title: site.title,
description: site.description,
url: site.url,
siteName: site.title,
images: [
{
url: site.image,
width: 1200,
height: 1200,
alt: site.title,
},
],
locale: 'en_US',
type: 'website',
},
twitter: {
card: 'summary_large_image',
title: site.title,
description: site.description,
images: [site.image],
},
icons: {
icon: '/images/official-seal.png',
apple: '/images/official-seal.png',
},
};
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en" className="dark" suppressHydrationWarning>
<body className={`${geistSans.variable} ${geistMono.variable} font-sans antialiased`}>
<I18nProvider>
<SiteHeader />
{children}
<SiteFooter />
</I18nProvider>
</body>
</html>
);
}