{t("allProducts")}
{t("noProducts")}
{t("checkBack")}
import { getProducts } from "@/lib/saleor";
import { getTranslations, setRequestLocale } from "next-intl/server";
import Header from "@/components/layout/Header";
import Footer from "@/components/layout/Footer";
import ProductCard from "@/components/product/ProductCard";
import { ChevronDown } from "lucide-react";
import { getPageMetadata } from "@/lib/i18n/pageMetadata";
import { isValidLocale, DEFAULT_LOCALE, getSaleorLocale, type Locale } from "@/lib/i18n/locales";
interface ProductsPageProps {
params: Promise<{ locale: string }>;
}
export async function generateMetadata({ params }: ProductsPageProps) {
const { locale } = await params;
const validLocale = isValidLocale(locale) ? locale : DEFAULT_LOCALE;
const metadata = getPageMetadata(validLocale as Locale);
return {
title: metadata.products.title,
description: metadata.products.description,
};
}
export default async function ProductsPage({ params }: ProductsPageProps) {
const { locale } = await params;
const validLocale = isValidLocale(locale) ? locale : DEFAULT_LOCALE;
setRequestLocale(validLocale);
const t = await getTranslations("Products");
const saleorLocale = getSaleorLocale(validLocale as Locale);
const products = await getProducts(saleorLocale);
return (
<>
{t("noProducts")}
{t("checkBack")}
{t("allProducts")}