owl-stream/app/layout.tsx

55 lines
1.7 KiB
TypeScript

import type { Metadata, Viewport } from 'next';
import './globals.css';
import Navbar from './components/Navbar';
import Footer from './components/Footer';
export const viewport: Viewport = {
width: 'device-width',
initialScale: 1,
themeColor: '#0a1a15',
};
export const metadata: Metadata = {
title: {
default: 'Owl Stream | Cape Coral Friends of Wildlife',
template: '%s | Owl Stream',
},
description: 'Live burrowing owl cams, wildlife conservation, and nature in Cape Coral, Florida. Watch 24/7 streams, donate, and volunteer with CCFW.',
keywords: ['burrowing owl', 'cape coral', 'wildlife camera', 'live stream', 'conservation', 'Florida wildlife', 'CCFW'],
authors: [{ name: 'Cape Coral Friends of Wildlife' }],
openGraph: {
type: 'website',
locale: 'en_US',
siteName: 'Owl Stream',
title: 'Owl Stream — Live Burrowing Owl Cams',
description: 'Watch Cape Coral\'s burrowing owls live, 24/7. Free wildlife cameras by CCFW.',
images: [{ url: '/og-image.png', width: 1200, height: 630, alt: 'Owl Stream - Live Wildlife Cameras' }],
},
twitter: {
card: 'summary_large_image',
title: 'Owl Stream — Live Burrowing Owl Cams',
description: 'Watch Cape Coral\'s burrowing owls live, 24/7.',
images: ['/og-image.png'],
},
robots: {
index: true,
follow: true,
},
icons: {
icon: '/favicon.svg',
apple: '/apple-touch-icon.png',
},
};
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en">
<body className="bg-deepGreen text-stone-100 min-h-screen flex flex-col">
<Navbar />
<main className="flex-1">{children}</main>
<Footer />
</body>
</html>
);
}