From c9a8ffba3388873954d89366b90d61199e373f7d Mon Sep 17 00:00:00 2001 From: MisakaAkio Date: Tue, 1 Sep 2026 23:20:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A6=96=E9=A1=B5=E6=96=B0?= =?UTF-8?q?=E9=97=BB=E6=9D=BF=E5=9D=97=E6=9C=AA=E8=B7=9F=E9=9A=8F=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E7=9A=84=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/page.tsx | 6 +++--- src/components/home/home-page-content.tsx | 5 +++-- src/data/news/index.ts | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 3354e9a..657cd02 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,8 +1,8 @@ import { HomePageContent } from "@/components/home/home-page-content"; -import { getLatestNews } from "@/data/news"; +import { getNewsCatalog } from "@/data/news"; export default async function Home() { - const news = await getLatestNews(); + const newsByLocale = await getNewsCatalog(); - return ; + return ; } diff --git a/src/components/home/home-page-content.tsx b/src/components/home/home-page-content.tsx index 9752afb..ef85b85 100644 --- a/src/components/home/home-page-content.tsx +++ b/src/components/home/home-page-content.tsx @@ -5,7 +5,7 @@ import { useEffect, useState } from "react"; import type { NewsItem } from "@/data/news"; import { applyLocale, getInitialLocale, getLocaleMessages, type Locale } from "@/lib/i18n"; -export function HomePageContent({ news }: { news: NewsItem[] }) { +export function HomePageContent({ newsByLocale }: { newsByLocale: Record }) { const [locale, setLocale] = useState("zh-CN"); useEffect(() => { @@ -38,6 +38,7 @@ export function HomePageContent({ news }: { news: NewsItem[] }) { }, []); const t = getLocaleMessages(locale); + const visibleNews = newsByLocale[locale] ?? newsByLocale["zh-CN"] ?? []; return (
@@ -69,7 +70,7 @@ export function HomePageContent({ news }: { news: NewsItem[] }) {
- {news.map((post) => ( + {visibleNews.slice(0, 3).map((post) => (
diff --git a/src/data/news/index.ts b/src/data/news/index.ts index 4740b2e..bd4baf6 100644 --- a/src/data/news/index.ts +++ b/src/data/news/index.ts @@ -216,7 +216,7 @@ export async function getNewsBySlug(slug: string, locale: Locale = "zh-CN"): Pro return items.find((item) => item.slug === slug) ?? null; } -export async function getLatestNews() { - const items = await getNewsList(); +export async function getLatestNews(locale: Locale = "zh-CN") { + const items = await getNewsList(locale); return items.slice(0, 3); }