Files
apps-registry/workloads/ecommerce/app/catalog/page.tsx
T
devops 47bba80cb5
Build and Push Frontend / Construir y Subir Imagen (push) Failing after 29s
fix(frontend): synchronize catalog navigation with URL
2026-07-26 20:36:53 -05:00

37 lines
1.1 KiB
TypeScript

import type { Metadata } from "next";
import { CatalogClient } from "@/components/catalog/catalog-client";
import { getProducts } from "@/lib/headless/client";
export const metadata: Metadata = {
title: "Catálogo",
description: "Explora todos los productos de Ari Shopping.",
};
type CatalogPageProps = {
searchParams: Promise<Record<string, string | string[] | undefined>>;
};
function single(value: string | string[] | undefined): string {
return Array.isArray(value) ? value[0] ?? "" : value ?? "";
}
export default async function CatalogPage({ searchParams }: CatalogPageProps) {
const params = await searchParams;
const products = await getProducts();
const category = single(params.category) || "Todos";
const collection = single(params.collection);
const query = single(params.q);
const section = single(params.section);
return (
<CatalogClient
key={`${category}:${collection}:${query}:${section}`}
products={products}
initialCategory={category}
initialCollection={collection}
initialQuery={query}
/>
);
}