sunnymh-manga-site/app/layout.tsx
2026-03-25 22:20:37 +08:00

49 lines
1.2 KiB
TypeScript

import type { Metadata, Viewport } from "next";
import { Geist } from "next/font/google";
import { Header } from "@/components/Header";
import { BottomNav } from "@/components/BottomNav";
import "./globals.css";
const geistSans = Geist({
variable: "--font-geist-sans",
subsets: ["latin"],
});
export const metadata: Metadata = {
title: {
default: "SunnyMH — Free Manga Reader",
template: "%s | SunnyMH",
},
description:
"Read free public domain manga online. Beautiful reader optimized for mobile.",
metadataBase: new URL("https://manga.04080616.xyz"),
openGraph: {
type: "website",
siteName: "SunnyMH",
},
};
export const viewport: Viewport = {
width: "device-width",
initialScale: 1,
maximumScale: 1,
viewportFit: "cover",
themeColor: "#0f0f14",
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en" className={`${geistSans.variable} h-full antialiased`}>
<body className="min-h-full flex flex-col bg-background text-foreground">
<Header />
<main className="flex-1 pb-20 sm:pb-0">{children}</main>
<BottomNav />
</body>
</html>
);
}