From ca26c6ebea8f3cd02fef68754f62b654bf5c2d84 Mon Sep 17 00:00:00 2001 From: Cristian Felipe Cruz Buitron Date: Fri, 28 Aug 2026 14:14:23 +0000 Subject: [PATCH] fix(ecommerce): boton duplicado en mobile y leftovers fucsia en pagina de producto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reportado en produccion: en mobile aparecian dos botones 'Añadir al carrito' apilados. ProductPurchase.tsx nunca ocultaba su boton en mobile, y MobileAddToCart.tsx (barra fija abajo, solo lg:hidden) ya cubre esa misma accion ahi -- se agrega hidden lg:inline-flex al primero para que solo uno este visible por breakpoint. De paso, dos leftovers del esquema arcoiris original en la misma pagina, vistos en la misma sesion de pruebas: el badge de variante seleccionada (border-fuchsia-500 bg-fuchsia-50 text-fuchsia-700 -> azul de marca) y la etiqueta de categoria/coleccion (text-fuchsia-600 -> ari-coral). --- workloads/ecommerce/app/product/[slug]/page.tsx | 2 +- workloads/ecommerce/components/product/product-purchase.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/workloads/ecommerce/app/product/[slug]/page.tsx b/workloads/ecommerce/app/product/[slug]/page.tsx index 742569b..96dfb01 100644 --- a/workloads/ecommerce/app/product/[slug]/page.tsx +++ b/workloads/ecommerce/app/product/[slug]/page.tsx @@ -33,5 +33,5 @@ export default async function ProductPage({ params }: ProductPageProps) { if (!product) notFound(); const products = await getProducts(); const recommended = products.filter((candidate) => candidate.id !== product.id && (candidate.category === product.category || candidate.collection === product.collection)).slice(0, 8); - return <>
{product.category} · {product.collection}

{product.name}

{product.description}

Detalles del productoMarca: {product.brand}. Edad recomendada: {product.ageRange}. La disponibilidad y presentación final se confirman con Ari Shopping.Envíos y entregasCoordinamos envíos nacionales y entrega según ubicación. Los tiempos se confirman durante la cotización.
{recommended.length > 0 &&

También te puede gustar

}; + return <>
{product.category} · {product.collection}

{product.name}

{product.description}

Detalles del productoMarca: {product.brand}. Edad recomendada: {product.ageRange}. La disponibilidad y presentación final se confirman con Ari Shopping.Envíos y entregasCoordinamos envíos nacionales y entrega según ubicación. Los tiempos se confirman durante la cotización.
{recommended.length > 0 &&

También te puede gustar

}; } diff --git a/workloads/ecommerce/components/product/product-purchase.tsx b/workloads/ecommerce/components/product/product-purchase.tsx index 4e6eee9..bd993c8 100644 --- a/workloads/ecommerce/components/product/product-purchase.tsx +++ b/workloads/ecommerce/components/product/product-purchase.tsx @@ -18,5 +18,5 @@ export function ProductPurchase({ product }: { product: Product }) { selectedVariant.inventoryQuantity <= LOW_STOCK_THRESHOLD ? selectedVariant.inventoryQuantity : null; - return
{product.variants.map((variant) => )}
{formatMoney(product.price, product.currency)}{product.compareAtPrice && {formatMoney(product.compareAtPrice, product.currency)}}
{lowStock !== null ? Quedan {lowStock} unidades : Disponibilidad por confirmar}Envíos nacionales
; + return
{product.variants.map((variant) => )}
{formatMoney(product.price, product.currency)}{product.compareAtPrice && {formatMoney(product.compareAtPrice, product.currency)}}
{/* oculto en mobile: MobileAddToCart (barra fija abajo, lg:hidden) ya cubre esa misma accion ahi -- sin el hidden aqui, ambos se mostraban a la vez. */}
{lowStock !== null ? Quedan {lowStock} unidades : Disponibilidad por confirmar}Envíos nacionales
; }