Commit Graph
25 Commits
Author SHA1 Message Date
Lizandro GuarnizoandClaude Sonnet 4.6 55bccae0ad fix: dark mode completamente reescrito con Bootstrap 5.3 data-bs-theme
- Agrega script inline en <head> de Layout.php, lugar.php y recepcion.php
  que detecta prefers-color-scheme y activa data-bs-theme="dark" en <html>
  antes del primer paint (evita flash de contenido blanco)
- sidebar.php: script de fallback para páginas con head propio no actualizado
- Layout.php: corrige background hardcodeado #f8f9fa en .main-content y
  reemplaza bg-white por bg-body-tertiary en barra de título
- styles.css: elimina bloque @media duplicado y contradictorio; nuevo bloque
  unificado cubre @media (fallback sin JS) + [data-bs-theme="dark"] para
  elementos custom (sidebar, chat); Bootstrap maneja el resto automáticamente
- Bump styles.css a v=15 en los tres templates

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-09 20:42:39 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 d5b6de1f46 turnero: restricción por token de navegador en lugar de IP pública
- Token UUID generado en localStorage del navegador, persistido como cookie
- turnero_dispositivos.token: nueva columna para identificar equipos
- recepcion.php y lugar.php: chequean token (cookie) primero, IP como fallback
- configuracion.php: banner con token del equipo actual + botón "Registrar este equipo"
- save_dispositivo.php: acepta campo token al crear/editar dispositivo
- Migración: 20260709_dispositivos_token.sql

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-09 10:56:53 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 1f45f58205 sidebar: mostrar IP del servidor (REMOTE_ADDR) y LAN separadas para diagnóstico
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-09 10:47:59 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 abe4ed4df1 sidebar: mejorar detección IP local con STUN y modal de ayuda si no detecta
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-09 10:45:33 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 8b3188b21b sidebar: detectar IP LAN local via WebRTC y mostrarla en el pie del menú
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-09 10:35:54 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 60d186253e sidebar: mostrar IP local del cliente al pie del menú
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-09 10:32:23 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 4f686bd9ca fix(sidebar): restaurar diseño con colores por módulo
- nav-link.active: color-mix tintado, font-size 0.93rem, border 4px
- sidebar-section: 0.72rem base, 0.82rem cuando tiene subitem activo
- sb-group: fondo y borde tintados con --cat-color via color-mix

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-03 00:28:46 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 fd95e7b38a fix: restaurar todas las optimizaciones móvil/tablet perdidas por force push
- chat.php: recuperado y re-aplicado panel-switch móvil, viewport iOS,
  safe-area, sticky topbar, link ← Menú, botón volver
- lugar.php: panel-switch tablet (≤860px), botón ← Cola, JS mobile
- recepcion.php: panel-switch tablet (≤900px), botón ← Cola, JS mobile
- sidebar.php: soporte atributo target en links de módulo

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-03 00:25:47 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 d40da57a60 fix(sidebar): mantener posición de scroll al navegar entre páginas
Guarda scrollTop en localStorage al hacer clic en un nav-link y lo
restaura en DOMContentLoaded, evitando que el menú lateral salte al
inicio en cada navegación.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-02 23:40:55 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 92e4d01181 feat(sidebar): color por categoría via CSS custom property --cat-color
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 09:05:57 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 d6e1d083f4 revert(sidebar): eliminar sub-acordeón — restaurar sidebar y module.php a estado estable
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 08:56:42 -05:00
Lizandro Guarnizo 3b1b7c9333 Revert "fix(sidebar): null-check en route de children para evitar TypeError en PHP 8.2"
This reverts commit ba27511414.
2026-06-24 08:54:17 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 ba27511414 fix(sidebar): null-check en route de children para evitar TypeError en PHP 8.2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 08:52:26 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 bbee9c0a5c feat(sidebar): sub-acordeón para recepción y estaciones de muestras en turnero
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 08:35:42 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 18051a4f31 fix(sidebar): centrar labels (styles.css tenía mayor especificidad), preservar scroll al toggle
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 08:11:52 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 3a66576ff8 fix(sidebar): centrar label con display:block+text-align:center, chevron absolute
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 08:09:15 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 4a130c22cf style(sidebar): centrar labels de categoría y resaltar categoría activa con borde+fondo
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 08:04:34 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 2fc33d22b2 fix: logo visible en sidebar — reemplaza filtro invert por fondo blanco
El filtro brightness(0) invert(1) hacía invisible logos con fondo claro.
Ahora el logo se muestra sobre una píldora blanca semitransparente,
visible independientemente de los colores del logo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 00:34:26 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 6b6389c583 fix: sidebar — logo fijo en header y colapso de módulos funcional
Logo:
- Carga doc_logo_base64 y empresa_nombre desde lab_config
- Header muestra logo (filtro invert para fondo oscuro) o ícono fallback
- Nombre del laboratorio siempre visible debajo, nunca cambia por página
- Ícono de configuración reposicionado en esquina superior derecha

Colapso de módulos:
- Bug: transición CSS se disparaba durante init causando estado inconsistente
- Fix: inyecta <style> temporal con transition:none antes de aplicar estados,
  lo remueve en el siguiente frame para que las animaciones funcionen luego

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 23:55:20 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 892b01493a feat: sidebar con buscador de módulos e icono de configuración
- Icono de engranaje (⚙) en cabecera del sidebar → lab_configuracion.php
- Buscador de texto que filtra ítems del menú en tiempo real
- Al borrar la búsqueda restaura el estado colapsado guardado
- CSS integrado en el mismo componente

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 23:07:58 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 97a3dba249 feat: sidebar con categorías colapsables (acordeón)
- Cada sección del menú se puede abrir/cerrar con clic
- Estado persiste en localStorage por categoría
- La sección con el link activo siempre se auto-expande
- Chevron rota al colapsar con transición suave
- CSS en styles.css actualizado para que sidebar-section sea clickeable

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 23:05:43 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 935cea24b6 fix: sidebar color consistente en todas las páginas + gradiente más oscuro
- sidebar.php inyecta --brand/--brand-dark desde DB si no fueron definidos ya
  por Layout.php, solucionando que lab_*.php mostraran el sidebar azul (fallback)
  mientras las páginas ERP mostraban verde (#a0a59c del doc_color)
- Gradiente del sidebar invertido: ahora va de más oscuro (top) a brand (bottom)
  en lugar de terminar con mezcla blanca que perdía las letras

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 21:02:55 -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 Guarnizo 5de48127f1 Update sidebar.php 2026-04-16 23:19:08 -05:00
Lizandro Guarnizo ef822dd3c7 up 2026-04-16 22:23:33 -05:00