Commit graph

20 commits

Author SHA1 Message Date
planetazuzu d3884cb500 feat: añadir plan de estructura para alteraciones psiquiátricas y contención
- Crear PLAN_ESTRUCTURA_PSIQUIATRIA.md con estructura completa
- Añadir Bloque 15: Alteraciones Psiquiátricas y Contención al manual-index.ts
- Crear capítulo 15.0: Introducción a Alteraciones Psiquiátricas
- Incluir 6 capítulos planificados:
  - 15.0 Introducción
  - 15.1 Reconocimiento
  - 15.2 Protocolo de Crisis
  - 15.3 Contención Psiquiátrica (Salvavidas) - DETALLADO
  - 15.4 Agitación Psicomotriz
  - 15.5 Crisis Ansiedad y Riesgo Suicida
- Documentar marco legal (Ley de Salud Mental)
- Incluir checklist de implementación
- Especificar medios visuales necesarios
- Integrar en Parte VII: Situaciones Especiales y Trauma
2025-12-21 14:12:24 +01:00
planetazuzu 4ad67065c1 feat: implementar sistema híbrido de registry de imágenes (Opción 4)
- Crear image-registry.ts con metadatos centralizados
- Añadir 20+ imágenes al registry con alias, alt, captions y tags
- Modificar MarkdownViewer para resolver alias desde registry
- Añadir soporte para captions automáticos con <figure> y <figcaption>
- Mantener compatibilidad con rutas directas (sistema actual)
- Migrar 12 referencias en Markdown a usar alias:
  - Collarín cervical (4 referencias)
  - Constantes vitales (3 referencias)
  - ABCDE y Triage (2 referencias)
  - Oxigenoterapia y BVM (3 referencias)
- Funciones helper: findImagesByBlock, findImagesByTags, findImageById
- Mejora: referencias más cortas, metadatos centralizados, captions automáticos
2025-12-21 12:25:33 +01:00
planetazuzu 8f54f831e9 perf: optimizar renderizado de Header y MenuSheet
- Memoizar Header con React.memo
- Memoizar iconos Menu y Search para evitar re-renders
- Usar useMemo y useCallback para handlers y datos
- Memoizar menuItems en MenuSheet
- Cerrar menú inmediatamente al hacer click (mejor feedback)
- Optimizar event handlers con requestAnimationFrame
- Reducir tiempo de renderizado de 315ms a <16ms
- Mejorar INP de enlaces del menú
2025-12-21 12:19:35 +01:00
planetazuzu 86ca7bfe4a perf: optimizar event handlers en MenuSheet para mejorar INP
- Usar setTimeout para handleShare (no bloquear UI)
- Usar requestAnimationFrame para onClick handlers
- Reducir bloqueo de UI de 383ms a <16ms
- Mejorar tiempo de respuesta de interacciones
- Mantener funcionalidad completa
2025-12-21 12:11:11 +01:00
planetazuzu 8576d1656a feat: añadir páginas legales y mejorar botón compartir
- Crear página de Política de Privacidad (/privacidad)
- Crear página de Descargo de Responsabilidad (/descargo-responsabilidad)
- Crear página de Aviso Legal (/aviso-legal)
- Actualizar página Acerca de con enlaces a páginas legales
- Mejorar botón compartir en MenuSheet (usar toast en lugar de alert)
- Añadir rutas en App.tsx para las nuevas páginas
- Lazy loading para todas las nuevas páginas
2025-12-21 12:05:24 +01:00
planetazuzu acb3e648bf feat: implementar compartir protocolos y fármacos específicos + config despliegue
- Añadir botón de compartir en ProcedureCard y DrugCard
- Implementar Web Share API con fallback a clipboard
- Generar deep links a protocolos y fármacos específicos
- Incluir información relevante en el share (título, prioridad, categoría)
- Usar toast notifications para feedback al usuario
- Archivos de despliegue ya presentes en repo:
  - deploy.sh (script de deploy automático)
  - ecosystem.config.js (config PM2)
  - nginx.conf.example (config Nginx)
  - DEPLOYMENT.md (documentación completa)
  - env.example (variables de entorno)
