diff --git a/docs/plan-web-fases.md b/docs/plan-web-fases.md index 06dd923..cb8a21a 100644 --- a/docs/plan-web-fases.md +++ b/docs/plan-web-fases.md @@ -236,7 +236,7 @@ Criterios de aceptación - El indicador de responsables conserva accesibilidad (aria-label/tooltip) y se entiende su semántica. - La densidad aumenta perceptiblemente sin comprometer legibilidad ni foco. -Fase 8 — Orden por fecha o por grupo (corrección y alineación) +Fase 8 — Orden por fecha o por grupo (corrección y alineación) — Estado: Completada Objetivos - Alinear el comportamiento de “Orden: Fecha | Grupo” con expectativas: - Fecha: due_date asc; NULL al final; estable por id. @@ -266,6 +266,21 @@ Criterios de aceptación - El cambio de orden se refleja de forma predecible y consistente en toda la página /app. - Tests cubren due_date NULL, empates y orden de grupos (Personal al final). +Resultado (implementado) +- Backend autoritativo: /api/me/tasks y /api/me/tasks/overview aceptan order=due|group_then_due. +- Modo Fecha: due_date ASC con NULL al final; desempate estable por id. +- Modo Grupo: grupos A→Z con “Personal” al final; dentro de cada grupo due_date ASC con NULL al final; desempate por id. +- Gating consistente aplicado en ambos endpoints. +- UI /app: + - Pasa el parámetro de orden al backend para ambas secciones. + - Evita reordenar en cliente; solo agrupa visualmente “Sin responsable” cuando order=group. + - “Mis tareas (abiertas)” respeta el orden recibido (sin agrupar). + +Pendiente (futuro opcional) +- Añadir pruebas automatizadas de orden para /api/me/tasks y /api/me/tasks/overview (casos con NULL y empates). +- Si se desea, agrupar visualmente por grupo en “Mis tareas (abiertas)” cuando order=group (solo encabezados; sin alterar el orden). +- Considerar índices adicionales si el dataset crece (p. ej., índices por due_date y group_id) para acelerar ORDER BY. + Fase 9 — Semilla de desarrollo enriquecida Objetivos - Disponer de una BD de desarrollo amplia para probar casos reales: