## ST-3.3 Documentation (3 SP) - Add 11 page specification files documenting 25 pages - Create docs/05-frontend/pages/ directory - Specs: Goals, MLM, Portfolio, RBAC, Notifications, Analytics, Audit, Storage, Webhooks, Settings - Add _INDEX.md with complete listing ## ST-3.4 Dead Code Analysis (1 SP) - Analyze usePortfolio hook usage (18/21 functions used) - Document components ready for future use - Decision: Keep all code as preparation for features - Create DEAD-CODE-REPORT.md ## Frontend Submodule - WCAG improvements (11 files) - 160 unit tests (8 new test files) Sprint 3 (P2) completed: 14 SP Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
6.7 KiB
Goals Pages Specification
Modulo: goals Ultima actualizacion: 2026-02-03 Total Paginas: 5
1. GoalsPage (Dashboard)
Ruta: /dashboard/goals
Archivo: src/pages/dashboard/goals/GoalsPage.tsx
Descripcion
Dashboard principal del modulo de metas. Muestra un resumen de las metas del usuario y de la organizacion, con metricas clave y accesos rapidos.
Componentes Utilizados
- Summary Cards (custom) - Tarjetas de resumen con iconos
- Goals List - Listado de metas activas
- Top Performers - Ranking de usuarios
- Quick Actions - Enlaces rapidos a otras paginas
Hooks Utilizados
useGoalDefinitions()- Obtiene definiciones de metas activasuseMyGoalsSummary()- Obtiene resumen de metas del usuariouseGoalCompletionReport()- Obtiene reporte de completitud generaluseGoalUserReport()- Obtiene ranking de usuarios
Funcionalidades
- Mostrar metricas personales (activas, logradas, en riesgo, progreso promedio)
- Mostrar overview de la organizacion
- Listar metas activas con estado y asignados
- Mostrar top 5 performers
- Accesos rapidos a otras secciones
Estados
- Loading: Spinner centrado
- Success: Muestra dashboard completo
- Empty: Mensajes individuales por seccion
Acciones del Usuario
| Accion | Resultado |
|---|---|
| Click en meta | Navega a detalle |
| Click en Quick Action | Navega a seccion |
Permisos Requeridos
- Usuario autenticado
2. DefinitionsPage
Ruta: /dashboard/goals/definitions
Archivo: src/pages/dashboard/goals/DefinitionsPage.tsx
Descripcion
Listado y gestion de definiciones de metas. Permite crear, editar, duplicar y eliminar definiciones de metas.
Componentes Utilizados
- Filters Panel - Filtros por status, periodo, categoria
- Definitions Table - Tabla con paginacion
- Status Badge - Badges de estado con color
Hooks Utilizados
useGoalDefinitions(filters)- Lista definiciones con filtrosuseDeleteGoalDefinition()- Elimina definicionuseUpdateGoalStatus()- Cambia estado de definicionuseDuplicateGoalDefinition()- Duplica definicion
Funcionalidades
- Filtrar por status (draft, active, paused, completed, cancelled)
- Filtrar por periodo (daily, weekly, monthly, quarterly, yearly)
- Filtrar por categoria
- Buscar por nombre
- Cambiar estado inline via select
- Ver, editar, duplicar, eliminar desde tabla
Estados
- Loading: Spinner centrado
- Error: Mensaje de error
- Empty: Icono + mensaje + CTA para crear
- Success: Tabla con definiciones
Acciones del Usuario
| Accion | Resultado |
|---|---|
| Click "+ New Definition" | Navega a formulario |
| Cambiar status select | Actualiza estado |
| Click "View" | Navega a detalle |
| Click "Edit" | Navega a edicion |
| Click "Duplicate" | Crea copia |
| Click "Delete" | Confirm + elimina |
Permisos Requeridos
goals:read- Ver listadogoals:write- Crear/editar/duplicargoals:delete- Eliminar
3. MyGoalsPage
Ruta: /dashboard/goals/my-goals
Archivo: src/pages/dashboard/goals/MyGoalsPage.tsx
Descripcion
Vista personal de metas asignadas al usuario actual. Permite ver progreso y actualizar avance manualmente.
Componentes Utilizados
- Summary Cards - Resumen de estadisticas personales
- Goal Cards - Tarjetas de meta con barra de progreso
- Progress Form - Formulario inline para actualizar progreso
Hooks Utilizados
useMyGoals()- Lista metas asignadas al usuariouseMyGoalsSummary()- Resumen de estadisticasuseUpdateMyGoalProgress()- Actualiza progreso de meta
Funcionalidades
- Ver resumen personal (total, activas, logradas, en riesgo, progreso promedio)
- Ver tarjetas de cada meta con progreso visual
- Ver dias restantes por meta
- Actualizar progreso manualmente con notas
- Navegar a detalle de asignacion
Estados
- Loading: Spinner centrado
- Error: Mensaje de error
- Empty: Mensaje "No goals assigned" + link
- Success: Lista de tarjetas de metas
Acciones del Usuario
| Accion | Resultado |
|---|---|
| Click "Update Progress" | Abre formulario inline |
| Submit progreso | Guarda nuevo valor |
| Click "Cancel" | Cierra formulario |
| Click "View Details" | Navega a detalle |
Permisos Requeridos
- Usuario autenticado
4. ReportsPage
Ruta: /dashboard/goals/reports
Archivo: src/pages/dashboard/goals/ReportsPage.tsx
Descripcion
Reportes detallados de metas con estadisticas de completitud, rendimiento por usuario y exportacion CSV.
Componentes Utilizados
- Date Range Filter - Filtro de fechas
- Summary Cards - KPIs principales
- Status Distribution Bars - Barras de progreso por estado
- User Performance Table - Tabla de rendimiento
- Active Goals List - Lista de metas activas
Hooks Utilizados
useGoalCompletionReport(startDate, endDate)- Reporte de completituduseGoalUserReport()- Reporte por usuariouseGoalDefinitions({status: 'active'})- Metas activas
Funcionalidades
- Filtrar por rango de fechas
- Ver KPIs: total, logradas, tasa completitud, progreso promedio
- Ver distribucion por estado (achieved, active, failed)
- Ver usuarios con logros y top performer
- Ver tabla de rendimiento por usuario con ranking
- Exportar a CSV (summary y user report)
Estados
- Loading: Spinner centrado
- Success: Dashboard de reportes
- Empty: Mensajes por seccion
Acciones del Usuario
| Accion | Resultado |
|---|---|
| Seleccionar fecha inicio | Filtra datos |
| Seleccionar fecha fin | Filtra datos |
| Click "Clear Filters" | Limpia filtros |
| Click "Export Summary" | Descarga CSV summary |
| Click "Export User Report" | Descarga CSV usuarios |
| Click "View" en meta | Navega a detalle |
Permisos Requeridos
goals:read- Ver reportesreports:export- Exportar CSV
5. AssignmentsPage
Ruta: /dashboard/goals/assignments
Archivo: src/pages/dashboard/goals/AssignmentsPage.tsx
Descripcion
Gestion de asignaciones de metas a usuarios. Permite ver, filtrar y gestionar asignaciones.
Componentes Utilizados
- Filters Panel - Filtros multiples
- Assignments Table - Tabla con paginacion
- Status Badge - Badges de estado
Hooks Utilizados
useGoalAssignments(filters)- Lista asignacionesuseDeleteAssignment()- Elimina asignacion
Funcionalidades
- Filtrar por definicion, usuario, estado
- Ver tabla con progreso visual
- Navegar a detalle de asignacion
Estados
- Loading: Spinner centrado
- Error: Mensaje de error
- Empty: Mensaje + CTA
- Success: Tabla de asignaciones
Permisos Requeridos
goals:read- Ver listadogoals:assign- Crear asignacionesgoals:delete- Eliminar asignaciones
Documentacion generada - Template SaaS - 2026-02-03