refactor: simplify homepage layout, consolidate landing page components

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>
This commit is contained in:
2026-05-22 11:24:34 +08:00
parent ddbb79b9f6
commit 09621ef767
12 changed files with 425 additions and 1046 deletions
+12 -12
View File
@@ -19,17 +19,6 @@
}
}
--animate-spotlight: spotlight 2s ease 0.75s 1 forwards;
@keyframes spotlight {
0% {
opacity: 0;
transform: translate(-72%, -62%) scale(0.5);
}
to {
opacity: 1;
transform: translate(-50%, -40%) scale(1);
}
}
}
@theme inline {
@@ -175,13 +164,15 @@
/* MIT 风格的字体层次 */
h1 {
font-family: var(--font-serif), 'Noto Serif SC', Georgia, serif;
font-size: 2.5rem;
font-weight: 700;
line-height: 1.2;
letter-spacing: -0.025em;
}
h2 {
font-family: var(--font-serif), 'Noto Serif SC', Georgia, serif;
font-size: 2rem;
font-weight: 600;
line-height: 1.3;
@@ -330,3 +321,12 @@ textarea {
button {
cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}
+8 -3
View File
@@ -1,10 +1,15 @@
import type { Metadata, Viewport } from "next";
import { Inter } from "next/font/google";
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"] });
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: "国土空间规划课程智能体",
@@ -25,7 +30,7 @@ export default function RootLayout({
}) {
return (
<html lang="zh-CN" suppressHydrationWarning>
<body className={inter.className}>
<body className={`${inter.variable} ${notoSerifSC.variable} ${inter.className}`}>
<ThemeProvider
attribute="class"
defaultTheme="system"