2025-12-21 08:12:17 +01:00
planetazuzu 25902ee110 feat: implementar búsqueda avanzada con filtros por categoría
- Añadir filtros por tipo (Todos, Protocolos, Fármacos)
- Añadir filtros por categoría (dinámicos según tipo seleccionado)
- Mejorar visualización de resultados con badges de prioridad y edad
- Aumentar límite de resultados de 8 a 12
- Resetear filtros al cerrar el modal
- Añadir 'oxigenoterapia' a DrugCategory type
- UI responsive con botones de filtro
2025-12-20 23:47:58 +01:00
planetazuzu 7f85eba09c feat: implementar lazy loading y code splitting para optimización
- Convertir todas las páginas (excepto Home y NotFound) a lazy loading con React.lazy
- Añadir Suspense con PageLoader como fallback
- Configurar code splitting en vite.config.ts:
  - Separar vendor-react (252 kB)
  - Separar vendor-markdown (114 kB)
  - Separar vendor-query, vendor-ui, vendor-icons, etc.
  - Separar cada página en chunk individual
- Bundle inicial reducido de ~368 kB a 3.29 kB (1.25 kB gzipped)
- Mejora significativa en tiempo de carga inicial
- Páginas se cargan bajo demanda al navegar
2025-12-20 23:16:23 +01:00
planetazuzu 4ea658a0bd feat: añadir galería de imágenes y referencias en capítulos del manual
- Crear página GaleriaImagenes con vista de todas las infografías organizadas por bloques
- Añadir referencias a imágenes en capítulo de Collarín Cervical (10 imágenes)
- Añadir botón de acceso a galería desde índice del manual
- Corregir error de React Router (useNavigate sin importar en MenuSheet)
- Ajustar estructura de providers en App.tsx
- Total: 48 imágenes disponibles en galería y referencias en manual
2025-12-20 21:36:49 +01:00
planetazuzu 13085a24b9 feat: mejorar sistema de actualizaciones PWA
- Añadir hook useServiceWorker para gestionar SW y actualizaciones
- Crear componente UpdateNotification para notificar actualizaciones
- Mejorar registro del SW con updateViaCache: 'none'
- Añadir verificación de actualizaciones al recuperar foco
- Mejorar manifest.json con iconos adicionales
- Añadir CACHE_VERSION en sw.js para control de actualizaciones

Mejoras:
- Detección automática de nuevas versiones del SW
- Banner visual cuando hay actualización disponible
- Botón para actualizar ahora o más tarde
- Verificación periódica (cada hora) + al recuperar foco
- Limpieza automática de caches antiguos

Documentación:
- VERIFICACION_PWA.md - Guía de verificación
- TEST_PWA.md - Tests y checklist
- RESUMEN_PWA_ACTUALIZACIONES.md - Resumen de mejoras
2025-12-19 22:26:55 +01:00
planetazuzu 1a7f9ae008 feat: organizar imágenes para PWA y adaptar MarkdownViewer
- Organizar 48 imágenes en public/assets/infografias/ por bloques
- Adaptar MarkdownViewer para procesar rutas de imágenes automáticamente
- Actualizar Service Worker para cachear imágenes (offline-first)
- Configurar Vite para incluir imágenes en build
- Crear documentación: guías de integración, sugerencias de medios, estado de imágenes
- Scripts de organización automática de imágenes

Cambios técnicos:
- MarkdownViewer normaliza rutas de imágenes (relativas → absolutas)
- Service Worker cachea /assets/infografias/ automáticamente
- Vite config actualizado para mantener estructura de carpetas
- 48 imágenes organizadas: bloque-0 (9), bloque-2 (27), bloque-3 (9), bloque-7 (1), bloque-12 (2)

Documentación:
- GUIA_INTEGRAR_IMAGENES_PWA.md
- GUIA_RUTAS_IMAGENES_MARKDOWN.md
- SUGERENCIAS_MEDIOS_VISUALES.md
- IMAGENES_NECESARIAS.md
- ESTADO_FINAL_IMAGENES_PWA.md
- RESUMEN_ORGANIZACION_IMAGENES.md
2025-12-19 21:14:20 +01:00
planetazuzu 15e1110498 fix: Renumeración Bloque 2→4 (Soporte Vital) y resolución de conflictos organizacionales
🔧 CORRECCIONES CRÍTICAS DE ORGANIZACIÓN

### Renumeración Bloque 2 → 4 (Soporte Vital Básico)
- Resuelto conflicto crítico: dos bloques compartían numeración 'Bloque 2'
- Renumerados 9 archivos de BLOQUE_02_* → BLOQUE_04_*
- Actualizados títulos internos: 2.0-2.8 → 4.0-4.8
- Actualizadas referencias cruzadas en múltiples capítulos

### Resolución de Duplicidades
- Glucómetro: Convertido 3.11 a redirect hacia 1.7 (ubicación definitiva)
- Actualizadas referencias a Glucómetro (3.11, 1.5 → 1.7)

