From eedff715d466faf42798d46ff4dc10c321813306 Mon Sep 17 00:00:00 2001 From: josedario87 Date: Fri, 17 Oct 2025 04:21:31 -0600 Subject: [PATCH] fix: implementar manejo correcto de modo offline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problema crítico anterior: Cuando se perdía conexión, el sistema marcaba como "no autenticado" y DESREGISTRABA el Service Worker, destruyendo todo el contenido cacheado y volviendo la PWA inútil offline. Solución implementada: 1. useAuth.ts: - Agregar estado isOffline con listeners de navigator.onLine - Detectar offline ANTES de marcar como no autenticado - En checkAuth: si offline, mantener último estado conocido - En markUnauthenticated: NO ejecutar si estamos offline - Nuevo authStatus: 'offline' cuando sin conexión - NO desregistrar SW cuando estamos offline 2. AuthIndicator.client.vue: - Importar isOffline del composable - Agregar icono WifiOff para estado offline - Agregar textos: "Offline" / "Sin conexión. Puedes usar contenido guardado" - Estilos naranja para estado offline - En watchers: NO llamar markUnauthenticated si offline - handleClick: ignorar clicks en modo offline Ahora offline funciona correctamente: ✅ Mantiene último estado de autenticación conocido ✅ NO desregistra Service Worker ✅ Contenido cacheado permanece accesible ✅ Indicador visual claro (naranja) de modo offline ✅ La PWA es totalmente funcional sin conexión --- components/AuthIndicator.client.vue | 37 ++++++++++++++++- composables/useAuth.ts | 63 ++++++++++++++++++++++++----- 2 files changed, 89 insertions(+), 11 deletions(-) diff --git a/components/AuthIndicator.client.vue b/components/AuthIndicator.client.vue index 29b13a4..2fe0330 100644 --- a/components/AuthIndicator.client.vue +++ b/components/AuthIndicator.client.vue @@ -60,7 +60,7 @@