Skip to content

refactor(HeaderNav): standardize navigation item labels and add curre…#1522

Merged
dresandev merged 1 commit into
midudev:mainfrom
dresandev:feat/current-nav-item
Jun 12, 2026
Merged

refactor(HeaderNav): standardize navigation item labels and add curre…#1522
dresandev merged 1 commit into
midudev:mainfrom
dresandev:feat/current-nav-item

Conversation

@dresandev

@dresandev dresandev commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator
  • 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:
image

Depúes desktop:
image

Antes mobile:
image

Despúes mobile:
image

Esta PR surge en base a la PR #1519

Summary by CodeRabbit

Notas de Lanzamiento

  • Mejoras
    • Optimización de la navegación con ajustes visuales en los modos desktop y móvil.
    • Mejora de la accesibilidad con indicadores de navegación activa.
    • Actualización de estilos decorativos para mayor claridad visual.

@dresandev dresandev self-assigned this Jun 12, 2026
@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

HeaderNav.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.

Changes

Navegación con Accesibilidad y Decoración Visual

Layer / File(s) Summary
Utilidades de ruta y estructura NAV_ITEMS
src/components/HeaderNav.astro
Se crean helpers derivados de Astro.url.pathname (currentPathname, isCurrentNavItem, shouldReloadNavItem) y se redefine NAV_ITEMS con texto minúscula, propiedades disabled y note para cada ítem.
Renderizado de escritorio con aria-current
src/components/HeaderNav.astro
El nav de escritorio usa aria-current para enlace activo, renderiza elementos deshabilitados con clases inline, incluye render condicional de notas, y ajusta la lógica visual del underline decorativo con transiciones.
Renderizado de móvil con decoración radial
src/components/HeaderNav.astro
El nav móvil usa aria-current en enlaces habilitados, ajusta clases inline de deshabilitados, y añade una capa decorativa con gradiente radial que responde al estado activo mediante selectores por atributo.

🎯 3 (Moderate) | ⏱️ ~20 minutes

🐰 En la navegación que brilla hoy,
aria-current ha llegado con su luz,
Los helpers guían el camino hacia la ruta activa,
Escritorio y móvil con decoración en cruz,
Un nav renovado, ¡qué cambio tan feliz!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed El título está parcialmente relacionado con los cambios: menciona 'standardize navigation item labels' pero está truncado (con '…') y no captura completamente la característica principal de agregar indicación visual del enlace activo.
Description check ✅ Passed La descripción cubre la mayoría de secciones requeridas pero carece de varias del template: no tiene checkbox de Type explícito, falta la sección 'Related Issue', no completa la checklist de pruebas, y no incluye información sobre 'Breaking Changes'.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
src/components/HeaderNav.astro (1)

28-32: ⚡ Quick win

Mejorar 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" con aria-disabled="true" y title="Próximamente". El atributo title no es óptimo para lectores de pantalla. La misma solución se aplica a ambos: reemplazar title con aria-label que 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

📥 Commits

Reviewing files that changed from the base of the PR and between efaa6ce and 7c09a78.

📒 Files selected for processing (1)
  • src/components/HeaderNav.astro

Comment thread src/components/HeaderNav.astro
Comment thread src/components/HeaderNav.astro
@dresandev dresandev merged commit 82d26d3 into midudev:main Jun 12, 2026
2 of 3 checks passed
@dresandev dresandev mentioned this pull request Jun 12, 2026
10 tasks
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