diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d12940..25d242d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,15 @@ El formato está basado en [Keep a Changelog](https://keepachangelog.com/es-ES/1 > Las entradas entre la 0.6.0 y la 1.4.0 se reconstruyeron a posteriori a partir del historial de git, agrupadas por los saltos de versión que realmente ocurrieron en `package.json`. La 1.1.0 nunca existió: se pasó directamente de la 1.0.0 a la 1.2.0. +## [1.26.1] - 2026-08-20 + +### Fixed + +- **La barra de navegación de móvil no se veía en un teléfono real.** Era el último hijo de una columna de `100vh`, y `100vh` en un navegador móvil **no es la altura visible**: es la que habría con las barras del navegador retraídas. El contenedor era más alto que la pantalla y la barra caía por debajo del corte. En el emulador no pasaba, porque allí el viewport y `innerHeight` coinciden — por eso las pruebas estaban en verde. Ahora la barra va `fixed`, anclada a lo que se ve, y el armazón mide `100dvh`. +- **Al cerrar el teclado, la página se quedaba corrida hacia un lado**, con el texto cortado por la izquierda. Faltaba `interactive-widget=resizes-content` en la etiqueta `viewport`: sin eso el navegador no encoge la maqueta al abrir el teclado, la deja igual y desplaza el viewport visual por encima. +- **El menú del sprint se salía de la pantalla.** Se ancló primero a la derecha del botón y luego a la izquierda, y cada versión fallaba en la mitad de los tableros: en qué columna de la rejilla cae el botón depende de si el espacio tiene etiquetas, porque el filtro «Todas las etiquetas» solo se pinta entonces. Ahora se fija a los dos bordes de la pantalla y deja de depender del botón. +- **El botón que abre el índice de la base de conocimiento pasa a la fila del título.** Flotando chocaba con el contenido las dos veces que se intentó — abajo quedaba fuera del área visible, arriba tapaba el título de la página. Dos colisiones seguidas eran la señal de que el sitio equivocado era «flotando», no «arriba» o «abajo». + ## [1.26.0] - 2026-08-19 ### Added diff --git a/package-lock.json b/package-lock.json index adef81b..b4babf2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "forge-js", - "version": "1.26.0", + "version": "1.26.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "forge-js", - "version": "1.26.0", + "version": "1.26.1", "dependencies": { "@astrojs/check": "^0.9.10", "@astrojs/node": "^11.1.2", diff --git a/package.json b/package.json index c0d0cb3..25f5b5f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "forge-js", "type": "module", - "version": "1.26.0", + "version": "1.26.1", "engines": { "node": ">=22.12.0" }, diff --git a/src/components/layout/BottomNav.astro b/src/components/layout/BottomNav.astro index 17b9b69..6a075c3 100644 --- a/src/components/layout/BottomNav.astro +++ b/src/components/layout/BottomNav.astro @@ -203,8 +203,31 @@ const pestanas = enEspacio atributo del componente, así que suben por encima de las dos y las pestañas se apilan como tienen que apilarse. */ + /* + Anclada al viewport, no al final del contenedor. + + Era el último hijo de una columna flex de `100vh`, y en un navegador móvil + `100vh` **no es la altura visible**: es la que habría con las barras del + navegador retraídas. Así que el contenedor era más alto que la pantalla y la + barra caía por debajo del corte — en producción, en un teléfono real, no se + veía en absoluto. En el emulador sí, porque allí el viewport y `innerHeight` + coinciden y el fallo no existe. + + `fixed` la saca de esa dependencia: se pega al borde de lo que se ve, pase + lo que pase con la altura del documento o con las barras del navegador + apareciendo y desapareciendo. + + El `env(safe-area-inset-bottom)` es para el indicador de inicio de los + iPhone sin botón, que si no se come la fila de etiquetas. + */ .nav-movil { display: flex; + position: fixed; + bottom: 0; + left: 0; + right: 0; + z-index: 40; + padding-bottom: env(safe-area-inset-bottom, 0px); } /* diff --git a/src/components/notion/EditorClient.astro b/src/components/notion/EditorClient.astro index 83c4914..6c9e31d 100644 --- a/src/components/notion/EditorClient.astro +++ b/src/components/notion/EditorClient.astro @@ -66,8 +66,27 @@ function formatDate(dateStr: string | undefined) { )} + {/* El índice se abre desde aquí, no desde un botón flotante. + + Flotando chocaba con todo: abajo quedaba fuera del área visible por el + `100vh` del armazón, y arriba se comía el título de la página. Dos + intentos, dos colisiones — la señal de que el sitio equivocado era + «flotando», no «arriba» o «abajo». + + En la fila del título no se superpone a nada, y queda a la izquierda del + título igual que el árbol está a la izquierda del texto en escritorio. */} -
+
+
-{/* Abre el cajón. Solo en móvil: en escritorio el árbol ya está a la vista. - - `z-20` y no `z-50`: por encima del contenido de la página, pero por debajo - del velo del propio cajón (`z-30`) y del desplegable de notificaciones - (`z-50`). Con `z-50` el botón se quedaba flotando encima de los dos, tapando - la cabecera del cajón que él mismo acababa de abrir. - - Anclado **arriba**, no abajo. Abajo se montaba encima de la primera pestaña - de la barra de navegación, y subirlo para esquivarla lo dejaba fuera del - área visible: en emulación móvil el viewport de maquetación es más alto que - el que se ve, así que `bottom` no cae donde parece. Arriba no hay ninguna de - las dos cosas — y es donde el índice está en escritorio, así que se busca en - el mismo sitio en las dos pantallas. */} - +{/* El botón que abre este cajón vive en la fila del título del editor + (`EditorClient.astro`), no aquí. Estuvo flotando y chocó con el contenido + las dos veces que se intentó — abajo se salía de la pantalla, arriba tapaba + el título. El manejador sigue aquí abajo porque el cajón es de este + componente; lo busca por id. */} - +
-
+ {/* `pb-16` en móvil: la barra inferior es `fixed`, así que ya no ocupa + sitio en el flujo y taparía los últimos 64 px de lo que se desplaza. + El relleno va dentro del contenedor con scroll, así que el contenido + sube por encima de él al desplazarse. */} +
diff --git a/src/pages/w/[sys_tag]/board.astro b/src/pages/w/[sys_tag]/board.astro index 5cda1ad..7d2eeef 100644 --- a/src/pages/w/[sys_tag]/board.astro +++ b/src/pages/w/[sys_tag]/board.astro @@ -353,7 +353,7 @@ const metaDescription = `${workspace.name} board on Forge OS. Track issues, spri -