44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
import type { Metadata } from "next";
|
||
import "./globals.css";
|
||
import Navbar from "@/components/Navbar";
|
||
import { AuthProvider } from "@/contexts/AuthContext";
|
||
import { MainContent } from "@/components/MainContent";
|
||
import { MessageNotificationContainer } from "@/components/MessageNotification";
|
||
import { ErrorNotificationContainer } from "@/components/ErrorNotification";
|
||
import ScrollToTop from "@/components/ScrollToTop";
|
||
import PageTransition from "@/components/PageTransition";
|
||
|
||
export const metadata: Metadata = {
|
||
title: "CarrotSkin - 现代化Minecraft Yggdrasil皮肤站",
|
||
description: "新一代Minecraft Yggdrasil皮肤站,为创作者打造的现代化皮肤管理平台",
|
||
keywords: "Minecraft, 皮肤站, Yggdrasil, CarrotSkin, 我的世界, 皮肤管理",
|
||
authors: [{ name: "CarrotSkin Team" }],
|
||
openGraph: {
|
||
title: "CarrotSkin - 现代化Minecraft Yggdrasil皮肤站",
|
||
description: "新一代Minecraft Yggdrasil皮肤站,为创作者打造的现代化皮肤管理平台",
|
||
type: "website",
|
||
},
|
||
};
|
||
|
||
export default function RootLayout({
|
||
children,
|
||
}: Readonly<{
|
||
children: React.ReactNode;
|
||
}>) {
|
||
return (
|
||
<html lang="zh-CN">
|
||
<body>
|
||
<AuthProvider>
|
||
<Navbar />
|
||
<PageTransition>
|
||
<MainContent>{children}</MainContent>
|
||
</PageTransition>
|
||
<ErrorNotificationContainer />
|
||
<MessageNotificationContainer />
|
||
<ScrollToTop />
|
||
</AuthProvider>
|
||
</body>
|
||
</html>
|
||
);
|
||
}
|