# ESPECIFICACION TECNICA - FASE 5A
## Cambios en Sidebar (Bajo Riesgo)
**Fecha:** 2025-12-15
**Prioridad:** ALTA (ejecutar primero)
**Riesgo:** BAJO
**Tiempo estimado de implementacion:** 1-2 horas
---
## 1. OBJETIVO
Remover del sidebar de navegacion las paginas que no se van a usar en esta fase:
- Comunicacion (bloqueada por feature flag)
- Contenido (bloqueada por feature flag)
- Recursos (stub sin implementacion)
- Estudiantes (sera migrada a Dashboard - FASE 5B)
- Analiticas (sera fusionada con Progress - FASE 5C)
---
## 2. ARCHIVOS A MODIFICAR
### 2.1 GamilitSidebar.tsx
**Ruta:** `/home/isem/workspace/projects/gamilit/apps/frontend/src/shared/components/layout/GamilitSidebar.tsx`
**Seccion a modificar:** Lines 192-277 (array `teacherItems`)
#### CODIGO ACTUAL (lineas 192-277):
```typescript
const teacherItems = [
{
id: 'classes',
label: 'Mis Aulas *',
path: '/teacher/classes',
icon: 'School',
},
{
id: 'students',
label: 'Estudiantes *',
path: '/teacher/students',
icon: 'Users',
},
{
id: 'monitoring',
label: 'Monitoreo *',
path: '/teacher/monitoring',
icon: 'User',
},
{
id: 'assignments',
label: 'Asignaciones *',
path: '/teacher/assignments',
icon: 'Calendar',
},
{
id: 'responses',
label: 'Respuestas',
path: '/teacher/responses',
icon: 'ClipboardList',
},
{
id: 'reviews',
label: 'Revisiones M3-M5',
path: '/teacher/reviews',
icon: 'CheckCircle',
},
{
id: 'progress',
label: 'Progreso *',
path: '/teacher/progress',
icon: 'TrendingUp',
},
{
id: 'alerts',
label: 'Alertas *',
path: '/teacher/alerts',
icon: 'AlertTriangle',
},
{
id: 'analytics',
label: 'Analíticas *',
path: '/teacher/analytics',
icon: 'BarChart3',
},
{
id: 'reports',
label: 'Reportes *',
path: '/teacher/reports',
icon: 'FileText',
},
{
id: 'communication',
label: 'Comunicación *',
path: '/teacher/communication',
icon: 'MessageSquare',
},
{
id: 'content',
label: 'Contenido *',
path: '/teacher/content',
icon: 'BookOpen',
},
{
id: 'gamification',
label: 'Gamificación *',
path: '/teacher/gamification',
icon: 'Trophy',
},
{
id: 'resources',
label: 'Recursos *',
path: '/teacher/resources',
icon: 'Share2',
},
];
```
#### CODIGO PROPUESTO:
```typescript
const teacherItems = [
{
id: 'classes',
label: 'Mis Aulas',
path: '/teacher/classes',
icon: 'School',
},
{
id: 'monitoring',
label: 'Monitoreo',
path: '/teacher/monitoring',
icon: 'User',
},
{
id: 'assignments',
label: 'Asignaciones',
path: '/teacher/assignments',
icon: 'Calendar',
},
{
id: 'responses',
label: 'Respuestas',
path: '/teacher/responses',
icon: 'ClipboardList',
},
{
id: 'reviews',
label: 'Revisiones M3-M5',
path: '/teacher/reviews',
icon: 'CheckCircle',
},
{
id: 'progress',
label: 'Progreso',
path: '/teacher/progress',
icon: 'TrendingUp',
},
{
id: 'alerts',
label: 'Alertas',
path: '/teacher/alerts',
icon: 'AlertTriangle',
},
{
id: 'reports',
label: 'Reportes',
path: '/teacher/reports',
icon: 'FileText',
},
{
id: 'gamification',
label: 'Gamificacion',
path: '/teacher/gamification',
icon: 'Trophy',
},
];
```
#### ITEMS REMOVIDOS:
1. `students` (id) - /teacher/students - Sera migrada a Monitoring (FASE 5B)
2. `analytics` (id) - /teacher/analytics - Sera fusionada con Progress (FASE 5C)
3. `communication` (id) - /teacher/communication - Bloqueada
4. `content` (id) - /teacher/content - Bloqueada
5. `resources` (id) - /teacher/resources - Stub
#### ITEMS MODIFICADOS:
- Removido el asterisco (*) de los labels ya que las paginas estan funcionales
---
## 3. CAMBIOS EN ROUTER (App.tsx)
**Ruta:** `/home/isem/workspace/projects/gamilit/apps/frontend/src/App.tsx`
### OPCION A: Mantener rutas (recomendado)
Las rutas se mantienen funcionales pero sin acceso desde el sidebar. Esto permite:
- Acceso directo por URL si es necesario
- No rompe bookmarks existentes
- Facilita reactivacion futura
### OPCION B: Agregar redirects
Si se prefiere redirigir las rutas eliminadas:
```typescript
// Agregar despues de las rutas de teacher
} />
} />
} />
} />
} />
```
**Recomendacion:** Usar OPCION A para esta fase, agregar redirects en FASE 5B/5C
---
## 4. DEPENDENCIAS
### Archivos que NO se modifican:
- `App.tsx` - Las rutas permanecen (OPCION A)
- Todos los archivos de paginas - No se eliminan
- Hooks y componentes - Permanecen para futuro uso
### Archivos que SI se modifican:
- `GamilitSidebar.tsx` - Array teacherItems
---
## 5. PLAN DE PRUEBAS
### 5.1 Pruebas Manuales
```yaml
Prueba_1_Sidebar_Teacher:
precondicion: "Login como teacher"
pasos:
- Verificar que el sidebar muestra solo 9 items
- Verificar que NO aparecen: Estudiantes, Analiticas, Comunicacion, Contenido, Recursos
- Verificar que SI aparecen: Mis Aulas, Monitoreo, Asignaciones, Respuestas, Revisiones, Progreso, Alertas, Reportes, Gamificacion
resultado_esperado: "Solo 9 items visibles"
Prueba_2_Navegacion_Directa:
precondicion: "Login como teacher"
pasos:
- Navegar directamente a /teacher/students
- Navegar directamente a /teacher/analytics
- Navegar directamente a /teacher/communication
resultado_esperado: "Las paginas cargan correctamente (OPCION A)"
Prueba_3_Dashboard:
precondicion: "Login como teacher"
pasos:
- Navegar al Dashboard
- Verificar que todas las tabs funcionan
- Verificar que la navegacion desde Dashboard funciona
resultado_esperado: "Dashboard funcional sin errores"
```
### 5.2 Criterios de Aceptacion
- [ ] Sidebar muestra exactamente 9 items para teacher
- [ ] No hay errores en consola
- [ ] Navegacion entre paginas funciona correctamente
- [ ] Las rutas directas siguen funcionando (si OPCION A)
- [ ] Dashboard carga sin errores
---
## 6. ROLLBACK
En caso de necesitar revertir:
1. Restaurar array `teacherItems` original en GamilitSidebar.tsx
2. No hay otros archivos modificados
---
## 7. NOTAS ADICIONALES
### Sobre los asteriscos (*) en labels:
El codigo actual usa asteriscos para indicar "en construccion". Se recomienda:
- Remover todos los asteriscos para esta fase
- Las paginas en el sidebar deben considerarse "completas" para el usuario
### Sobre el orden de items:
El orden propuesto agrupa logicamente:
1. **Gestion:** Mis Aulas
2. **Monitoreo:** Monitoreo, Alertas
3. **Pedagogico:** Asignaciones, Respuestas, Revisiones
4. **Analitica:** Progreso, Reportes
5. **Gamificacion:** Gamificacion
---
**Estado:** LISTO PARA IMPLEMENTAR
**Prerequisitos:** Ninguno
**Siguiente fase:** FASE 5B (Migracion Students)