fix(historial): corregir SyntaxError por backtick/backslash en renderTabla

- esc() ahora escapa backticks (`) para evitar que nombres de paciente
  con backticks rompan el template literal
- onclick simplificado: eliminado .replace(/'/g,\\'\\\\\\'\\'') que era JS
  inválido (backslash fuera de string literal dentro de ${}); esc() ya
  convierte comillas simples a '

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-30 16:43:44 -05:00
co-authored by Claude Sonnet 4.6
parent 25bdf9aed2
commit 7e44fd4050
+2 -2
View File
@@ -255,7 +255,7 @@ let _state = {
// ── Utilidades ────────────────────────────────────────────────
const esc = s => (s == null ? '' : String(s))
.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;')
.replace(/"/g,'&quot;').replace(/'/g,'&#39;');
.replace(/"/g,'&quot;').replace(/'/g,'&#39;').replace(/`/g,'&#96;');
function hoy() { return new Date().toISOString().slice(0,10); }
function hace(n){ return new Date(Date.now()-n*86400000).toISOString().slice(0,10); }
@@ -467,7 +467,7 @@ function renderTabla(turnos) {
<i class="fas fa-chevron-down" style="font-size:.65rem"></i>
</button>
<button class="btn btn-sm btn-outline-warning py-0 px-2"
onclick="abrirModalEstado(${t.id}, '${t.estado}', '${nombre.replace(/'/g,\'\\\'')}')"
onclick="abrirModalEstado(${t.id}, '${t.estado}', '${nombre}')"
title="Cambiar estado">
<i class="fas fa-exchange-alt" style="font-size:.65rem"></i>
</button>