import type { Metadata } from "next"; import { ArrowUpRight, Boxes, CircleDollarSign } from "lucide-react"; import Link from "next/link"; import { getTranslations } from "next-intl/server"; import { Container } from "@/components/layout/container"; import { MotionFade } from "@/components/motion-fade"; import { buildLocalizedMetadata } from "@/lib/metadata"; import { AppCard } from "@/components/ui/app-card"; import { CardContent } from "@/components/ui/card"; import { getLocalizedPath, resolveLocale } from "@/lib/locale"; import { pickText, productItems } from "@/lib/site-data"; type ProductsPageProps = { params: { locale: string; }; }; export async function generateMetadata({ params: { locale }, }: ProductsPageProps): Promise { const localeKey = resolveLocale(locale); const t = await getTranslations({ locale: localeKey, namespace: "productsPage" }); return await buildLocalizedMetadata({ locale: localeKey, pathname: "/products", title: t("title"), description: t("intro"), }); } export default async function ProductsPage({ params: { locale } }: ProductsPageProps) { const localeKey = resolveLocale(locale); const t = await getTranslations({ locale: localeKey, namespace: "productsPage" }); return (

{t("title")}

{t("intro")}

{productItems.map((item, index) => (

{pickText(item.segment, localeKey)}

{pickText(item.name, localeKey)}

{pickText(item.summary, localeKey)}

{pickText(item.price, localeKey)}

{t("open")}

))}
); }