refactor(HeaderNav): standardize navigation item labels and add curre…#1522
Conversation
📝 WalkthroughWalkthroughHeaderNav.astro se reorganiza para determinar dinámicamente la navegación activa usando la ruta actual. Se introduce utilidades helper, se estructura NAV_ITEMS con propiedades disable y note, y se actualiza el renderizado de escritorio y móvil con aria-current, estilos inline y decoraciones visuales responsivas al estado activo. ChangesNavegación con Accesibilidad y Decoración Visual
🎯 3 (Moderate) | ⏱️ ~20 minutes
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install timed out. The project may have too many dependencies for the sandbox. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
src/components/HeaderNav.astro (1)
28-32: ⚡ Quick winMejorar accesibilidad de elementos deshabilitados en
src/components/HeaderNav.astro(escritorio y móvil).Tanto en la navegación de escritorio (líneas 28-32) como en la móvil (líneas 65-69), los elementos deshabilitados usan
role="link"conaria-disabled="true"ytitle="Próximamente". El atributotitleno es óptimo para lectores de pantalla. La misma solución se aplica a ambos: reemplazartitleconaria-labelque combine el label del ítem con el texto "Próximamente" para una experiencia de accesibilidad más robusta.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/HeaderNav.astro` around lines 28 - 32, Los elementos deshabilitados en HeaderNav.astro están usando role="link", aria-disabled="true" y title="Próximamente"; reemplaza el atributo title por aria-label que combine el texto visible del ítem con "Próximamente" para que lectores de pantalla anuncien correctamente el estado (aplica la misma corrección tanto en el bloque con role='link' aria-disabled='true' alrededor de class='relative inline-flex...' como en el bloque equivalente de la navegación móvil). Asegúrate de quitar title="Próximamente" y añadir aria-label="{visibleLabel} — Próximamente" o la concatenación apropiada para cada elemento deshabilitado.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/components/HeaderNav.astro`:
- Line 7: currentPathname in HeaderNav.astro uses Astro.url.pathname without
normalization causing mismatch with Layout.astro’s normalized paths; update the
computation of currentPathname (and any uses around the spots noted at lines
15-16) to strip a trailing slash unless the path is exactly "/" so it matches
Layout.astro’s behavior and lets isCurrentNavItem correctly detect the active
nav item.
- Line 83: La clase de Tailwind en HeaderNav.astro usa la variante inválida
-z-1; reemplaza esa versión por la sintaxis compatible z-[-1] en la cadena de
clases (o añade -1 a la escala zIndex en la configuración de Tailwind si
prefieres configuración centralizada) para que el z-index negativo se aplique
correctamente, por ejemplo localizar la línea que contiene "pointer-events-none
... -z-1 h-full ..." y cambiar solo el token -z-1 por z-[-1].
---
Nitpick comments:
In `@src/components/HeaderNav.astro`:
- Around line 28-32: Los elementos deshabilitados en HeaderNav.astro están
usando role="link", aria-disabled="true" y title="Próximamente"; reemplaza el
atributo title por aria-label que combine el texto visible del ítem con
"Próximamente" para que lectores de pantalla anuncien correctamente el estado
(aplica la misma corrección tanto en el bloque con role='link'
aria-disabled='true' alrededor de class='relative inline-flex...' como en el
bloque equivalente de la navegación móvil). Asegúrate de quitar
title="Próximamente" y añadir aria-label="{visibleLabel} — Próximamente" o la
concatenación apropiada para cada elemento deshabilitado.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 13a5c162-0569-4b4a-b2dd-a172bee0f7ec
📒 Files selected for processing (1)
src/components/HeaderNav.astro
Se agrega la indicación visual del enlace activo en el header.
Se eliminan las constantes que centralizaban clases de Tailwind. Mantener las clases directamente en los elementos facilita la navegación y edición de estilos, ya que evita tener que desplazarse entre la definición de las clases y el marcado donde se aplican.
Adicionalmente, las herramientas de desarrollo de Tailwind, como el autocompletado y el resaltado de clases, funcionan de forma más consistente cuando las clases se encuentran directamente en los atributos del elemento, mejorando la experiencia de desarrollo y mantenimiento del código.
Antes desktop:

Depúes desktop:

Antes mobile:

Despúes mobile:

Esta PR surge en base a la PR #1519
Summary by CodeRabbit
Notas de Lanzamiento