feat(turnero): UX audit improvements — lugar & recepcion

lugar.php:
- Bell button enlarged to 44×44px touch target
- Fecha nac. / Celular fields hidden from bacteriologist ficha
- Cancel button added to station-selector overlay; shows only when changing
- ESC key closes overlay when a station is already selected
- visibilitychange pauses polling when tab hidden, resumes on return

recepcion.php:
- Consent action buttons: padding 2px 8px → 5px 12px, font-size .72→.82rem
- Exam list: per-category select-all checkbox with indeterminate state support
- guardarSolicitud: auto-calls pasarALugar() when no consents required
- abrirModalPaciente: nome field auto-focused for both new and edit cases

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-04 13:46:32 -05:00
co-authored by Claude Sonnet 4.6
parent 69a6859b51
commit 53b483d51a
2 changed files with 69 additions and 16 deletions
+28 -4
View File
@@ -148,9 +148,9 @@ $adminNombre = $_SESSION['admin_user']['full_name'] ?? $_SESSION['admin_user']['
.card-bell-btn {
flex-shrink: 0; background: #2563eb; border: none; color: #fff;
border-radius: 8px; width: 34px; height: 34px;
border-radius: 10px; width: 44px; height: 44px;
display: flex; align-items: center; justify-content: center;
font-size: .82rem; cursor: pointer; transition: background .12s;
font-size: .95rem; cursor: pointer; transition: background .12s;
}
.card-bell-btn:hover { background: #1d4ed8; }
@@ -411,6 +411,11 @@ require_once __DIR__ . '/../../../shared/components/sidebar.php';
<button class="btn btn-primary w-100" onclick="confirmarLugar()">
<i class="fas fa-check me-1"></i>Confirmar
</button>
<button id="btn-cancelar-selector" class="btn btn-outline-secondary w-100 mt-2"
onclick="document.getElementById('overlay-selector').style.display='none'"
style="display:none">
<i class="fas fa-times me-1"></i>Cancelar
</button>
</div>
</div>
@@ -510,8 +515,8 @@ require_once __DIR__ . '/../../../shared/components/sidebar.php';
<div id="bloque-pac-info">
<div class="pac-dato"><span class="lbl">Nombre</span><span class="val" id="pac-nombre">—</span></div>
<div class="pac-dato"><span class="lbl">Documento</span><span class="val" id="pac-doc">—</span></div>
<div class="pac-dato"><span class="lbl">Fecha nac.</span><span class="val" id="pac-fec">—</span></div>
<div class="pac-dato"><span class="lbl">Celular</span><span class="val" id="pac-cel">—</span></div>
<div class="pac-dato d-none"><span class="lbl">Fecha nac.</span><span class="val" id="pac-fec">—</span></div>
<div class="pac-dato d-none"><span class="lbl">Celular</span><span class="val" id="pac-cel">—</span></div>
</div>
<div id="pac-embarazada" class="d-none mt-2">
<span class="badge text-bg-danger"><i class="fas fa-baby me-1"></i>Paciente embarazada</span>
@@ -707,6 +712,24 @@ function iniciarPuesto() {
recuperarTurnoActivo();
cargarCola();
pollingColaId = setInterval(cargarCola, 7000);
document.addEventListener('visibilitychange', () => {
if (document.hidden) {
clearInterval(pollingColaId);
clearInterval(pollingConsentId);
pollingColaId = pollingConsentId = null;
} else if (lugarId) {
cargarCola();
pollingColaId = setInterval(cargarCola, 7000);
}
});
document.addEventListener('keydown', e => {
if (e.key === 'Escape' && lugarId &&
document.getElementById('overlay-selector').style.display !== 'none') {
document.getElementById('overlay-selector').style.display = 'none';
}
});
}
async function recuperarTurnoActivo() {
@@ -735,6 +758,7 @@ function cambiarLugar() {
clearInterval(pollingConsentId);
turnoActivo = null;
resetFicha();
document.getElementById('btn-cancelar-selector').style.display = '';
document.getElementById('overlay-selector').style.display = 'flex';
}