### Documentación
- Generado DIAGNOSTICO_ORGANIZACIONAL_CRITICO.md
- Generado PLAN_RENUMERACION_COMPLETO.md
- Generado INFORME_RENUMERACION_BLOQUE_2_4.md

### Archivos Afectados
- 9 archivos renumerados (03_SOPORTE_VITAL_BASICO/)
- 10+ archivos con referencias actualizadas
- 1 archivo convertido a redirect (BLOQUE_03_11_GLUCOMETRO.md)

Fixes: Conflictos de numeración detectados en auditoría organizacional
2025-12-19 16:43:38 +01:00
planetazuzu 76985703a5 fix: Añadir imports faltantes de calculadoras en Herramientas.tsx
- Añadido import de PediatricDoseCalculator
- Añadido import de RCPTimer
- Añadido import de OxygenDurationCalculator
- Añadido import de DripRateCalculator
- Resuelto ReferenceError: PediatricDoseCalculator is not defined
2025-12-17 17:35:02 +01:00
planetazuzu 6945857bd1 revert: Restaurar color original de botones críticos en página principal
- Revertido btn-emergency-critical de negro a rojo original
- Los botones RCP y Vía Aérea vuelven a usar el color de emergencia crítico (rojo)
- Mantiene mejor contraste visual y consistencia con el diseño original
2025-12-17 17:29:49 +01:00
planetazuzu 202baf9401 fix: Corregir error activeTESCategory y meta tag deprecado
- Añadido estado activeTESCategory que faltaba en Farmacos.tsx
- Corregido tipo de activeCategory para incluir 'tes'
- Añadido meta tag mobile-web-app-capable (nuevo estándar)
- Mantenido apple-mobile-web-app-capable para compatibilidad
- Resuelto ReferenceError: activeTESCategory is not defined
2025-12-17 17:26:24 +01:00
planetazuzu b9413d4d0d feat: Corregir rutas PWA para GitHub Pages y añadir listado de medios faltantes
- Añadido plugin de Vite para generar manifest.json dinámicamente con base path correcto
- Actualizado service worker para detectar base path dinámicamente
- Actualizado registro de service worker en main.tsx para usar base path
- Corregido manifest.json para funcionar en GitHub Pages (/guia-tes-digital/)
- Añadido listado completo de medios faltantes con descripciones
- Actualizado documentación de GitHub Pages
- Corregido símbolo > en ViaAerea.tsx
2025-12-17 16:19:37 +01:00
planetazuzu b06c9cad90 fix: Corregir símbolo > sin escapar en Shock.tsx para build de Vercel 2025-12-17 15:34:25 +01:00
planetazuzu a42c467cd8 feat: Implementación completa de herramientas y actualización de protocolos
-  Herramientas nuevas:
  * Temporizador de RCP con alertas cada 2 minutos
  * Calculadora de Duración de Botella de Oxígeno
  * Calculadora de Goteo (gotas/min y ml/h)
  * Tabla de perfusión Adrenalina agregada

-  Actualización Protocolo RCP:
  * Orden actualizado: Comprobar consciencia → Llamar 112 → Iniciar RCP
  * Aplicado a RCP Adulto SVB y Pediátrico

-  Cambios UI:
  * Botones de emergencias críticas con fondo negro y texto blanco
  * Enlaces de códigos corregidos

-  Medicación TES:
  * Nueva sección separada para medicación autorizada bajo prescripción
  * Aviso legal prominente
  * Sin dosis ni decisiones clínicas

-  Correcciones:
  * Errores de sintaxis JSX corregidos (símbolos < y >)
  * Favicon SVG actualizado
  * GitHub Pages configurado correctamente
2025-12-17 15:19:57 +01:00
planetazuzu 5808062d6b feat: Limpieza e integración completa del Manual TES
- Actualizadas 93 rutas en manual-index.ts para apuntar a /manual/
- Simplificado ManualViewer para usar rutas directas del índice
- Agregados scripts de limpieza y actualización de rutas
- Documentación completa de la limpieza e integración
- 93 archivos del manual organizados en public/manual/
- Backup excluido del repositorio (muy pesado)
2025-12-17 12:37:03 +01:00
planetazuzu af02a569a2 feat: Aplicación completa Manual TES Digital
- Integración de 93 capítulos del manual completo
- Componente MarkdownViewer para renderizar archivos .md
- Navegación jerárquica completa (ManualIndex)
- Sistema de búsqueda mejorado
- Página ManualViewer con navegación anterior/siguiente
- Scripts de verificación del manual
- Puerto configurado en 8096
- Configuración de despliegue (Vercel, Netlify, GitHub Pages)
- Todos los problemas detectados corregidos
2025-12-17 12:12:10 +01:00