feat: nuevo dashboard de seguimiento nutricional v2
● Changes requested
6
Comentarios totales
4
Hilos inline
2
Conversación
1
Changes requested
4/6
Resueltos
2
Pendientes
$ python3 scripts/fetch_comments.py | python3 -m json.tool
# Verificando autenticación gh CLI...
✓ gh auth status: Logged in to github.com as cultivaia-bot (oauth_token)
✓ Rama actual: feat/pet-dashboard-v2 → PR #47 (nutripaw-org/nutripaw-web)
# Ejecutando GraphQL queries (paginadas)...
✓ Comentarios de conversación: 2 encontrados
✓ Reviews: 1 encontrada (state: CHANGES_REQUESTED)
✓ Hilos de revisión inline: 4 encontrados (1 resuelto, 3 pendientes)
# Output JSON completo guardado en pr_comments.json
✓ 7 elementos procesados — mostrando resumen numerado abajo...
Paso 1 — Comentarios detectados y numerados
Hilos de revisión inline
4
INLINE THREADS
Comentarios de conversación
2
CONVERSACIÓN
#5
Conversación
RESUELTO
hace 2 días
Buen trabajo en general. ¿Podéis añadir tests unitarios para NutritionChart?
El coverage actual de ese componente es 0%. Con la lógica de cálculo que tiene, necesitamos
al menos los casos edge de mascota sin datos y rango de fechas vacío.
✅ Resuelto — Tests añadidos en NutritionChart.test.tsx (coverage 78%)
#6
Conversación
INFORMATIVO
hace 1 día
¡El nuevo diseño del dashboard se ve muy bien! Los clientes beta de la semana pasada preguntaron específicamente por poder exportar el PDF del historial nutricional. ¿Lo ponemos en el roadmap para el siguiente sprint? No es blocker para este PR.
💬 Comentario informativo — no requiere cambios de código en este PR.
Review formal
1
CHANGES REQUESTED
CHANGES_REQUESTED — elena-torres
Enviado hace 1 día
He revisado el PR completo. Los cambios principales son sólidos, pero hay 3 problemas que deben resolverse antes del merge:
- Memoización del hook
usePetNutrition(ver hilo #1) — ✅ Resuelto - Error handling en
fetchNutritionData(ver hilo #2) — ✅ Resuelto - Duplicación de requests en
WeightTracker(ver hilo #3) — ⏳ Pendiente
🤖 Paso 2 — Selección de comentarios a aplicar
He encontrado 6 comentarios en el PR #47. Resumen:
¿Qué comentarios quieres que aplique? Escribe los números separados por comas (ej:
- #1 — useMemo en usePetNutrition [ya resuelto]
- #2 — Error handling en fetchNutritionData [ya resuelto]
- #3 — Refactorizar WeightTracker para usar contexto [PENDIENTE]
- #4 — Añadir aria-label al botón (accesibilidad) [PENDIENTE]
- #5 — Tests para NutritionChart [ya resuelto]
- #6 — Sugerencia de exportar PDF (no blocker, informativo)
¿Qué comentarios quieres que aplique? Escribe los números separados por comas (ej:
3,4), o todos:
Tu respuesta > 3, 4
✅ Aplicando fixes para comentarios #3 y #4...
⚙️ Paso 3 — Aplicando correcciones seleccionadas
# Fix #3 — WeightTracker: reemplazar fetch directo por contexto
✓ Editando: src/components/PetDashboard/WeightTracker.tsx
- Eliminado: useState([]) + useEffect fetch
+ Añadido: const { petData } = usePetDataContext()
+ Añadido: const weights = petData?.weightHistory ?? []
# Fix #4 — Dashboard: aria-label en botón de historial
✓ Editando: src/pages/dashboard/[petId].tsx
+ Añadido: aria-label="Ver historial nutricional completo de la mascota"
$ git add src/components/PetDashboard/WeightTracker.tsx src/pages/dashboard/[petId].tsx
$ git commit -m "fix: address PR #47 review comments #3 and #4"
[feat/pet-dashboard-v2 a3f9d21] fix: address PR #47 review comments #3 and #4
2 files changed, 6 insertions(+), 4 deletions(-)
Resumen final
Comentarios resueltos
6 / 6
100% completado
Archivos modificados
2
WeightTracker.tsx, [petId].tsx
Commits creados
1
a3f9d21
Estado del PR
Listo
Re-request review a elena-torres
Generado por gestionar-comentarios-pr-github · CULTIVA IA Arsenal · PR #47 nutripaw-org/nutripaw-web
El hook
usePetNutritionse llama en cada render sin memoizar. Esto causa recalculaciones innecesarias cada vez que el padre re-renderiza. Envuelve el valor de retorno enuseMemo.La función
fetchNutritionDatano maneja el caso de error del fetch. Si la API devuelve 500, el componente se queda cargando indefinidamente. Añade try/catch y propaga el error.El componente
WeightTrackerhace su propia llamada a la API en lugar de usar el contextoPetDataContextque ya tenemos. Esto duplica requests al backend. Refactoriza para consumir el contexto.Acción requerida: Reemplazar llamada directa a API por
usePetDataContext()y eliminar eluseEffectde fetch.Falta la propiedad
aria-labelen el botón de "Ver historial completo". Esto rompe accesibilidad para usuarios con lector de pantalla. Es un blocker de producción.Acción requerida: Añadir
aria-labeldescriptivo al botón. Blocker de accesibilidad.