mirror of
https://github.com/KivotosRailway/website.git
synced 2026-11-03 11:06:32 +09:00
35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { getNewsCatalog } from "@/data/news";
|
|
import { PageBreadcrumb } from "@/components/layout/page-breadcrumb";
|
|
import { NewsList } from "@/components/news/news-list";
|
|
import { NewsPageHeading } from "@/components/news/news-page-heading";
|
|
import { getLocaleMessages, isLocale } from "@/lib/i18n";
|
|
|
|
export async function generateMetadata({ params }: { params: Promise<{ locale?: string }> }): Promise<Metadata> {
|
|
const { locale } = await params;
|
|
return { title: getLocaleMessages(isLocale(locale) ? locale : "zh-Hans").common.news };
|
|
}
|
|
|
|
export default async function NewsPage({ params }: { params: Promise<{ locale?: string }> }) {
|
|
const { locale } = await params;
|
|
const messages = getLocaleMessages(isLocale(locale) ? locale : "zh-Hans");
|
|
const catalog = await getNewsCatalog();
|
|
|
|
return (
|
|
<main className="news-page">
|
|
<div className="news-page-inner">
|
|
<header className="news-page-header">
|
|
<NewsPageHeading />
|
|
</header>
|
|
|
|
<NewsList catalog={catalog} />
|
|
</div>
|
|
<div className="page-bottom-nav">
|
|
<div className="page-bottom-nav-inner">
|
|
<PageBreadcrumb items={[{ label: messages.common.home, href: "/" }, { label: messages.common.news }]} />
|
|
</div>
|
|
</div>
|
|
</main>
|
|
);
|
|
}
|