This commit is contained in:
Lizandro Guarnizo
2026-04-21 16:03:42 -05:00
parent 8165f66ac0
commit abd28b730a
4 changed files with 75 additions and 46 deletions
+28 -15
View File
@@ -229,23 +229,29 @@ unset($p);
</div>
</div>
<!-- ══ PASO 2: Datos opcionales ════════════════════════════════ -->
<!-- ══ PASO 2: Datos del paciente ═══════════════════════════════ -->
<div id="screen-datos" class="screen hidden">
<div class="kiosko-header">
<div id="badge-prio" style="display:inline-block; padding:.5rem 1.4rem; border-radius:40px; font-size:1.2rem; font-weight:700; margin-bottom:1rem;"></div>
<h1>Datos de contacto</h1>
<p>Opcional — para notificaciones por WhatsApp</p>
<h1>Ingresa tu cédula</h1>
<p>Escribe tu número de documento de identidad</p>
</div>
<div class="form-kiosko">
<div class="mb-4">
<label for="inp-nombre">Nombre completo</label>
<input type="text" id="inp-nombre" class="form-control" placeholder="Ej: Juan Pérez" maxlength="120" autocomplete="off">
<label for="inp-cedula">Número de cédula <span style="color:#ef4444">*</span></label>
<input type="text" id="inp-cedula" class="form-control"
placeholder="Ej: 1234567890" maxlength="20"
autocomplete="off" inputmode="numeric">
</div>
<div class="mb-4">
<label for="inp-cel">Celular (WhatsApp)</label>
<input type="tel" id="inp-cel" class="form-control" placeholder="Ej: 3001234567" maxlength="20" autocomplete="off" inputmode="numeric">
<div class="hint">Incluya código de país si es diferente a Colombia (+57)</div>
<label for="inp-cel">WhatsApp
<span style="color:#64748b;font-size:.85rem;font-weight:400"> (opcional)</span>
</label>
<input type="tel" id="inp-cel" class="form-control"
placeholder="Ej: 3001234567" maxlength="20"
autocomplete="off" inputmode="numeric">
<div class="hint">Para recibir notificaciones de su turno</div>
</div>
<button class="btn-kiosko-main" onclick="confirmarTurno()">
<i class="fas fa-ticket-alt me-2"></i>Obtener mi turno
@@ -307,7 +313,7 @@ unset($p);
document.getElementById('badge-prio').style.background = prioColor;
mostrar('screen-datos');
document.getElementById('inp-nombre').focus();
document.getElementById('inp-cedula').focus();
}
function volverPrioridades() {
@@ -316,12 +322,19 @@ unset($p);
// ── Crear turno ───────────────────────────────────────────
async function confirmarTurno() {
const nombre = document.getElementById('inp-nombre').value.trim();
const cedula = document.getElementById('inp-cedula').value.trim();
const cel = document.getElementById('inp-cel').value.trim();
// Validación mínima de celular
if (!cedula) {
mostrarError('Por favor ingresa tu número de cédula.');
return;
}
if (!/^\d{5,15}$/.test(cedula)) {
mostrarError('La cédula debe contener solo dígitos (mínimo 5).');
return;
}
if (cel && !/^\+?\d{7,15}$/.test(cel.replace(/\s/g, ''))) {
mostrarError('Ingrese un número de celular válido (solo dígitos).');
mostrarError('Ingresa un número de WhatsApp válido.');
return;
}
@@ -333,8 +346,8 @@ unset($p);
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
prioridad_codigo: prioCodigo,
paciente_nombre: nombre || null,
paciente_cel: cel || null,
paciente_nombre: cedula, // se guarda como referencia de identificación
paciente_cel: cel || null,
}),
});
@@ -372,7 +385,7 @@ unset($p);
// ── Reinicio ──────────────────────────────────────────────
function reiniciar() {
clearTimeout(window._reinicioTimer);
document.getElementById('inp-nombre').value = '';
document.getElementById('inp-cedula').value = '';
document.getElementById('inp-cel').value = '';
prioCodigo = prioNombre = prioColor = '';
mostrar('screen-prio');