Skip to content

Merge develop on main for final tests - #27

Open
ElMoha943 wants to merge 16 commits into
mainfrom
develop
Open

Merge develop on main for final tests#27
ElMoha943 wants to merge 16 commits into
mainfrom
develop

Conversation

@ElMoha943

Copy link
Copy Markdown
Member

No description provided.

fcarvajalbrown and others added 12 commits August 25, 2026 22:37
Vite pasa de ^5.2.11 a ^8.1.5. El build de produccion compila, con avisos
de deprecacion de vite:react-babel y de optimizeDeps.rollupOptions.

Saco la ruta /admin, AdminShell y AdminPage de App.tsx. El admin ya se
construye por su cuenta con vite-admin.config.ts en otro puerto.
src/pages/AdminPage.tsx se va entero: importaba AdminPage desde PageUI y
renderizaba <PageUI>, asi que nunca compilo. No lo arreglo, lo borro.

Agrego el script typecheck. Hoy tira 203 errores en 35 archivos, todos
anteriores a este commit, y por eso queda fuera de test:prepush.

adminDragModel apunta a ../types/index.ts, el alias @ resuelve a src y
no a ../src, baseUrl se reemplaza por types: [vite/client], y se cae la
prop contentMode de AdminPageProps, que nadie usaba.
ElMoha pidio en el issue #5 poder prender y apagar cada cosa por su cuenta,
y no el interruptor unico que activaba las seis a la vez. El video que dejo
manda: boton flotante Aa abajo a la derecha, modal centrado, y adentro
tema de color, tamano de texto y tres casillas independientes.

vrton-accessibility deja de ser on/off y pasa a ser un JSON con
textSize, highContrast, reduceMotion y underlineLinks. El on viejo se
migra a todo encendido, asi que nadie pierde lo que ya tenia elegido.

El toggle del navbar se va y lo reemplaza el boton flotante. El del tema se
queda, pero useTheme deja de ser estado local de cada componente y pasa a
store compartido: con dos controles del mismo tema, el de la barra y el del
panel, el estado local se desincronizaba solo.

Los criterios 6 y 7 del issue, areas clickeables e interlineado 1.8, no
tienen casilla propia en el video. Van con el tamano de texto: quien agranda
la letra es el mismo que quiere mas aire y un boton mas grande. En Normal el
sitio queda igual que antes, que es el criterio 10.

11 tests nuevos en Playwright cubren las opciones sueltas, la persistencia,
la migracion del formato viejo, Escape, y accesibilidad junto a modo oscuro.
Main ya traia el PR #10 mergeado, asi que esta rama reescribe algo que ya
esta vivo. Tres conflictos, ninguno en el panel.

package.json y package-lock.json: main subio Vite a ^8.2.1 por su cuenta en
el #20. Gana main y mi ^8.1.5 se cae. El script typecheck se queda.

App.tsx: main sumo las rutas de eventos y los redirect legales, y todavia
tiene la ruta /admin. Se rehace el corte del admin encima de lo nuevo.

events.spec.ts y legal.spec.ts apretaban el .a11y-toggle del navbar, que ya
no existe. Ahora abren el panel y marcan Alto contraste.
Ninguna de las seis tiene que ver con accesibilidad. Estaban rotas de antes
y las verifique en un worktree limpio de main para no atribuirmelas.

playwright.config.ts se llevaba puestas homepageBasePath y legalBasePath.
Esas dos necesitan el servidor levantado con el prefijo /vrton-cms/, que es
lo que hace playwright.base-path.config.ts. En la corrida normal fallaban
por pedirle a la raiz algo que solo existe bajo el prefijo. Van a testIgnore.

events.spec.ts esperaba "U$D 3.255" y la pagina muestra "USD 3.255". La
seccion trae el monto duplicado, uno en items y otro en rows, y el que se
renderiza es el de rows. El de items es resto de la migracion.

itinerary.spec.ts esperaba "Lorem ipsum dolor sit amet" dentro de la
descripcion de una actividad. Ese texto no existe en content/ y nunca
existio en ningun commit: sale del fixture del test unitario de
getItineraryDescriptionPreview, que si cubre el corte de la primera linea y
lo sigue cubriendo. Tambien pedia .itinerary-modal-image, y ninguna
actividad del itinerario tiene imagen. Las dos aserciones se van y la prueba
pasa a decir lo que de verdad comprueba.
El issue estaba escrito sobre un solo interruptor que activaba las seis
cosas juntas, y el video de ElMoha no tiene ninguno. Al separar cada opcion
se perdio esa comodidad: quien queria el modo completo pasaba de un clic a
cuatro. El maestro devuelve el atajo sin sacarle a nadie el control fino.

Va arriba de todo en el panel, separado del resto por una linea. Prendido
deja letra Grande, alto contraste, animaciones reducidas y enlaces
subrayados. Apagado devuelve las cuatro a como estaban en una visita nueva.

No toca el tema. Claro, oscuro y ajuste del sistema son una preferencia
aparte y no tienen por que moverse porque alguien pida letra mas grande.

Cuando hay algunas opciones prendidas y otras no, queda en mixto, con la
propiedad indeterminate del checkbox nativo. Eso es lo que hace que el
lector de pantalla lea "mixed" solo, sin inventar un widget. Un checkbox
binario habria mentido: el sitio podia estar en alto contraste y el maestro
diciendo que no habia nada encendido.

