Cambios realizados:
1. ai-status.service.ts:
- Importa 'of' desde 'rxjs' para retornar Observables correctamente
- Corrige catchError que retornaba array [] en lugar de Observable
- Ahora retorna of({...}) con valores por defecto cuando falla el endpoint
- Estadísticas ahora muestran 0 en lugar de valores mock cuando hay error
2. ai-suggestions-panel.component.ts:
- Importa 'of' y 'catchError' desde 'rxjs/operators'
- Agrega catchError a TODAS las llamadas de servicios (tags, correspondents, etc.)
- Cada llamada ahora maneja errores y retorna array vacío en caso de fallo
- Previene que errores de red rompan la funcionalidad del panel
- Agrega logging de errores para debugging
Estos cambios corrigen:
- ✓ Estadísticas mostrando 0 incorrectamente
- ✓ Errores no manejados en llamadas HTTP
- ✓ Fallos al cargar metadata de sugerencias
- ✓ Panel de sugerencias fallando silenciosamente
- Created AIStatus data model with TypeScript interfaces
- Implemented AIStatusService with polling mechanism
- Created AIStatusIndicatorComponent with icon, tooltip, and animations
- Added component to navbar between notifications and user menu
- Includes unit tests for service and component
- Shows AI active/inactive state with visual indicators
- Displays statistics: documents scanned, suggestions applied
- Shows pending deletion requests with badge
- Processing animation when AI is active
- Link to AI configuration settings
- Non-intrusive design following existing patterns
Co-authored-by: dawnsystem <42047891+dawnsystem@users.noreply.github.com>