Commit Graph
654 Commits
Author SHA1 Message Date
Lizandro GuarnizoandClaude Sonnet 4.6 f57fa39c33 fix: reemplazar verde WhatsApp por --brand en hover/focus/botones del ERP
- table-hover, form-control:focus, btn-primary, menu-item hover
- Usar var(--brand, fallback) para que funcione sin Layout.php
- Contextos chat/WhatsApp mantienen su verde propio

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 20:20:59 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 a5d42a54be fix: lab_pacientes.php — corregir comentarios Blade y mejorar diseño modal
- Eliminar comentarios {{-- --}} de Blade que se renderizaban como texto visible
- Inyectar --brand/--brand-dark desde doc_color de BD (igual que Layout.php)
- Modal header con gradiente brand igual que login/sidebar
- Secciones de formulario con separadores visuales (Datos, Contacto, Ubicación)
- Panel detalle con header brand en lugar de card-header blanco
- Actualizar version CSS a v=13

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 20:18:07 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 bec4629a3c feat: rediseño sidebar con paleta del login + responsive unificado
- Layout.php inyecta --brand y --brand-dark desde doc_color de BD
- Sidebar usa el mismo gradiente azul del login (brand-dark → brand)
- Círculos decorativos animados igual que el login
- Items activos: fondo blanco con texto brand (inverso al fondo)
- Hover: overlay blanco sutil + translateX(3px)
- Ancho unificado en --sidebar-width (270px)
- Breakpoint responsive consistente en 991.98px

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 20:15:54 -05:00
Lizandro Guarnizo 5f4cf63924 Revert "fix: revertir anunciarTurno al codigo exacto de jun9 que funcionaba"
This reverts commit 266cd8301b.
2026-06-23 19:58:33 -05:00
Lizandro Guarnizo 266cd8301b fix: revertir anunciarTurno al codigo exacto de jun9 que funcionaba 2026-06-23 19:57:49 -05:00
Lizandro Guarnizo ee50a47933 fix: seleccionar voz española explícita en TTS del display_global 2026-06-23 19:55:40 -05:00
Lizandro Guarnizo 56f30f1c6d fix: firma profesional guarda solo en el campo firmado, no en todos 2026-06-23 19:54:22 -05:00
Lizandro Guarnizo 3810c898fd fix: restaurar playBeep original en display_global (revertir playBell) 2026-06-23 19:50:30 -05:00
Lizandro Guarnizo e75ae6e3c5 fix: firma profesional solo aparece en el campo donde se firmo, no en todos 2026-06-23 19:49:57 -05:00
Lizandro Guarnizo 573b7e4a8f fix: sidebar marca activo solo el item actual, no todos los de erp.php 2026-06-23 19:45:24 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 1342d305ec fix: corregir migraciones fallidas, redis doble carga y cache de assets
- Eliminar .env del tracking de git (credenciales no deben ir en repo)
- Agregar .env y .env.* al .dockerignore (no hornear credenciales en imagen)
- Quitar extension=redis.so duplicada en php.ini
- Activar cache 7d para assets estáticos en nginx
- Corregir 5 migraciones: eliminar INSERT INTO migrations con columna incorrecta
  y remover semicolons en comentarios -- que partian el parser SQL

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 19:24:41 -05:00
Lizandro GuarnizoandClaude Opus 4.8 a39e94c71b Docker: quitar servicio redis local (Redis es recurso externo de Coolify)
El servidor Redis vive fuera (recurso gestionado por Coolify); el app se
conecta vía REDIS_HOST. El servicio redis local era un contenedor muerto.
La extensión PHP phpredis se sigue compilando en la imagen (es el cliente).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 11:30:41 -05:00
Lizandro GuarnizoandClaude Opus 4.8 0a2c40c34e OPcache: revalidar timestamps cada 2s para que los deploys se reflejen
validate_timestamps=0 hacía que PHP-FPM sirviera código viejo para siempre;
el opcache_reset del entrypoint corre en CLI (OPcache separado) y no limpiaba
el de FPM. Ahora valida mtimes cada 2s — costo despreciable para un ERP.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 11:12:47 -05:00
Lizandro GuarnizoandClaude Opus 4.8 7af526e773 Redis: REDIS_DB configurable para aislar sesiones entre despliegues
Dos despliegues que comparten el mismo Redis pisaban las sesiones.
session.save_path ahora incluye &database=${REDIS_DB} (default 0).
Despliegue secundario usa REDIS_DB=1.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 09:56:16 -05:00
Lizandro GuarnizoandClaude Opus 4.8 dfe3a01fee Recepción: vincular paciente atómicamente al crear token de firma
create_consent_token.php ahora acepta paciente_id y lo vincula al turno
si aún no lo tiene, eliminando la carrera con vincular_paciente.php
(fire-and-forget). Ya no hace falta refrescar para firmar el consentimiento.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 09:54:41 -05:00
Lizandro GuarnizoandClaude Opus 4.8 506f3469b4 Kiosko: auto-turno solo por escáner (ráfaga <35ms o Enter), nunca a mano
Escribir manualmente ya no dispara el turno: la persona oprime el botón.
El lector de cédula sí lo dispara porque mete los dígitos en ráfaga
(<35ms entre cada uno) o termina con Enter. Guard contra doble envío.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 09:51:58 -05:00
Lizandro GuarnizoandClaude Opus 4.8 71d29f35fa Debug temporal: inspeccionar firma guardada en datos_cliente
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 09:41:48 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 a908d623e1 Kiosko: fix listener acumulado, añadir reset por inactividad 90s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 09:01:06 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 da076f86eb Fix: firma profesional no se mostraba al recargar el formulario
La firma se guardaba en datos_cliente[campo_svg] pero el display
solo leía firma_profesional_svg (columna inexistente en lab_form_envios).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 08:44:44 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 3490bc1932 Docker: agregar servicio Redis para sesiones PHP
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 08:12:40 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 1c75da1ccd Sidebar: resaltar ruta activa con color primario
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 23:02:35 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 6510054416 Historial: añadir notas/observaciones al detalle del registro
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 22:53:39 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 f363631b32 Turnero: mejoras UI, historial detallado, kiosko scanner, firma por turno
- Kiosko: detector scanner (gap < 80ms), iconos 90px, fa-person-pregnant, ticket Arial
- Recepción: vincular_paciente.php para persistir paciente_id antes de firmar consentimiento
- Historial y dashboard: recepción desk, empleado recepción/muestras, exámenes y comentarios
- display_global: turno más pequeño, lugar-nombre más grande
- lab_pacientes: modal compacta con form-sm
- Configuración: icono embarazada fa-person-pregnant en prioridades
- ver_formulario_enviado: firma por campo (fix doble firma)
- docker-compose.local.yml: override BD producción para dev local

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 22:07:09 -05:00
Lizandro Guarnizo ebbf4ac6cf Update Enfermera.php 2026-06-18 14:27:58 -05:00
Lizandro Guarnizo 3a604bdf1d Update ver_formulario_enviado.php 2026-06-18 12:12:20 -05:00
Lizandro Guarnizo 8d577947a6 up 2026-06-18 09:35:17 -05:00
Lizandro Guarnizo c58998599b up 2026-06-16 19:54:04 -05:00
Lizandro Guarnizo 8128616b63 up 2026-06-16 19:09:59 -05:00
Lizandro Guarnizo 7f2f998aa7 Update lugar.php 2026-06-16 17:58:05 -05:00
Lizandro Guarnizo 663884685d up 2026-06-16 17:52:27 -05:00
Lizandro Guarnizo 1c67dbdadc up 2026-06-16 17:41:27 -05:00
Lizandro Guarnizo f1673a2d39 Update lugar.php 2026-06-16 17:06:47 -05:00
Lizandro Guarnizo ff8454fa5a up 2026-06-16 16:55:22 -05:00
Lizandro Guarnizo a4a062095e up 2026-06-16 16:35:12 -05:00
Lizandro Guarnizo 62c4e7a18c up 2026-06-16 16:05:04 -05:00
Lizandro Guarnizo 9e79b8ff56 Update display_global.php 2026-06-16 15:59:38 -05:00
Lizandro Guarnizo f13a06b63a Update display_global.php 2026-06-16 15:53:49 -05:00
Lizandro Guarnizo acbc1d0714 up 2026-06-16 15:37:34 -05:00
Lizandro Guarnizo 7f84c7f3ae Update display_global.php 2026-06-16 15:16:23 -05:00
Lizandro Guarnizo 6be28ae5af up 2026-06-16 15:03:40 -05:00
Lizandro Guarnizo eaa8a23af6 UP 2026-06-16 14:51:46 -05:00
Lizandro Guarnizo 56489a1557 Update lugar.php 2026-06-16 14:12:22 -05:00
Lizandro Guarnizo f51cc2029c Update lugar.php 2026-06-16 14:03:47 -05:00
Lizandro Guarnizo 8b64b77c0e Update lugar.php 2026-06-16 13:55:20 -05:00
Lizandro Guarnizo fc14360e2e up 2026-06-16 13:35:03 -05:00
Lizandro Guarnizo 1b9c8efaad Update lugar.php 2026-06-16 13:28:14 -05:00
Lizandro Guarnizo b11a7f5f98 up 2026-06-16 13:20:13 -05:00
Lizandro Guarnizo 5af94e50e5 up 2026-06-16 13:04:59 -05:00
Lizandro Guarnizo e7a068243c up 2026-06-16 12:55:39 -05:00
Lizandro Guarnizo b66f52864d Update recepcion.php 2026-06-16 12:47:39 -05:00