09621ef767
Merge hero/stats/features/footer sections into home-page-content.tsx, remove separate landing-page.tsx. Update styles, layout, navbar, and backend config. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
58 lines
1.4 KiB
TypeScript
58 lines
1.4 KiB
TypeScript
import type { Metadata, Viewport } from "next";
|
|
import { Inter, Noto_Serif_SC } from "next/font/google";
|
|
import { ThemeProvider } from "next-themes";
|
|
import { Toaster } from "sonner";
|
|
import "./globals.css";
|
|
|
|
const inter = Inter({ subsets: ["latin"], variable: "--font-sans" });
|
|
const notoSerifSC = Noto_Serif_SC({
|
|
subsets: ["latin"],
|
|
weight: ["600", "700"],
|
|
variable: "--font-serif",
|
|
});
|
|
|
|
export const metadata: Metadata = {
|
|
title: "国土空间规划课程智能体",
|
|
description: "基于大模型的国土空间规划课程智能问答系统",
|
|
keywords: ["国土空间规划", "智能问答", "AI", "教育"],
|
|
authors: [{ name: "哈尔滨工业大学建筑与设计学院 国土空间与区域发展研究所" }],
|
|
};
|
|
|
|
export const viewport: Viewport = {
|
|
width: "device-width",
|
|
initialScale: 1,
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
return (
|
|
<html lang="zh-CN" suppressHydrationWarning>
|
|
<body className={`${inter.variable} ${notoSerifSC.variable} ${inter.className}`}>
|
|
<ThemeProvider
|
|
attribute="class"
|
|
defaultTheme="system"
|
|
enableSystem
|
|
disableTransitionOnChange
|
|
>
|
|
{children}
|
|
<Toaster
|
|
position="top-right"
|
|
expand={true}
|
|
richColors={true}
|
|
closeButton={true}
|
|
/>
|
|
</ThemeProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|