docs: ADR 0011 (ambiente de Staging) + notas de la sesión 2026-09-13/14
Documenta el ambiente de Staging (staging.cruzcloud.net, promoción manual, footer con version real), y agrega a notas-sueltas la correccion de bodega Cali, redes sociales reales, rediseño de galeria estilo Amazon, la leccion de min-w-0 en CSS Grid, y la remocion definitiva de la barra flotante de carrito en mobile. De paso, suma a la nav el ADR 0010 que existía en el repo pero nunca se había enlazado. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_012Y4df3Z7odr9Cg8F2nw6uV
This commit is contained in:
1 parent
009d5c63df
commit
fe4ed8005a
3 files changed
+184
-1
No files matched your search
@@ -81,4 +81,70 @@
|
||||
hacía falta agregar una clave nueva) — un script de setup inicial y
|
||||
uno de "agregar una clave a un secret ya vivo" deberían haber sido
|
||||
dos herramientas distintas desde el principio, no una sola que hay
|
||||
que saber cuándo NO correr completa.
|
||||
que saber cuándo NO correr completa.
|
||||
|
||||
## CSS Grid: un scroller horizontal sin `min-w-0` puede desbordar todo el grid
|
||||
|
||||
Encontrado en producción (2026-09-13/14) en la página de producto del
|
||||
storefront: un síntoma que parecía un bug de imágenes ("se ve como si
|
||||
abriera en tamaño real" en Chrome/Edge Android) resultó ser, en
|
||||
realidad, un desborde de layout. El carrusel horizontal de "También te
|
||||
puede gustar" (`overflow-x-auto`, sin `flex-wrap`) vivía como hijo
|
||||
directo de un CSS Grid. Por spec, el tamaño mínimo automático de un
|
||||
item de grid es el tamaño mínimo de su contenido **a menos que el
|
||||
propio item** tenga `overflow` distinto de `visible` — y como el `div`
|
||||
que envolvía al carrusel no lo tenía, el ancho mínimo intrínseco de
|
||||
*todas* las tarjetas del carrusel sin wrappear se contaba como el
|
||||
mínimo de esa columna, forzando **todo el grid compartido** (imagen,
|
||||
título, specs) a ~800px de ancho en un viewport real de ~380px.
|
||||
|
||||
**Lección reusable:** cualquier fila con scroll horizontal (carrusel,
|
||||
tira de miniaturas, chips de filtro) que sea hijo directo de un CSS
|
||||
Grid necesita `min-w-0` en su wrapper (o `overflow` seteado
|
||||
directamente en el item de grid) — si no, su contenido sin wrappear
|
||||
puede reventar el ancho de todo el grid en silencio, y el síntoma
|
||||
visible no tiene nada que ver con imágenes ni con DPR. Diagnosticado
|
||||
en vivo comparando `window.innerWidth` (reportaba el ancho
|
||||
desbordado) contra el viewport real del dispositivo.
|
||||
|
||||
## Rediseño de página de producto y correcciones de datos reales (2026-09-13/14)
|
||||
|
||||
Sesión de correcciones guiadas por capturas reales del usuario en
|
||||
navegadores reales (no reportes abstractos):
|
||||
|
||||
- **Bodega mal configurada:** `ENVIOCLICK_ORIGIN_DANE_CODE` apuntaba a
|
||||
Bogotá (`11001000`) cuando la bodega real está en Santiago de Cali,
|
||||
Valle del Cauca (`76001000`) — afectaba el cálculo real de envío
|
||||
(EnvíoClick) en cada checkout. Corregido en el ConfigMap del
|
||||
frontend, en `commerce-backend/medusa-config.ts` (incluyendo un
|
||||
fallback obsoleto que también apuntaba a Bogotá) y en el registro
|
||||
real de la bodega en Medusa (vía admin temporal, mismo patrón que el
|
||||
resto del lab para ediciones puntuales en vivo).
|
||||
- **Redes sociales y páginas de ayuda reales:** el footer enlazaba
|
||||
cuentas placeholder; se verificó en vivo la cuenta real de Instagram
|
||||
antes de linkearla (la primera sugerida no era la correcta) y se
|
||||
activaron los enlaces reales de Instagram/Facebook/WhatsApp, además
|
||||
de las páginas `/cambios` y `/preguntas-frecuentes` con contenido
|
||||
real (ya existían en código, no estaban enlazadas).
|
||||
- **Zoom estilo Amazon en la galería de producto:** iteración en tres
|
||||
pasos hasta llegar a lo pedido — `transform: scale()` sobre una
|
||||
imagen ya recortada por `object-cover` (no funcionaba: lo recortado
|
||||
nunca estaba en el DOM), superposición in-place (técnicamente
|
||||
correcta pero no la UX pedida), y finalmente una lupa que sigue el
|
||||
cursor más un panel lateral que magnifica esa región — el patrón
|
||||
real de Amazon. El tamaño/posición del panel se calcula en JS contra
|
||||
`window.innerWidth/innerHeight` en cada `mousemove` (no un
|
||||
breakpoint CSS fijo), con fallback a la superposición in-place si no
|
||||
hay espacio.
|
||||
- **Barra flotante de "Añadir al carrito" en mobile: removida, no
|
||||
reajustada.** Pasó por varias iteraciones de lógica de
|
||||
mostrar/ocultar (con `IntersectionObserver`) que seguían
|
||||
superponiéndose a otro contenido en capturas reales del usuario. En
|
||||
vez de seguir ajustando el umbral, se eliminó el componente por
|
||||
completo y se dejó el botón inline normal, visible también en
|
||||
mobile — el mismo patrón que usa la mayoría de tiendas. Verificado
|
||||
con Playwright: cero elementos `position: fixed` en la página de
|
||||
producto.
|
||||
- **Ambiente de Staging + versión real en el footer:** ver
|
||||
[ADR 0011](../decisiones/0011-ambiente-staging.md) para el detalle
|
||||
completo.
|
||||
Reference in new issue
Block a user