From b2a47c44dc8afdaf7e956baf4817a3c372c79b6c Mon Sep 17 00:00:00 2001 From: mono Date: Fri, 3 Jul 2026 18:58:00 -0500 Subject: [PATCH] =?UTF-8?q?#fix:=20scroll=20al=20inicio=20del=20grid=20al?= =?UTF-8?q?=20cambiar=20p=C3=A1gina=20en=20el=20cat=C3=A1logo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El método scrollToTop usaba scrollIntoView en un elemento sticky, lo que no generaba desplazamiento. Ahora calcula la posición absoluta del grid de productos y hace scroll suave. --- src/pages/catalog.vue | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/pages/catalog.vue b/src/pages/catalog.vue index 98d8154..f39f0b5 100644 --- a/src/pages/catalog.vue +++ b/src/pages/catalog.vue @@ -541,15 +541,13 @@ export default { } }, scrollToTop() { - this.$nextTick(() => { - const catalogHeader = this.$el?.querySelector(".page-header"); - if (catalogHeader) { - catalogHeader.scrollIntoView({ - behavior: "smooth", - block: "start", - }); - } - }); + const grid = this.$el?.querySelector(".product-grid"); + if (grid) { + const top = grid.getBoundingClientRect().top + window.scrollY - 16; + window.scrollTo({ top, behavior: "smooth" }); + } else { + window.scrollTo({ top: 0, behavior: "smooth" }); + } }, openLoginDialog() { this.$refs.loginDialogRef.open();