fix: abstract Catalog to ProductCards

This commit is contained in:
2026-01-21 17:59:32 -05:00
parent 075573f31d
commit 8814d4b10a
5 changed files with 56 additions and 50 deletions

View File

@@ -0,0 +1,27 @@
import { Card } from "./components";
import type { Product } from '../../types.ts'
type ProductCardProps = {
products: Product[];
}
const ProductCards = ({ products } : ProductCardProps) => {
return (
<>
{ products.map((product) => {
return (
<Card
image={product.image}
name={product.name}
price={product.price}
description={ product.description}
cardId={product.id}
/>
)
}) }
</>
)
}
export default ProductCards;

View File

@@ -1,47 +0,0 @@
import { useEffect, useState } from "react";
import { Card } from "./components";
type Product = {
id: number;
name : string;
price: number;
description: string;
image: string;
};
const Catalog = () => {
const [products, setProducts] = useState<Product[]>([]);
useEffect(() => {
async function fetchProducts(){
try{
const response = await fetch("http://localhost:8010/api/v1/products");
const data = await response.json();
setProducts(data);
}catch(error){
console.error(`Este es el error: ${error}`);
};
};
fetchProducts();
}, []);
console.log(products);
return (
<>
{ products.map((product) => {
return (
<Card
image={product.image}
name={product.name}
price={product.price}
description={ product.description}
cardId={product.id}
/>
)
}) }
</>
)
}
export default Catalog;

View File

@@ -1 +1 @@
export { default as Catalog} from './catalog.tsx';
export { default as ProductCards} from './ProductCards.tsx';