// SPDX-FileCopyrightText: 2026 Progmasoft // SPDX-License-Identifier: AGPL-3.0-or-later WITH AdditionRef-Progmasoft-Patent-Grant-1.1 import type { Metadata } from "next"; import { Footer } from "@/components/Footer"; import { SiteHeader } from "@/components/SiteHeader"; import { getLocale } from "@/lib/locale.server"; import { forwardArrow } from "@/lib/localization"; import { getCatalogMessages, productSlugs, products } from "@/lib/products"; export async function generateMetadata(): Promise { const catalog = getCatalogMessages(await getLocale()); return { title: catalog.metadataTitle, description: catalog.metadataDescription, alternates: { canonical: "https://product.progmasoft.com/" }, }; } /** product.progmasoft.com: every product, each leading to its own page. */ export default async function ProductsPage() { const locale = await getLocale(); const catalog = getCatalogMessages(locale); return (

{catalog.eyebrow}

{catalog.title}

{catalog.description}

{productSlugs.map((slug) => { const product = products[slug]; const text = catalog.products[slug]; return ( {text.category}

{product.name}

{text.tagline}

{catalog.details} {forwardArrow(locale)}
); })}
); }