fix(frontend): hidratación rota por fecha no determinista + login aparte + sidebar animado #10

Merged
mane merged 1 commit from fix/frontend-hydration-and-ui into main 2026-06-29 05:03:42 +00:00
Owner

Fix del crash "Something went wrong" (client-side): fmtDate del Feed usaba
toLocaleDateString sin timezone → el server (UTC) y el navegador (UTC-6)
renderizaban días distintos en items cerca de medianoche → hydration mismatch
que tumbaba TODO el árbol (sin errorComponent, subía a la raíz y borraba la
sidebar). Ahora formatea en UTC sin Intl (determinista server=cliente).

Robustez: defaultErrorComponent en el router → un fallo de ruta queda contenido
en el área de contenido (la sidebar sobrevive) y muestra el error real, en vez
de pantalla en blanco genérica.

UX (pedido): login separado en pantalla propia (sin sidebar/header, vía
useRouterState en el root) + sidebar con animaciones CSS (entrada escalonada,
barra de acento que crece en el activo, micro-interacciones de hover) sin añadir
dependencias.

Verificado: build de imagen OK, SSR 200 en las 6 rutas (login sin sidebar, resto
con), tsc/biome limpios.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com

Fix del crash "Something went wrong" (client-side): fmtDate del Feed usaba toLocaleDateString sin timezone → el server (UTC) y el navegador (UTC-6) renderizaban días distintos en items cerca de medianoche → hydration mismatch que tumbaba TODO el árbol (sin errorComponent, subía a la raíz y borraba la sidebar). Ahora formatea en UTC sin Intl (determinista server=cliente). Robustez: defaultErrorComponent en el router → un fallo de ruta queda contenido en el área de contenido (la sidebar sobrevive) y muestra el error real, en vez de pantalla en blanco genérica. UX (pedido): login separado en pantalla propia (sin sidebar/header, vía useRouterState en el root) + sidebar con animaciones CSS (entrada escalonada, barra de acento que crece en el activo, micro-interacciones de hover) sin añadir dependencias. Verificado: build de imagen OK, SSR 200 en las 6 rutas (login sin sidebar, resto con), tsc/biome limpios. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
fix(frontend): hidratación rota por fecha no determinista + login aparte + sidebar animado
Some checks failed
CI / quality (pull_request) Failing after 21s
CI / integration (pull_request) Failing after 30s
6f000c37da
Fix del crash "Something went wrong" (client-side): fmtDate del Feed usaba
toLocaleDateString sin timezone → el server (UTC) y el navegador (UTC-6)
renderizaban días distintos en items cerca de medianoche → hydration mismatch
que tumbaba TODO el árbol (sin errorComponent, subía a la raíz y borraba la
sidebar). Ahora formatea en UTC sin Intl (determinista server=cliente).

Robustez: defaultErrorComponent en el router → un fallo de ruta queda contenido
en el área de contenido (la sidebar sobrevive) y muestra el error real, en vez
de pantalla en blanco genérica.

UX (pedido): login separado en pantalla propia (sin sidebar/header, vía
useRouterState en el root) + sidebar con animaciones CSS (entrada escalonada,
barra de acento que crece en el activo, micro-interacciones de hover) sin añadir
dependencias.

Verificado: build de imagen OK, SSR 200 en las 6 rutas (login sin sidebar, resto
con), tsc/biome limpios.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
mane merged commit 48997cc1e9 into main 2026-06-29 05:03:42 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
mane/dev-platform!10
No description provided.