Commit Graph
69 Commits
Author SHA1 Message Date
Lizandro GuarnizoandClaude Sonnet 4.6 c6d2caef55 add: SigWebTablet.js de Topaz en assets/js
Copiado de C:\Users\ZAIDA\AppData\Local\TopazSigWeb\SigWebTablet.js
en SOPORTE-3 (39 KB, versión instalada localmente).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-22 21:21:03 -05:00
Lizandro GuarnizoandClaude Sonnet 4.6 5dd6ee5040 turnero: integración QZ Tray para impresión silenciosa en kiosko
- Genera par de llaves RSA (cert en config/qz/)
- api/qz_sign.php firma los print jobs con SHA512
- assets/js/qz-print.js conecta QZ Tray y envía trabajo HTML
- ver_formulario_enviado.php carga QZ cuando ?autoprint=1
- Fallback a window.print() si QZ no está instalado

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-21 14:52:19 -05:00
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 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 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 6e80ce8d1c fix(turnero): agregar sidebar toggle responsivo en vistas ERP (móvil/tablet)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 08:23:38 -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 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 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 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 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 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 Guarnizo b8de9ee666 up 2026-05-27 11:44:07 -05:00
Lizandro Guarnizo 313e57aace p 2026-05-27 10:30:47 -05:00
Lizandro Guarnizo 0164c51c1a up 2026-04-16 23:07:53 -05:00
Lizandro Guarnizo e89ec89c66 lab: responsive sidebar toggle en todas las páginas del módulo lab 2026-03-19 11:43:01 -05:00
Lizandro Guarnizo 8fb345c404 responsive: breakpoints unificados, header mobile, sidebar toggle, tablas scroll 2026-03-19 11:30:14 -05:00
Lizandro Guarnizo ded19cbb8d Cambios 2026-03-16 18:36:11 -05:00
Lizandro Guarnizo 405a3751e7 fix: T&C tab - quitar display:none y agregar case terms en loadTabData 2026-03-14 00:09:26 -05:00
Lizandro Guarnizo 0b9744e9ef fix: eliminar cierre de funcion duplicado en app_simple.js 2026-03-13 23:57:30 -05:00
Lizandro Guarnizo 032219a4b6 fix: cerrar funcion toggleAdminUserStatus antes de las funciones de perfil WA 2026-03-13 23:55:40 -05:00
Lizandro Guarnizo 7df05ee3fb feat: perfil WhatsApp (foto, about, datos) y reset+sync de plantillas 2026-03-13 23:50:30 -05:00
Lizandro Guarnizo 46a9d97a07 fix: eliminar polling get_last_webhook_time (innecesario en index.php) 2026-03-13 18:47:21 -05:00
Lizandro Guarnizo e081dc739a feat: soporte de imagen dinámica en plantillas WhatsApp
- Detecta header_type=IMAGE en get_template_details.php
- send_message (individual): muestra input de imagen si la plantilla lo requiere,
  sube a upload_media.php y envía header_image_url al backend
- broadcast (masivo): igual, con upload previo al envío
- api/send_message.php: acepta header_image_url y lo pasa como headerParameters
  [type:image, image:{link:URL}] a WhatsAppService::sendTemplateMessage()
- api/send_broadcast.php: igual para cada destinatario del masivo
- Preview en tiempo real de la imagen seleccionada en ambos formularios
2026-03-13 13:24:22 -05:00
Lizandro Guarnizo db469b2134 up 2026-03-10 18:42:51 -05:00
Lizandro Guarnizo 602e6d3724 up 2026-02-20 11:21:06 -05:00
Lizandro Guarnizo 8324a014c0 Update app_simple.js 2026-02-04 22:08:31 -05:00
Lizandro Guarnizo 1aae148396 up 2026-02-03 21:30:55 -05:00
Lizandro Guarnizo 7997ecb830 up 2026-01-28 13:05:36 -05:00
Lizandro Guarnizo 6ebf5c9a22 up 2026-01-28 02:23:36 -05:00
Lizandro Guarnizo 37d6bf1e20 up 2026-01-27 23:56:49 -05:00
Lizandro Guarnizo c529488cfa up 2026-01-26 00:35:11 -05:00
Lizandro Guarnizo 4b9c74e5d7 up 2026-01-26 00:04:12 -05:00
Lizandro Guarnizo 10386cf408 up 2026-01-24 12:41:55 -05:00
Lizandro Guarnizo 2dc0035c3c Update chat-common.js 2026-01-24 00:31:38 -05:00
Lizandro Guarnizo 5ea6f0fb73 up 2026-01-24 00:18:49 -05:00
Lizandro Guarnizo 5ef5017a44 up 2026-01-23 22:51:58 -05:00
Lizandro Guarnizo 4c0d379e90 up 2026-01-22 13:56:51 -05:00
Lizandro Guarnizo ff2fafa0bb up 2026-01-22 13:53:49 -05:00
Lizandro Guarnizo fcba5919a8 up 2026-01-22 11:29:24 -05:00
Lizandro Guarnizo 84e2d1d236 up 2026-01-22 11:25:32 -05:00
Lizandro Guarnizo 99bedaa5a6 up 2026-01-22 10:33:16 -05:00
Lizandro Guarnizo 2f6d377f7b up 2026-01-22 00:35:51 -05:00
Lizandro Guarnizo 5e345b951f up 2026-01-22 00:19:20 -05:00
Lizandro Guarnizo 32f5f580f7 up 2026-01-21 22:31:46 -05:00
Lizandro Guarnizo ab993302f9 up 2026-01-21 22:19:26 -05:00
lizandrogd d0e23742cb up 2026-01-21 15:45:23 -05:00
lizandrogd fccaa3b649 up 2026-01-21 11:17:36 -05:00
lizandrogd f6a62ce360 up 2026-01-21 10:38:01 -05:00