ALL_ON_PREFERENCES es el mismo objeto al que se migra el "on" viejo, asi que
prender el maestro y venir del formato anterior dejan el sitio igual.
…anel

Dos cosas que salieron al recorrer el panel con el teclado, no con el mouse.

Las reglas de :focus-visible cubrian a, button, select, summary y
[role="button"], pero no input. Los botones del panel salian con el anillo
de 3px del sitio y las casillas con el de 1px que pone el navegador por su
cuenta. En la misma pantalla convivian dos anillos distintos, y el que peor
se veia era justo el de los controles nuevos. Ahora input entra en las dos
listas, la normal y la de alto contraste, que lo sube a 4px.

El panel tampoco bloqueaba el scroll. Con el modal abierto la rueda del
mouse seguia moviendo la pagina de atras, cosa que el modal del itinerario
ya resolvia guardando el overflow del body y devolviendolo al cerrar. Se
copia ese mismo manejo para que los dos modales del sitio se comporten
igual.

Tres pruebas nuevas: el scroll queda quieto con el panel abierto y vuelve al
cerrarlo, y la primera casilla del panel muestra un outline solid y no el
auto del navegador.

Nota para la revision: input:focus-visible es global y admin.tsx importa
esta misma hoja, asi que los campos del CMS tambien pasan a mostrar el
anillo del sitio. Es el mismo criterio que ya se aplicaba a sus botones.
El componente pintaba un rectangulo blanco opaco sobre todo el hero, con el
valor escrito a mano y sin pasar por el tema: scene.background en 0xffffff y
setClearColor(0xffffff, 1), que ademas anulaban el alpha: true del renderer.

El canvas esta en z-index 0, por encima de .hero-background, asi que en modo
oscuro tapaba el --gradient-hero y dejaba el titulo #f2eeec sobre blanco. En
modo claro no se notaba porque la pagina ya es blanca.

Con el canvas transparente el fondo vuelve a ser el del tema y los corazones
se componen encima. En claro el resultado es el mismo de antes, porque los
corazones ya se veian sobre blanco.

Closes #25
El script previo al primer pintado compartia un solo try con la resolucion
del tema. Un 'off' del modo viejo, que es lo que escribia la version
anterior al apagar el modo, hacia reventar JSON.parse y el catch dejaba
data-theme en 'light', tapando el oscuro que ya se habia resuelto nueve
lineas antes.

Ahora el bloque de accesibilidad tiene su propio try y descarta 'off' sin
parsearlo, igual que hace parseStoredPreferences. Si el valor esta corrupto
se cae a 'normal' y el tema queda intacto.
El unico choque era public/index.html, donde main sumo lang="es" y las
etiquetas og/twitter justo encima del script previo al primer pintado, que
esta rama reescribio entero.

La resolucion toma las dos partes: el idioma y los metadatos de main, y el
script nuevo con el arreglo del valor guardado invalido. El comentario que
main todavia tenia sobre el script no vuelve, esta rama ya lo habia sacado.

generate:content no produce cambios contra lo que venia de main.
El color de limpieza del renderer y la ausencia de fondo en la escena
pasan a heroCanvasBackdrop.ts, que no importa three y por lo tanto se
puede ejecutar en node:test sin WebGL ni canvas.

El test nuevo entra en la lista explicita de test:drag; si no, no lo
corre ni el hook de pre-push ni nada mas.
feat(a11y): panel de preferencias con cada opcion por separado
@ElMoha943
ElMoha943 marked this pull request as ready for review September 2, 2026 20:56
dependabot Bot and others added 4 commits September 2, 2026 20:56
Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.28.2 to 4.28.8.
- [Release notes](https://github.com/browserslist/browserslist/releases)
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md)
- [Commits](browserslist/browserslist@4.28.2...4.28.8)

---
updated-dependencies:
- dependency-name: browserslist
  dependency-version: 4.28.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [postcss-selector-parser](https://github.com/postcss/postcss-selector-parser) from 6.1.2 to 6.1.4.
- [Release notes](https://github.com/postcss/postcss-selector-parser/releases)
- [Changelog](https://github.com/postcss/postcss-selector-parser/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss-selector-parser@v6.1.2...6.1.4)

---
updated-dependencies:
- dependency-name: postcss-selector-parser
  dependency-version: 6.1.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
…ector-parser-6.1.4

chore(deps-dev): bump postcss-selector-parser from 6.1.2 to 6.1.4
…t-4.28.8

chore(deps-dev): bump browserslist from 4.28.2 to 4.28.8
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@motoko-section9 motoko-section9 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Powned by Motoko 🐈‍⬛

PR #27 — Merge develop on main for final tests

Anti-IA Slop: 🟢 Clean

Code Auditor: 🟡 8.0/10 — NEEDS WORK

  • 4 issues importantes
    • src/components/common/AccessibilityPanel.tsx — large diff block (302 lines)
    • src/styles/index.css — large diff block (350 lines)

Dependencias: ⚠️ Revisión manual

  • Cambios en: package-lock.json, package.json

Veredicto: ❌ CAMBIOS SOLICITADOS

— Motoko

@fcarvajalbrown fcarvajalbrown left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM nosé porqué el bot desastroso dice que 300 es mucho código acaso 299 está bien? Jajaj

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.

4 participants