diff --git a/src/api/fetch.js b/src/api/fetch.js index 1a5d542..2066b73 100644 --- a/src/api/fetch.js +++ b/src/api/fetch.js @@ -1,3 +1,5 @@ +// en lugar de fetch podr'ia llamarse product.service.js o categories.service.js + // Obtener todos los productos export async function fetchData() { try { @@ -28,6 +30,7 @@ export async function fetchCategories() { } } +// esto deber'ia ir en otro archivo ya que sino se mezclan responsabilidades // Mapper para estructurar datos que necesito function mapperProducts(products) { return products.map((product) => ({ @@ -38,6 +41,7 @@ function mapperProducts(products) { })); } +// esto deber'ia ir en otro archivo ya que sino se mezclan responsabilidades // Mapper para categorías (API devuelve un objeto con más propiedades) function mapperCategories(categories) { return categories.map((category) => category.slug); diff --git a/src/dom/cart.js b/src/dom/cart.js index ef50b26..dc85707 100644 --- a/src/dom/cart.js +++ b/src/dom/cart.js @@ -4,5 +4,6 @@ const cartElement = document.querySelector("#cart-counter"); export function addToCart() { cartCount++; cartElement.textContent = cartCount; + // no dejemos console log console.log('adding') } diff --git a/src/dom/categories.js b/src/dom/categories.js index 73f6244..9817cb4 100644 --- a/src/dom/categories.js +++ b/src/dom/categories.js @@ -9,6 +9,7 @@ export function renderCategory(categories, categorySelect) { categories.forEach((category) => { const option = document.createElement("option"); option.value = category; + // esto se podr'ia reemplazar con un text-transform: capitalize; en css option.textContent = category.charAt(0).toUpperCase() + category.slice(1); categorySelect.appendChild(option); }); diff --git a/src/utils/filter.js b/src/utils/filter.js index 6c3e1cb..b15f577 100644 --- a/src/utils/filter.js +++ b/src/utils/filter.js @@ -6,6 +6,8 @@ import { showMessage } from "../dom/message.js"; export function selectProduct(products, selectedCategory, container, imageUrl) { container.innerHTML = ""; + // no palabras magicas estos valores escritos manualmente deben estar en enum para evitar errores + // usemos un if cl'asico los ternarios son para condicionales simples usarlos para validaciones que tienen dentro cada evaluaci'on l'ogica compleja se vuelve tedioso de leer const filteredProducts = selectedCategory === "all" ? products : products.filter((product) => product.category === selectedCategory); @@ -36,6 +38,7 @@ export function searchProduct(products, searchTerm, container, imageUrl) { export function initializeFilters(productsData, contentCards, inputSelect, searchInput) { let selectedCategory = "all"; + // esto podr'ia estar en una constante global const imageUrl = '/src/assets/error.png'; inputSelect.addEventListener("change", () => {