fix(ecommerce): miniaturas recortaban fotos verticales + tamaño de fuente de descripción
- Miniaturas pasan de object-cover a object-contain: fotos con relación de aspecto muy vertical (confirmado en vivo: 933x1500 en este catálogo) perdían cabeza o pies al forzar el recorte cuadrado. Reportado por el usuario viendo las miniaturas de un producto real. - La descripción del producto bajaba de 18px (text-lg, mismo tamaño que un párrafo de apertura de página completa como /envios) a 16px (text-base) -- se veía desproporcionada al lado del resto de la columna de compra en el layout de 3 columnas. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_012Y4df3Z7odr9Cg8F2nw6uV
This commit is contained in:
1 parent
567ee30e1f
commit
8889fd9ea2
2 files changed
+8
-2
No files matched your search
@@ -55,7 +55,7 @@ export default async function ProductPage({ params }: ProductPageProps) {
|
|||||||
<div className="min-w-0">
|
<div className="min-w-0">
|
||||||
<span className="text-xs font-black uppercase tracking-[.18em] text-ari-coral">{product.category} · {product.collection}</span>
|
<span className="text-xs font-black uppercase tracking-[.18em] text-ari-coral">{product.category} · {product.collection}</span>
|
||||||
<h1 className="mt-3 text-4xl font-black tracking-tight sm:text-6xl">{product.name}</h1>
|
<h1 className="mt-3 text-4xl font-black tracking-tight sm:text-6xl">{product.name}</h1>
|
||||||
<p className="mt-5 text-lg leading-8 text-slate-600">{product.description}</p>
|
<p className="mt-5 text-base leading-7 text-slate-600">{product.description}</p>
|
||||||
{/* Antes escondido detrás de un click en el acordeón --
|
{/* Antes escondido detrás de un click en el acordeón --
|
||||||
siempre visible, estilo Amazon, con los mismos datos
|
siempre visible, estilo Amazon, con los mismos datos
|
||||||
reales que ya existían (marca/edad/categoría/colección),
|
reales que ya existían (marca/edad/categoría/colección),
|
||||||
|
|||||||
@@ -118,7 +118,13 @@ export function ProductGallery({ images, name }: { images: string[]; name: strin
|
|||||||
miniaturas sin wrappear puede forzar overflow horizontal en toda
|
miniaturas sin wrappear puede forzar overflow horizontal en toda
|
||||||
la pagina en mobile. */}
|
la pagina en mobile. */}
|
||||||
<div className="order-2 flex gap-3 overflow-x-auto lg:order-1 lg:flex-col">
|
<div className="order-2 flex gap-3 overflow-x-auto lg:order-1 lg:flex-col">
|
||||||
{images.map((image) => <button type="button" key={image} onClick={() => { setSelected(image); reset(); }} onMouseEnter={() => { setSelected(image); reset(); }} className={`relative aspect-square w-20 shrink-0 overflow-hidden rounded-2xl border-2 ${selected === image ? "border-fuchsia-500" : "border-transparent"}`}><Image src={image} alt="" fill sizes="80px" className="object-cover" /></button>)}
|
{/* object-contain (no object-cover): fotos de producto con relacion
|
||||||
|
de aspecto muy vertical (ej. 933x1500, confirmado en vivo para
|
||||||
|
este catalogo) perdian la cabeza o los pies recortados al forzar
|
||||||
|
el cuadrado con cover -- reportado por el usuario viendo las
|
||||||
|
miniaturas. contain deja la miniatura completa siempre, con
|
||||||
|
"letterbox" del mismo bg-slate-50 que usa la imagen principal. */}
|
||||||
|
{images.map((image) => <button type="button" key={image} onClick={() => { setSelected(image); reset(); }} onMouseEnter={() => { setSelected(image); reset(); }} className={`relative aspect-square w-20 shrink-0 overflow-hidden rounded-2xl border-2 bg-slate-50 ${selected === image ? "border-fuchsia-500" : "border-transparent"}`}><Image src={image} alt="" fill sizes="80px" className="object-contain" /></button>)}
|
||||||
</div>
|
</div>
|
||||||
<div className="relative order-1 lg:order-2">
|
<div className="relative order-1 lg:order-2">
|
||||||
<Dialog open={open} onOpenChange={changeOpen}>
|
<Dialog open={open} onOpenChange={changeOpen}>
|
||||||
|
|||||||
Reference in new issue
Block a user