43 lines
926 B
TypeScript
43 lines
926 B
TypeScript
import type { Metadata } from "next";
|
|
import { IBM_Plex_Mono, Noto_Sans_SC, Space_Grotesk } from "next/font/google";
|
|
import "./globals.css";
|
|
|
|
const display = Space_Grotesk({
|
|
subsets: ["latin"],
|
|
variable: "--font-display",
|
|
display: "swap",
|
|
});
|
|
|
|
const body = Noto_Sans_SC({
|
|
subsets: ["latin"],
|
|
weight: ["400", "500", "700"],
|
|
variable: "--font-body",
|
|
display: "swap",
|
|
});
|
|
|
|
const mono = IBM_Plex_Mono({
|
|
subsets: ["latin"],
|
|
weight: ["400", "500"],
|
|
variable: "--font-mono",
|
|
display: "swap",
|
|
});
|
|
|
|
export const metadata: Metadata = {
|
|
title: "H.264 Frame Viewer",
|
|
description: "Rust backend + Next.js frontend for H.264 frame extraction",
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
return (
|
|
<html lang="zh-CN">
|
|
<body className={`${display.variable} ${body.variable} ${mono.variable}`}>
|
|
{children}
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|