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
+9
View File
@@ -6,10 +6,15 @@ import { I18nProvider } from "@/context/I18nContext";
import { BrandingProvider } from "@/context/BrandingContext";
import AuthGuard from "@/components/AuthGuard";
import { ThemeProvider } from "@/context/ThemeContext";
import PwaRegistration from "@/components/PwaRegistration";
import PwaInstallPrompt from "@/components/PwaInstallPrompt";
import ConnectivityBanner from "@/components/ConnectivityBanner";
import OfflineSyncPanel from "@/components/OfflineSyncPanel";
export const metadata: Metadata = {
title: "Experiencia de Aprendizaje",
description: "Consume contenido educativo de alta fidelidad.",
manifest: "/manifest.webmanifest",
};
import AppHeader from "@/components/AppHeader";
@@ -27,6 +32,10 @@ export default function RootLayout({
<AuthProvider>
<I18nProvider>
<AuthGuard>
<PwaRegistration />
<PwaInstallPrompt />
<ConnectivityBanner />
<OfflineSyncPanel />
<AppHeader />
<main className="flex-1">
{children}