feat: add PWA support with service worker, offline sync, and connectivity banners

- Added PWA icons for 192x192 and 512x512 resolutions.
- Implemented service worker (sw.js) for caching static assets and handling fetch requests.
- Created ConnectivityBanner component to notify users of online/offline status.
- Developed OfflineSyncPanel component to manage and display offline sync status.
- Introduced PwaInstallPrompt component to prompt users for PWA installation.
- Added PwaRegistration component to handle service worker registration and online event handling.
- Created AdminAiAuditPage for AI audit logs with filtering and review functionality.
- Developed AdminDataEthicsPage to display AI data ethics summary and recent events.
This commit is contained in:
2026-04-24 09:59:57 -04:00
parent 4148de5d66
commit e72f479639
32 changed files with 2332 additions and 74 deletions
+16
View File
@@ -10,6 +10,8 @@ mod handlers_notes;
mod handlers_payments;
mod handlers_peer_review;
mod handlers_embeddings;
mod handlers_ai_audit;
mod handlers_data_ethics;
mod handlers_faq;
mod handlers_certificates;
mod progress_tracking;
@@ -20,6 +22,7 @@ mod live;
mod portfolio;
mod external_db;
mod openapi;
mod moderation;
use axum::{
Router, middleware,
@@ -238,6 +241,19 @@ async fn main() {
"/knowledge-base/{id}/embedding/regenerate",
post(handlers_embeddings::regenerate_knowledge_embedding),
)
// Auditoría de respuestas IA para detección temprana de alucinaciones
.route(
"/ai/audit/logs",
get(handlers_ai_audit::list_ai_audit_logs),
)
.route(
"/ai/audit/logs/{id}/review",
post(handlers_ai_audit::review_ai_audit_log),
)
.route(
"/ai/data-ethics/summary",
get(handlers_data_ethics::get_data_ethics_summary),
)
// Moderación humana para FAQ basada en chats de alumnos
.route(
"/faq/review/import-candidates",