## 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.8 KiB
MLM Pages Specification
Modulo: mlm Ultima actualizacion: 2026-02-03 Total Paginas: 5
1. MLMPage (Dashboard)
Ruta: /dashboard/mlm
Archivo: src/pages/dashboard/mlm/MLMPage.tsx
Descripcion
Dashboard principal del modulo MLM (Marketing Multinivel). Muestra resumen de red, rango actual, progreso hacia siguiente rango y estructuras activas.
Componentes Utilizados
- Summary Cards - Tarjetas con metricas clave
- Rank Display - Muestra rango actual con badge visual
- Next Rank Progress - Barras de progreso hacia siguiente rango
- Volume Summary - Resumen de volumenes
- Active Structures Grid - Grid de estructuras activas
- Quick Actions - Enlaces rapidos
Hooks Utilizados
useMyDashboard()- Obtiene dashboard personal MLMuseStructures({isActive: true})- Lista estructuras activas
Funcionalidades
- Ver metricas principales (downline total, referidos directos, volumen grupo, ganancias)
- Ver rango actual con nivel y badge
- Ver progreso hacia siguiente rango (PV, GV, referidos requeridos)
- Ver resumen de volumenes (personal, grupo, downline activos)
- Ver estructuras MLM activas
- Accesos rapidos a otras secciones
Estados
- Loading: Spinner centrado
- Success: Dashboard completo
- No Rank: Mensaje "No rank assigned yet"
- Top Rank: Mensaje "You've reached the highest rank!"
Acciones del Usuario
| Accion | Resultado |
|---|---|
| Click en estructura | Navega a detalle |
| Click Quick Action | Navega a seccion |
Permisos Requeridos
- Usuario autenticado
2. StructuresPage
Ruta: /dashboard/mlm/structures
Archivo: src/pages/dashboard/mlm/StructuresPage.tsx
Descripcion
Listado y gestion de estructuras MLM. Permite crear, ver y eliminar estructuras con diferentes tipos (unilevel, binary, matrix, hybrid).
Componentes Utilizados
- Filters Panel - Filtros por tipo y estado
- Structure Cards Grid - Grid de tarjetas de estructura
- Type Badge - Badge con color segun tipo
Hooks Utilizados
useStructures(filters)- Lista estructuras con filtrosuseDeleteStructure()- Elimina estructura
Funcionalidades
- Filtrar por tipo (unilevel, binary, matrix, hybrid)
- Filtrar por estado (activo/inactivo)
- Buscar por nombre
- Ver tarjetas con configuracion (max depth, max width, commission levels)
- Ver estado activo/inactivo
- Eliminar estructura con confirmacion
Estados
- Loading: Spinner centrado
- Error: Mensaje de error
- Empty: Icono + mensaje + CTA
- Success: Grid de tarjetas
Acciones del Usuario
| Accion | Resultado |
|---|---|
| Click "+ Add Structure" | Navega a formulario |
| Cambiar filtro tipo | Filtra estructuras |
| Cambiar filtro estado | Filtra estructuras |
| Buscar | Filtra por nombre |
| Click "View Details" | Navega a detalle |
| Click "Delete" | Confirm + elimina |
Permisos Requeridos
mlm:read- Ver listadomlm:write- Crear/editarmlm:delete- Eliminar
3. MyNetworkPage
Ruta: /dashboard/mlm/my-network
Archivo: src/pages/dashboard/mlm/MyNetworkPage.tsx
Descripcion
Vista de la red personal del usuario. Muestra arbol jerarquico de downline, estadisticas y permite generar enlaces de invitacion.
Componentes Utilizados
- Invite Link Banner - Banner con link de invitacion
- Summary Cards - Metricas de red
- My Rank Card - Tarjeta de rango actual
- Volume Summary Card - Resumen de volumenes
- Network Tree - Arbol de red con nodos expandibles
- Quick Actions - Enlaces rapidos
Hooks Utilizados
useMyDashboard()- Datos del dashboarduseMyNetwork(maxDepth)- Arbol de red con profundidad configurableuseMyRank()- Informacion de rangouseGenerateInviteLink()- Genera link de invitacion
Funcionalidades
- Generar link de invitacion unico
- Copiar link al clipboard
- Ver metricas (downline total, referidos directos, activos, volumen grupo)
- Ver rango actual con color y nivel
- Ver volumenes (personal, grupo, ganancias)
- Ver arbol de red con profundidad configurable (1-10 niveles)
- Ver status de cada nodo (pending, active, inactive, suspended)
Estados
- Loading: Spinner centrado
- Success: Dashboard con arbol
- Empty Network: Mensaje "You're not part of any MLM structure"
- Invite Generated: Muestra banner con link
Acciones del Usuario
| Accion | Resultado |
|---|---|
| Click "Generate Invite Link" | Genera y muestra link |
| Click "Copy" | Copia link al clipboard |
| Cambiar selector depth | Recarga arbol con nueva profundidad |
| Click Quick Action | Navega a seccion |
Permisos Requeridos
- Usuario autenticado
4. RanksPage
Ruta: /dashboard/mlm/ranks
Archivo: src/pages/dashboard/mlm/RanksPage.tsx
Descripcion
Gestion de rangos MLM. Permite ver, crear, editar y eliminar rangos con sus requisitos y bonificaciones.
Componentes Utilizados
- Filters Panel - Filtro por estructura y estado
- Ranks Table - Tabla con nivel, badge, requisitos
- Level Badge - Badge circular con color y nivel
- Requirements Display - Muestra PV, GV, referidos
Hooks Utilizados
useRanks(filters)- Lista rangos con filtrosuseStructures({isActive: true})- Estructuras para filtrouseDeleteRank()- Elimina rangouseEvaluateRanks(structureId)- Evalua rangos de toda la estructura
Funcionalidades
- Filtrar por estructura
- Filtrar por estado (activo/inactivo)
- Ver tabla con nivel, nombre, requisitos, bonus rate, estado
- Evaluar rangos de todos los miembros de una estructura
- Editar y eliminar rangos
Estados
- Loading: Spinner centrado
- Error: Mensaje de error
- Empty: Icono + mensaje + CTA
- Success: Tabla de rangos
Acciones del Usuario
| Accion | Resultado |
|---|---|
| Click "+ Add Rank" | Navega a formulario |
| Seleccionar estructura | Filtra rangos |
| Click "Evaluate All Ranks" | Evalua y actualiza rangos |
| Click "Edit" | Navega a edicion |
| Click "Delete" | Confirm + elimina |
Permisos Requeridos
mlm:read- Ver listadomlm:write- Crear/editar/evaluarmlm:delete- Eliminar
5. MyEarningsPage (MLM)
Ruta: /dashboard/mlm/my-earnings
Archivo: src/pages/dashboard/mlm/MyEarningsPage.tsx
Descripcion
Vista de ganancias MLM del usuario. Muestra comisiones por nivel, bonos y historial.
Componentes Utilizados
- Earnings Summary Cards - Tarjetas de resumen
- Earnings by Level Chart - Grafico por nivel
- Recent Commissions Table - Tabla de comisiones recientes
Hooks Utilizados
useMyMLMEarnings()- Ganancias MLM del usuario
Funcionalidades
- Ver total de ganancias
- Ver ganancias por nivel de la red
- Ver bonificaciones
- Ver historial de comisiones
Estados
- Loading: Spinner centrado
- Empty: Mensaje sin datos
- Success: Dashboard de ganancias
Permisos Requeridos
- Usuario autenticado
Documentacion generada - Template SaaS - 2026-02-03