- object-contain en vez de object-cover: las fotos secundarias no son cuadradas (Buzz 933x1500, Tristeza 896x1052) y cover les cortaba cabeza/pies. Mismo criterio que product-gallery.tsx. - unoptimized desde la 2da imagen: pasar las ~58 imagenes de las galerias por el optimizador de Next dejo un pod de prod OOMKilled (768Mi) ante una carga en rafaga. Originales ~165 KB promedio, lazy; la 1ra imagen sigue optimizada como antes de la galeria. Validado con build de produccion local y fotos reales (Playwright: fit contain medido, fuentes optimizada/directa, suite de galeria completa). Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_018r19s4H8MBGegqToqw5guP
ARI Shopping Headless Storefront v4.1
Actualización enfocada en UX, interactividad y rendimiento sobre Next.js 15.5.10.
Correcciones principales
- Encabezado blanco premium con acentos cyan, violeta, fucsia y navegación negra.
- Imágenes promocionales sin
opacity,mix-blendni filtros de color. - Menú principal funcional mediante Drawer accesible de Radix UI.
- Cuenta y favoritos funcionales.
- Carrusel con flechas, teclado, scroll suave y
scroll-snap. - Zoom real de producto entre 100% y 300%, rueda, botones, doble clic y arrastre.
- Thumbnails WebP dedicados para tarjetas, búsqueda, carrito y favoritos.
- Recursos originales recomprimidos y caché HTTP para
/images. next/imageen modounoptimizedporque los recursos ya vienen procesados; evita latencia del optimizador durante la primera visita.- Menos componentes animados con JavaScript; las tarjetas usan transiciones CSS.
content-visibilitypara contenido fuera de pantalla.- Pantalla
loading.tsxpara transiciones de ruta.
Validación
npm ci
npm run typecheck
npm run build
Flujo
Gitea → Gitea Actions → Registry → actualización de frontend.yaml → Argo CD → Kubernetes.