chore: Create Catalog Page

This commit is contained in:
2026-01-21 18:36:02 -05:00
parent 8814d4b10a
commit af198a6ea8
6 changed files with 37 additions and 23 deletions

View File

@@ -1,29 +1,11 @@
import './App.css' import './App.css'
import { useEffect, useState } from "react"; import Catalog from './pages/catalog/Catalog'
import type { Product } from './types';
import { ProductCards } from './pages'
function App() { function App() {
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();
}, []);
return ( return (
<> <>
<ProductCards products={ products }/> <Catalog/>
</> </>
) )
} }

View File

@@ -0,0 +1,30 @@
import { ProductCards } from "./components";
import { useEffect, useState } from "react";
import type { Product } from "../../types";
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();
}, []);
return (
<>
<ProductCards products={products}/>
</>
)
}
export default Catalog;

View File

@@ -1,2 +1,3 @@
export * from './card/'; export * from './card/';
export * from './product_cards/';
export * from './index'; export * from './index';

View File

@@ -1,5 +1,5 @@
import { Card } from "./components"; import Card from '../card/card.tsx';
import type { Product } from '../../types.ts' import type { Product } from '../../../../types.ts'
type ProductCardProps = { type ProductCardProps = {
products: Product[]; products: Product[];

View File

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

View File

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