42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { PageHeader } from "@/components/ui/PageHeader";
|
|
import { Container } from "@/components/ui/Container";
|
|
import { ProductGrid } from "@/components/catalog/ProductGrid";
|
|
import { getProducts, getStoreItems } from "@/lib/api";
|
|
import { mapProductCard, mapStoreItemCard } from "@/lib/catalog";
|
|
|
|
export const metadata: Metadata = {
|
|
title: "محصولات",
|
|
description: "تجهیزات تهویه مطبوع، سرمایش و گرمایش سپهر صنعت.",
|
|
alternates: { canonical: "/products" },
|
|
};
|
|
|
|
export default async function ProductsPage({
|
|
searchParams,
|
|
}: {
|
|
searchParams: Promise<{ q?: string }>;
|
|
}) {
|
|
const { q } = await searchParams;
|
|
const store = await getStoreItems({ pageSize: 24, name: q });
|
|
const products =
|
|
store.total > 0
|
|
? store.items.map(mapStoreItemCard)
|
|
: (await getProducts({ pageSize: 24, name: q })).items.map(mapProductCard);
|
|
|
|
return (
|
|
<>
|
|
<PageHeader
|
|
title="محصولات"
|
|
titleEn="PRODUCTS"
|
|
description="تجهیزات تهویه مطبوع، سرمایش و گرمایش سپهر صنعت"
|
|
/>
|
|
<Container className="py-10">
|
|
{q ? (
|
|
<p className="mb-6 text-sm text-muted">نتایج جستجو برای «{q}»</p>
|
|
) : null}
|
|
<ProductGrid products={products} />
|
|
</Container>
|
|
</>
|
|
);
|
|
}
|