Skip to content

feat(ui): plegar la portada y dejar la barra de acciones en una fila - #56

Merged
Endika merged 4 commits into
mainfrom
feat/collapsible-shell
Aug 7, 2026
Merged

feat(ui): plegar la portada y dejar la barra de acciones en una fila#56
Endika merged 4 commits into
mainfrom
feat/collapsible-shell

Conversation

@Endika

@Endika Endika commented Aug 7, 2026

Copy link
Copy Markdown
Owner

La portada medía 3,1 pantallas en un móvil de 390 px y tenía diez botones a la vista antes de
signar nada: el 62 % de su altura eran cuatro tarjetas secundarias siempre abiertas, y la
tarjeta de almacenamiento (507 px) era más alta que el propio vídeo (477 px).

Mismo Chrome, mismo build de producción, node tools/browser/layout.mjs:

antes 390 después 390 antes 320 después 320
Altura de página 2624 px (3,1 pantallas) 1289 px (1,5) 2982 px (4,7) 1274 px (2,0)
Botones visibles, cámara apagada 10 1 10 1
Barra de acciones, en uso 110 px (2 filas) 71 px (1 fila) 170 px (3 filas) 131 px (2 filas)
Desbordamiento horizontal 0 0 0 0

Los bloques secundarios pasan de 1615 px a 339.

Qué cambia

  • Los cuatro bloques secundarios son <details> nativos — Enseñar (con "Tus signos"
    dentro, ya no es tarjeta propia), Espacio, Diagnóstico y Qué reconoce. Al ser nativos, el
    panel de diagnóstico pierde su botón y su estado open en JS. La cifra de fiabilidad vive
    en el <summary>, no detrás de él: plegar esa tarjeta no puede costar la única frase que
    dice que el modelo es falible.
  • Una fila de acciones. "Deshacer" y "Limpiar" sólo existen cuando hay texto que borrar.
    Cambiar de cámara sale de la barra y pasa a un botón de 44×44 sobre el vídeo, por el mismo
    argumento que ya puso ahí los chips de partes del cuerpo. El hueco que la barra fija reserva
    se mide con un ResizeObserver en vez de ser una constante que se queda obsoleta.
  • tools/browser/layout.mjs, versionado con su README. jsdom no calcula alturas, así que
    nada de npm test podía ver este problema; sirve dist/ él mismo para esquivar la trampa
    de vite preview con el base de producción.
  • Tres tests nuevos de panel con puertos falsos en memoria: los details arrancan cerrados, el
    diagnóstico pinta al abrirse la última lectura recibida mientras estaba cerrado, y el
    formulario y la lista de signos siguen bajo la misma tarjeta.

Lo que no cumple

  • El objetivo que me puse era ≤ 1200 px y salen 1289. Lo que queda ya no es adorno: vídeo 477,
    transcripción 96, barra 50, cabecera 53. Bajar de ahí es encoger el vídeo o la caja de texto.
  • Que "Deshacer" y "Limpiar" aparezcan al llegar texto no tiene test: es una línea en
    render(), y provocarlo de verdad exige cámara y un signo reconocido. El harness mide la
    maquetación que producen, no el camino hasta ellos.
  • "Borrar último" pasa a "Deshacer" porque con la etiqueta larga la fila se desbordaba por 8 px.

@Endika
Endika merged commit a62d3cc into main Aug 7, 2026
7 checks passed
@Endika
Endika deleted the feat/collapsible-shell branch August 7, 2026 20:59
@Endika Endika mentioned this pull request Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant