优化代码

This commit is contained in:
2026-09-17 04:14:24 +08:00
parent d76d476e75
commit 7f6323f64c
18 changed files with 443 additions and 618 deletions
+21 -1
View File
@@ -1 +1,21 @@
export { default, generateMetadata, generateStaticParams } from "@/app/(legacy)/news/[slug]/page";
import { notFound } from "next/navigation";
import { getNewsBySlug, getNewsList } from "@/data/news";
import { NewsDetailClient } from "@/components/news/news-detail-client";
import { isLocale } from "@/lib/i18n";
export async function generateStaticParams() {
return (await getNewsList()).map((item) => ({ slug: item.slug }));
}
export async function generateMetadata({ params }: { params: Promise<{ slug: string; locale: string }> }) {
const { slug, locale } = await params;
if (!isLocale(locale)) notFound();
const item = await getNewsBySlug(slug, locale);
return { title: item?.title ?? "新闻" };
}
export default async function NewsDetailPage({ params }: { params: Promise<{ slug: string; locale: string }> }) {
const { slug, locale } = await params;
if (!isLocale(locale)) notFound();
return <NewsDetailClient item={await getNewsBySlug(slug, locale)} locale={locale} />;
}