import { getTranslations, Locale, getNavigationPaths } from '@/lib/i18n'; import { generateMetadata as generateSEOMetadata } from '@/lib/seo'; import { getLatestNewsArticles } from '@/lib/markdown'; import Layout from '@/components/Layout'; import HomePageClient from '@/components/HomePageClient'; import HomePageSEO from '@/components/HomePageSEO'; interface HomePageProps { params: { locale: Locale; }; } export async function generateStaticParams() { const locales = ['zh-CN', 'zh-TW', 'en']; return locales.map((locale) => ({ locale, })); } export async function generateMetadata({ params }: HomePageProps) { return generateSEOMetadata(params.locale, 'home'); } export default async function HomePage({ params }: HomePageProps) { const { locale } = params; const [common, home, latestNews] = await Promise.all([ getTranslations(locale, 'common'), getTranslations(locale, 'home'), getLatestNewsArticles(locale, 3), ]); const navigationPaths = getNavigationPaths(locale); const navigation = [ { name: common.navigation.home, href: navigationPaths.find((p) => p.key === 'home')?.path || '/', }, { name: common.navigation.products, href: navigationPaths.find((p) => p.key === 'products')?.path || '/products', }, { name: common.navigation.news, href: navigationPaths.find((p) => p.key === 'news')?.path || '/news', }, { name: common.navigation.support, href: navigationPaths.find((p) => p.key === 'support')?.path || '/support', }, { name: common.navigation.about, href: navigationPaths.find((p) => p.key === 'about')?.path || '/about', }, ]; return ( <> ); }